Skip to content

Commit c0cfa28

Browse files
ccushingrcohenma
authored andcommitted
* add datasource pagination
* improve example output
1 parent 55195ca commit c0cfa28

File tree

6 files changed

+32
-4
lines changed

6 files changed

+32
-4
lines changed

docs/examples/dns/records.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ data "oci_dns_records" "rs" {
7373
# optional
7474
compartment_id = "${var.compartment_id}"
7575
domain = "${oci_dns_zone.zone1.name}"
76-
rtype = "NS"
77-
sort_by = "ttl" # domain|rtype|ttl
76+
sort_by = "rtype" # domain|rtype|ttl
7877
sort_order = "DESC" # ASC|DESC
7978
}
8079

docs/examples/dns/zone.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ resource "oci_dns_zone" "zone2" {
3636

3737
data "oci_dns_zones" "zs" {
3838
compartment_id = "${var.compartment_id}"
39-
name_contains = "oci-test"
39+
name_contains = "example"
4040
state = "ACTIVE"
4141
zone_type = "PRIMARY"
4242
sort_by = "name" # name|zoneType|timeCreated

provider/dns_record_resource.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"context"
1414

1515
"github.com/hashicorp/terraform/helper/schema"
16+
1617
"github.com/oracle/terraform-provider-oci/crud"
1718

1819
"fmt"

provider/dns_records_data_source.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
"github.com/hashicorp/terraform/helper/schema"
99
oci_dns "github.com/oracle/oci-go-sdk/dns"
10+
1011
"github.com/oracle/terraform-provider-oci/crud"
1112
)
1213

@@ -124,12 +125,24 @@ func (s *RecordsDataSourceCrud) Get() error {
124125
}
125126

126127
request.RequestMetadata.RetryPolicy = getRetryPolicy(false, "dns")
128+
127129
response, err := s.Client.GetZoneRecords(context.Background(), request)
128130
if err != nil {
129131
return err
130132
}
131133

132134
s.Res = &response
135+
request.Page = s.Res.OpcNextPage
136+
137+
for request.Page != nil {
138+
listResponse, err := s.Client.GetZoneRecords(context.Background(), request)
139+
if err != nil {
140+
return err
141+
}
142+
143+
s.Res.Items = append(s.Res.Items, listResponse.Items...)
144+
request.Page = listResponse.OpcNextPage
145+
}
133146
return nil
134147
}
135148

provider/dns_zone_resource.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
oci_dns "github.com/oracle/oci-go-sdk/dns"
1010

1111
"github.com/hashicorp/terraform/helper/validation"
12+
1213
"github.com/oracle/terraform-provider-oci/crud"
1314
)
1415

provider/dns_zones_data_source.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ package provider
55
import (
66
"context"
77

8+
"time"
9+
810
"github.com/hashicorp/terraform/helper/schema"
911
oci_common "github.com/oracle/oci-go-sdk/common"
1012
oci_dns "github.com/oracle/oci-go-sdk/dns"
13+
1114
"github.com/oracle/terraform-provider-oci/crud"
12-
"time"
1315
)
1416

1517
func ZonesDataSource() *schema.Resource {
@@ -140,12 +142,24 @@ func (s *ZonesDataSourceCrud) Get() error {
140142
}
141143

142144
request.RequestMetadata.RetryPolicy = getRetryPolicy(false, "dns")
145+
143146
response, err := s.Client.ListZones(context.Background(), request)
144147
if err != nil {
145148
return err
146149
}
147150

148151
s.Res = &response
152+
request.Page = s.Res.OpcNextPage
153+
154+
for request.Page != nil {
155+
listResponse, err := s.Client.ListZones(context.Background(), request)
156+
if err != nil {
157+
return err
158+
}
159+
160+
s.Res.Items = append(s.Res.Items, listResponse.Items...)
161+
request.Page = listResponse.OpcNextPage
162+
}
149163
return nil
150164
}
151165

0 commit comments

Comments
 (0)