Skip to content

Commit c3c13a1

Browse files
rcohenmadshelbyo
authored andcommitted
conforming load balancer resources to standardized pattern
1 parent 67e21c2 commit c3c13a1

23 files changed

+143
-91
lines changed

oci/audit_audit_event_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var (
2121
AuditEventResourceConfig = ""
2222
)
2323

24-
func TestAuditEventResource_basic(t *testing.T) {
24+
func TestAuditAuditEventResource_basic(t *testing.T) {
2525
provider := testAccProvider
2626
config := testProviderConfig()
2727

oci/load_balancer_backend_resource.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,10 @@ func (s *BackendResourceCrud) Get() error {
268268
}
269269

270270
if !strings.HasPrefix(s.D.Id(), "ocid1.loadbalancerworkrequest.") {
271-
backendName, backendSetName, loadBalancerId, err := parseBackendCompositeId(s.D.Id())
271+
backendName, backendsetName, loadBalancerId, err := parseBackendCompositeId(s.D.Id())
272272
if err == nil {
273273
request.BackendName = &backendName
274-
request.BackendSetName = &backendSetName
274+
request.BackendSetName = &backendsetName
275275
request.LoadBalancerId = &loadBalancerId
276276
} else {
277277
log.Printf("[WARN] Get() unable to parse current ID: %s", s.D.Id())
@@ -385,7 +385,6 @@ func (s *BackendResourceCrud) Delete() error {
385385
return err
386386
}
387387
s.WorkRequest = &workRequestResponse.WorkRequest
388-
s.D.SetId(*workReqID)
389388
err = LoadBalancerWaitForWorkRequest(s.Client, s.D, s.WorkRequest, getRetryPolicy(s.DisableNotFoundRetries, "load_balancer"))
390389
if err != nil {
391390
return err
@@ -398,10 +397,10 @@ func (s *BackendResourceCrud) SetData() error {
398397
return nil
399398
}
400399

401-
backendName, backendSetName, loadBalancerId, err := parseBackendCompositeId(s.D.Id())
400+
backendName, backendsetName, loadBalancerId, err := parseBackendCompositeId(s.D.Id())
402401
if err == nil {
403402
s.D.Set("name", &backendName)
404-
s.D.Set("backendset_name", &backendSetName)
403+
s.D.Set("backendset_name", &backendsetName)
405404
s.D.Set("load_balancer_id", &loadBalancerId)
406405
} else {
407406
log.Printf("[WARN] SetData() unable to parse current ID: %s", s.D.Id())
@@ -438,23 +437,23 @@ func (s *BackendResourceCrud) SetData() error {
438437
return nil
439438
}
440439

441-
func getBackendCompositeId(backendName string, backendSetName string, loadBalancerId string) string {
440+
func getBackendCompositeId(backendName string, backendsetName string, loadBalancerId string) string {
442441
backendName = url.PathEscape(backendName)
443-
backendSetName = url.PathEscape(backendSetName)
442+
backendsetName = url.PathEscape(backendsetName)
444443
loadBalancerId = url.PathEscape(loadBalancerId)
445-
compositeId := "loadBalancers/" + loadBalancerId + "/backendSets/" + backendSetName + "/backends/" + backendName
444+
compositeId := "loadBalancers/" + loadBalancerId + "/backendSets/" + backendsetName + "/backends/" + backendName
446445
return compositeId
447446
}
448447

449-
func parseBackendCompositeId(compositeId string) (backendName string, backendSetName string, loadBalancerId string, err error) {
448+
func parseBackendCompositeId(compositeId string) (backendName string, backendsetName string, loadBalancerId string, err error) {
450449
parts := strings.Split(compositeId, "/")
451450
match, _ := regexp.MatchString("loadBalancers/.*/backendSets/.*/backends/.*", compositeId)
452451
if !match || len(parts) != 6 {
453452
err = fmt.Errorf("illegal compositeId %s encountered", compositeId)
454453
return
455454
}
456455
loadBalancerId, _ = url.PathUnescape(parts[1])
457-
backendSetName, _ = url.PathUnescape(parts[3])
456+
backendsetName, _ = url.PathUnescape(parts[3])
458457
backendName, _ = url.PathUnescape(parts[5])
459458

460459
return

oci/load_balancer_backend_set_resource.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,9 @@ func (s *BackendSetResourceCrud) Update() error {
529529
}
530530

531531
func (s *BackendSetResourceCrud) Delete() error {
532+
if strings.Contains(s.D.Id(), "ocid1.loadbalancerworkrequest") {
533+
return nil
534+
}
532535
request := oci_load_balancer.DeleteBackendSetRequest{}
533536

534537
if backendSetName, ok := s.D.GetOkExists("name"); ok {

oci/load_balancer_backend_set_test.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ var (
1919

2020
backendSetDataSourceRepresentation = map[string]interface{}{
2121
"load_balancer_id": Representation{repType: Required, create: `${oci_load_balancer_load_balancer.test_load_balancer.id}`},
22+
"filter": RepresentationGroup{Required, backendSetDataSourceFilterRepresentation}}
23+
backendSetDataSourceFilterRepresentation = map[string]interface{}{
24+
"name": Representation{repType: Required, create: `name`},
25+
"values": Representation{repType: Required, create: []string{`${oci_load_balancer_backend_set.test_backend_set.name}`}},
2226
}
2327

2428
backendSetRepresentation = map[string]interface{}{
@@ -29,7 +33,6 @@ var (
2933
"session_persistence_configuration": RepresentationGroup{Optional, backendSetSessionPersistenceConfigurationRepresentation},
3034
"ssl_configuration": RepresentationGroup{Optional, backendSetSslConfigurationRepresentation},
3135
}
32-
3336
backendSetHealthCheckerRepresentation = map[string]interface{}{
3437
"protocol": Representation{repType: Required, create: `HTTP`},
3538
"interval_ms": Representation{repType: Optional, create: `1000`, update: `2000`},
@@ -40,20 +43,18 @@ var (
4043
"timeout_in_millis": Representation{repType: Optional, create: `10000`, update: `11`},
4144
"url_path": Representation{repType: Required, create: `/healthcheck`, update: `urlPath2`},
4245
}
43-
4446
backendSetSessionPersistenceConfigurationRepresentation = map[string]interface{}{
4547
"cookie_name": Representation{repType: Required, create: `example_cookie`},
4648
"disable_fallback": Representation{repType: Optional, create: `false`, update: `true`},
4749
}
48-
4950
backendSetSslConfigurationRepresentation = map[string]interface{}{
50-
"certificate_name": Representation{repType: Required, create: `${oci_load_balancer_certificate.t.certificate_name}`},
51+
"certificate_name": Representation{repType: Required, create: `${oci_load_balancer_certificate.test_certificate.certificate_name}`},
5152
"verify_depth": Representation{repType: Optional, create: `6`},
5253
"verify_peer_certificate": Representation{repType: Optional, create: `false`},
5354
}
5455

5556
BackendSetResourceDependencies = `
56-
resource "oci_load_balancer_certificate" "t" {
57+
resource "oci_load_balancer_certificate" "test_certificate" {
5758
load_balancer_id = "${oci_load_balancer_load_balancer.test_load_balancer.id}"
5859
ca_certificate = "-----BEGIN CERTIFICATE-----\nMIIBNzCB4gIJAKtwJkxUgNpzMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAoTGElu\ndGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0xNzA0MTIyMTU3NTZaFw0xODA0MTIy\nMTU3NTZaMCMxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDBcMA0G\nCSqGSIb3DQEBAQUAA0sAMEgCQQDlM8lz3BFJA6zBlsF63k9ajPVq3Q1WQoHQ3j35\n08DRKIfwqfV+CxL63W3dZrwL4TrjqorP5CQ36+I6OWALH2zVAgMBAAEwDQYJKoZI\nhvcNAQELBQADQQCEjHVQJoiiVpIIvDWF+4YDRReVuwzrvq2xduWw7CIsDWlYuGZT\nQKVY6tnTy2XpoUk0fqUvMB/M2HGQ1WqZGHs6\n-----END CERTIFICATE-----"
5960
certificate_name = "example_certificate_bundle"
@@ -126,7 +127,7 @@ func TestLoadBalancerBackendSetResource_basic(t *testing.T) {
126127
resource.TestCheckResourceAttr(resourceName, "session_persistence_configuration.0.cookie_name", "example_cookie"),
127128
resource.TestCheckResourceAttr(resourceName, "session_persistence_configuration.0.disable_fallback", "false"),
128129
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.#", "1"),
129-
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.certificate_name", "example_certificate_bundle"),
130+
resource.TestCheckResourceAttrSet(resourceName, "ssl_configuration.0.certificate_name"),
130131
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_depth", "6"),
131132
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_peer_certificate", "false"),
132133

@@ -158,7 +159,7 @@ func TestLoadBalancerBackendSetResource_basic(t *testing.T) {
158159
resource.TestCheckResourceAttr(resourceName, "session_persistence_configuration.0.cookie_name", "example_cookie"),
159160
resource.TestCheckResourceAttr(resourceName, "session_persistence_configuration.0.disable_fallback", "true"),
160161
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.#", "1"),
161-
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.certificate_name", "example_certificate_bundle"),
162+
resource.TestCheckResourceAttrSet(resourceName, "ssl_configuration.0.certificate_name"),
162163
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_depth", "6"),
163164
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_peer_certificate", "false"),
164165

@@ -196,7 +197,7 @@ func TestLoadBalancerBackendSetResource_basic(t *testing.T) {
196197
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.session_persistence_configuration.0.cookie_name", "example_cookie"),
197198
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.session_persistence_configuration.0.disable_fallback", "true"),
198199
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.ssl_configuration.#", "1"),
199-
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.ssl_configuration.0.certificate_name", "example_certificate_bundle"),
200+
resource.TestCheckResourceAttrSet(datasourceName, "backendsets.0.ssl_configuration.0.certificate_name"),
200201
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.ssl_configuration.0.verify_depth", "6"),
201202
resource.TestCheckResourceAttr(datasourceName, "backendsets.0.ssl_configuration.0.verify_peer_certificate", "false"),
202203
),

oci/load_balancer_backend_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ var (
2020
backendDataSourceRepresentation = map[string]interface{}{
2121
"backendset_name": Representation{repType: Required, create: `${oci_load_balancer_backend_set.test_backend_set.name}`},
2222
"load_balancer_id": Representation{repType: Required, create: `${oci_load_balancer_load_balancer.test_load_balancer.id}`},
23+
"filter": RepresentationGroup{Required, backendDataSourceFilterRepresentation}}
24+
backendDataSourceFilterRepresentation = map[string]interface{}{
25+
"name": Representation{repType: Required, create: `name`},
26+
"values": Representation{repType: Required, create: []string{`${oci_load_balancer_backend.test_backend.name}`}},
2327
}
2428

2529
backendRepresentation = map[string]interface{}{
@@ -60,7 +64,7 @@ func TestLoadBalancerBackendResource_basic(t *testing.T) {
6064
Config: config + compartmentIdVariableStr + BackendResourceDependencies +
6165
generateResourceFromRepresentationMap("oci_load_balancer_backend", "test_backend", Required, Create, backendRepresentation),
6266
Check: resource.ComposeAggregateTestCheckFunc(
63-
resource.TestCheckResourceAttr(resourceName, "backendset_name", "backendSet1"),
67+
resource.TestCheckResourceAttrSet(resourceName, "backendset_name"),
6468
resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.3"),
6569
resource.TestCheckResourceAttrSet(resourceName, "load_balancer_id"),
6670
resource.TestCheckResourceAttr(resourceName, "port", "10"),
@@ -81,7 +85,7 @@ func TestLoadBalancerBackendResource_basic(t *testing.T) {
8185
Config: config + compartmentIdVariableStr + BackendResourceDependencies +
8286
generateResourceFromRepresentationMap("oci_load_balancer_backend", "test_backend", Optional, Create, backendRepresentation),
8387
Check: resource.ComposeAggregateTestCheckFunc(
84-
resource.TestCheckResourceAttr(resourceName, "backendset_name", "backendSet1"),
88+
resource.TestCheckResourceAttrSet(resourceName, "backendset_name"),
8589
resource.TestCheckResourceAttr(resourceName, "backup", "false"),
8690
resource.TestCheckResourceAttr(resourceName, "drain", "false"),
8791
resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.3"),
@@ -103,7 +107,7 @@ func TestLoadBalancerBackendResource_basic(t *testing.T) {
103107
Config: config + compartmentIdVariableStr + BackendResourceDependencies +
104108
generateResourceFromRepresentationMap("oci_load_balancer_backend", "test_backend", Optional, Update, backendRepresentation),
105109
Check: resource.ComposeAggregateTestCheckFunc(
106-
resource.TestCheckResourceAttr(resourceName, "backendset_name", "backendSet1"),
110+
resource.TestCheckResourceAttrSet(resourceName, "backendset_name"),
107111
resource.TestCheckResourceAttr(resourceName, "backup", "true"),
108112
resource.TestCheckResourceAttr(resourceName, "drain", "true"),
109113
resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.3"),
@@ -129,7 +133,7 @@ func TestLoadBalancerBackendResource_basic(t *testing.T) {
129133
compartmentIdVariableStr + BackendResourceDependencies +
130134
generateResourceFromRepresentationMap("oci_load_balancer_backend", "test_backend", Optional, Update, backendRepresentation),
131135
Check: resource.ComposeAggregateTestCheckFunc(
132-
resource.TestCheckResourceAttr(datasourceName, "backendset_name", "backendSet1"),
136+
resource.TestCheckResourceAttrSet(datasourceName, "backendset_name"),
133137
resource.TestCheckResourceAttrSet(datasourceName, "load_balancer_id"),
134138

135139
resource.TestCheckResourceAttr(datasourceName, "backends.#", "1"),

oci/load_balancer_certificate_resource.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,6 @@ func (s *CertificateResourceCrud) Delete() error {
251251
response, err := s.Client.DeleteCertificate(context.Background(), request)
252252

253253
workReqID := response.OpcWorkRequestId
254-
s.D.SetId(*workReqID)
255254
getWorkRequestRequest := oci_load_balancer.GetWorkRequestRequest{}
256255
getWorkRequestRequest.WorkRequestId = workReqID
257256
getWorkRequestRequest.RequestMetadata.RetryPolicy = getRetryPolicy(s.DisableNotFoundRetries, "load_balancer")
@@ -268,7 +267,20 @@ func (s *CertificateResourceCrud) Delete() error {
268267
}
269268

270269
func (s *CertificateResourceCrud) SetData() error {
271-
// Noop for this resource
270+
if s.Res == nil {
271+
return nil
272+
}
273+
if s.Res.CaCertificate != nil {
274+
s.D.Set("ca_certificate", *s.Res.CaCertificate)
275+
}
276+
277+
if s.Res.CertificateName != nil {
278+
s.D.Set("certificate_name", *s.Res.CertificateName)
279+
}
280+
281+
if s.Res.PublicCertificate != nil {
282+
s.D.Set("public_certificate", *s.Res.PublicCertificate)
283+
}
272284

273285
return nil
274286
}

oci/load_balancer_listener_resource.go

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -374,16 +374,17 @@ func (s *ListenerResourceCrud) Update() error {
374374
}
375375
request.HostnameNames = tmp
376376
}
377+
378+
if listenerName, ok := s.D.GetOkExists("name"); ok {
379+
tmp := listenerName.(string)
380+
request.ListenerName = &tmp
381+
}
382+
377383
if loadBalancerId, ok := s.D.GetOkExists("load_balancer_id"); ok {
378384
tmp := loadBalancerId.(string)
379385
request.LoadBalancerId = &tmp
380386
}
381387

382-
if name, ok := s.D.GetOkExists("name"); ok {
383-
tmp := name.(string)
384-
request.ListenerName = &tmp
385-
}
386-
387388
if pathRouteSetName, ok := s.D.GetOkExists("path_route_set_name"); ok {
388389
tmp := pathRouteSetName.(string)
389390
request.PathRouteSetName = &tmp
@@ -440,15 +441,16 @@ func (s *ListenerResourceCrud) Delete() error {
440441
}
441442
request := oci_load_balancer.DeleteListenerRequest{}
442443

444+
if listenerName, ok := s.D.GetOkExists("name"); ok {
445+
tmp := listenerName.(string)
446+
request.ListenerName = &tmp
447+
}
448+
443449
if loadBalancerId, ok := s.D.GetOkExists("load_balancer_id"); ok {
444450
tmp := loadBalancerId.(string)
445451
request.LoadBalancerId = &tmp
446452
}
447453

448-
if name, ok := s.D.GetOkExists("name"); ok {
449-
tmp := name.(string)
450-
request.ListenerName = &tmp
451-
}
452454
request.RequestMetadata.RetryPolicy = getRetryPolicy(s.DisableNotFoundRetries, "load_balancer")
453455

454456
response, err := s.Client.DeleteListener(context.Background(), request)
@@ -473,6 +475,7 @@ func (s *ListenerResourceCrud) SetData() error {
473475
if s.Res == nil {
474476
return nil
475477
}
478+
476479
listenerName, loadBalancerId, err := parseListenerCompositeId(s.D.Id())
477480
if err == nil {
478481
s.D.Set("name", &listenerName)
@@ -512,6 +515,7 @@ func (s *ListenerResourceCrud) SetData() error {
512515

513516
return nil
514517
}
518+
515519
func getListenerCompositeId(listenerName string, loadBalancerId string) string {
516520
listenerName = url.PathEscape(listenerName)
517521
loadBalancerId = url.PathEscape(loadBalancerId)

oci/load_balancer_listener_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func TestLoadBalancerListenerResource_basic(t *testing.T) {
112112
resource.TestCheckResourceAttr(resourceName, "port", "10"),
113113
resource.TestCheckResourceAttr(resourceName, "protocol", "HTTP"),
114114
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.#", "1"),
115-
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.certificate_name", "example_certificate_bundle"),
115+
resource.TestCheckResourceAttrSet(resourceName, "ssl_configuration.0.certificate_name"),
116116
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_depth", "10"),
117117
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_peer_certificate", "false"),
118118

@@ -135,11 +135,11 @@ func TestLoadBalancerListenerResource_basic(t *testing.T) {
135135
resource.TestCheckResourceAttr(resourceName, "hostname_names.0", "example_hostname_001"),
136136
resource.TestCheckResourceAttrSet(resourceName, "load_balancer_id"),
137137
resource.TestCheckResourceAttr(resourceName, "name", "mylistener"),
138-
resource.TestCheckResourceAttr(resourceName, "path_route_set_name", "example_path_route_set"),
138+
resource.TestCheckResourceAttrSet(resourceName, "path_route_set_name"),
139139
resource.TestCheckResourceAttr(resourceName, "port", "11"),
140140
resource.TestCheckResourceAttr(resourceName, "protocol", "HTTP"),
141141
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.#", "1"),
142-
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.certificate_name", "example_certificate_bundle"),
142+
resource.TestCheckResourceAttrSet(resourceName, "ssl_configuration.0.certificate_name"),
143143
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_depth", "11"),
144144
resource.TestCheckResourceAttr(resourceName, "ssl_configuration.0.verify_peer_certificate", "true"),
145145

oci/load_balancer_load_balancer_health_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ func TestLoadBalancerLoadBalancerHealthResource_basic(t *testing.T) {
4646
resource.TestCheckResourceAttrSet(singularDatasourceName, "status"),
4747
resource.TestCheckResourceAttrSet(singularDatasourceName, "total_backend_set_count"),
4848
resource.TestCheckResourceAttrSet(singularDatasourceName, "unknown_state_backend_set_names.#"),
49-
resource.TestCheckResourceAttr(singularDatasourceName, "unknown_state_backend_set_names.0", "backendSet1"),
5049
resource.TestCheckResourceAttrSet(singularDatasourceName, "warning_state_backend_set_names.#"),
5150
),
5251
ExpectNonEmptyPlan: true,

0 commit comments

Comments
 (0)