Skip to content

Commit 0fab86c

Browse files
authored
fix: Avoids 0 itemsPerPage and pageNum when the args are missing in plural data sources (#3459)
* chore: Add windsurf ignore * fix: Standardizes API params with WithParams pattern and IntPtr conversion * chore: Adds changelog file * refactor: use ListBackupExportJobsWithParams for export job listing
1 parent 67ad635 commit 0fab86c

File tree

8 files changed

+51
-16
lines changed

8 files changed

+51
-16
lines changed

.changelog/3459.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
```release-note:bug
2+
data-source/mongodbatlas_cloud_backup_snapshots: Fix pagination when `items_per_page` or `page_num` are not set
3+
```
4+
5+
```release-note:bug
6+
data-source/mongodbatlas_cloud_backup_snapshot_export_buckets: Fix pagination when `items_per_page` or `page_num` are not set
7+
```
8+
9+
```release-note:bug
10+
data-source/mongodbatlas_cloud_backup_snapshot_restore_jobs: Fix pagination when `items_per_page` or `page_num` are not set
11+
```
12+
13+
```release-note:bug
14+
data-source/mongodbatlas_federated_settings_org_configs: Fix pagination when `items_per_page` or `page_num` are not set
15+
```
16+
17+
```release-note:bug
18+
data-source/mongodbatlas_organizations: Fix pagination when `items_per_page` or `page_num` are not set
19+
```
20+
21+
```release-note:bug
22+
data-source/mongodbatlas_cloud_backup_snapshot_export_jobs: Fix pagination when `items_per_page` or `page_num` are not set
23+
```

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ bin
33
.DS_Store
44
.idea
55
.vscode
6+
.windsurf
67
*.env
78
*.bak
89
*.log

internal/service/cloudbackupsnapshot/data_source_cloud_backup_snapshots.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ func dataSourcePluralRead(ctx context.Context, d *schema.ResourceData, meta any)
129129
params := &admin.ListReplicaSetBackupsApiParams{
130130
GroupId: d.Get("project_id").(string),
131131
ClusterName: d.Get("cluster_name").(string),
132-
PageNum: conversion.Pointer(d.Get("page_num").(int)),
133-
ItemsPerPage: conversion.Pointer(d.Get("items_per_page").(int)),
132+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
133+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
134134
}
135135

136136
snapshots, _, err := connV2.CloudBackupsApi.ListReplicaSetBackupsWithParams(ctx, params).Execute()

internal/service/cloudbackupsnapshotexportbucket/data_source_cloud_backup_snapshot_export_buckets.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1111

1212
"github.com/mongodb/terraform-provider-mongodbatlas/internal/common/constant"
13+
"github.com/mongodb/terraform-provider-mongodbatlas/internal/common/conversion"
1314
"github.com/mongodb/terraform-provider-mongodbatlas/internal/config"
1415
)
1516

@@ -78,10 +79,13 @@ func dataSourceRead(ctx context.Context, d *schema.ResourceData, meta any) diag.
7879
conn := meta.(*config.MongoDBClient).AtlasV2
7980

8081
projectID := d.Get("project_id").(string)
81-
itemsPerPage := d.Get("items_per_page").(int)
82-
pageNum := d.Get("page_num").(int)
82+
request := admin.ListExportBucketsApiParams{
83+
GroupId: projectID,
84+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
85+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
86+
}
8387

84-
buckets, _, err := conn.CloudBackupsApi.ListExportBuckets(ctx, projectID).ItemsPerPage(itemsPerPage).PageNum(pageNum).Execute()
88+
buckets, _, err := conn.CloudBackupsApi.ListExportBucketsWithParams(ctx, &request).Execute()
8589
if err != nil {
8690
return diag.Errorf("error getting CloudProviderSnapshotExportBuckets information: %s", err)
8791
}

internal/service/cloudbackupsnapshotexportjob/data_source_cloud_backup_snapshot_export_jobs.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,14 @@ func dataSourceRead(ctx context.Context, d *schema.ResourceData, meta any) diag.
119119

120120
projectID := d.Get("project_id").(string)
121121
clusterName := d.Get("cluster_name").(string)
122-
pageNum := d.Get("page_num").(int)
123-
itemsPerPage := d.Get("items_per_page").(int)
122+
request := admin.ListBackupExportJobsApiParams{
123+
GroupId: projectID,
124+
ClusterName: clusterName,
125+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
126+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
127+
}
124128

125-
jobs, _, err := connV2.CloudBackupsApi.ListBackupExportJobs(ctx, projectID, clusterName).PageNum(pageNum).ItemsPerPage(itemsPerPage).Execute()
129+
jobs, _, err := connV2.CloudBackupsApi.ListBackupExportJobsWithParams(ctx, &request).Execute()
126130
if err != nil {
127131
return diag.Errorf("error getting CloudProviderSnapshotExportJobs information: %s", err)
128132
}

internal/service/cloudbackupsnapshotrestorejob/data_source_cloud_backup_snapshot_restore_jobs.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,13 @@ func dataSourcePluralRead(ctx context.Context, d *schema.ResourceData, meta any)
116116

117117
projectID := d.Get("project_id").(string)
118118
clusterName := d.Get("cluster_name").(string)
119-
pageNum := d.Get("page_num").(int)
120-
itermsPerPage := d.Get("items_per_page").(int)
121-
122-
cloudProviderSnapshotRestoreJobs, _, err := conn.CloudBackupsApi.ListBackupRestoreJobs(ctx, projectID, clusterName).PageNum(pageNum).ItemsPerPage(itermsPerPage).Execute()
119+
params := &admin.ListBackupRestoreJobsApiParams{
120+
GroupId: projectID,
121+
ClusterName: clusterName,
122+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
123+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
124+
}
125+
cloudProviderSnapshotRestoreJobs, _, err := conn.CloudBackupsApi.ListBackupRestoreJobsWithParams(ctx, params).Execute()
123126
if err != nil {
124127
return diag.FromErr(fmt.Errorf("error getting cloudProviderSnapshotRestoreJobs information: %s", err))
125128
}

internal/service/federatedsettingsorgconfig/data_source_federated_settings_connected_orgs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ func dataSourcePluralRead(ctx context.Context, d *schema.ResourceData, meta any)
123123

124124
params := &admin.ListConnectedOrgConfigsApiParams{
125125
FederationSettingsId: federationSettingsID.(string),
126-
PageNum: conversion.Pointer(d.Get("page_num").(int)),
127-
ItemsPerPage: conversion.Pointer(d.Get("items_per_page").(int)),
126+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
127+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
128128
}
129129

130130
federatedSettingsConnectedOrganizations, _, err := conn.FederatedAuthenticationApi.ListConnectedOrgConfigsWithParams(ctx, params).Execute()

internal/service/organization/data_source_organizations.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ func pluralDataSourceRead(ctx context.Context, d *schema.ResourceData, meta any)
102102
conn := meta.(*config.MongoDBClient).AtlasV2
103103

104104
organizationOptions := &admin.ListOrganizationsApiParams{
105-
PageNum: conversion.Pointer(d.Get("page_num").(int)),
106-
ItemsPerPage: conversion.Pointer(d.Get("items_per_page").(int)),
105+
PageNum: conversion.IntPtr(d.Get("page_num").(int)),
106+
ItemsPerPage: conversion.IntPtr(d.Get("items_per_page").(int)),
107107
Name: conversion.Pointer(d.Get("name").(string)),
108108
}
109109

0 commit comments

Comments
 (0)