Skip to content

Commit 9311a7a

Browse files
feat: support for the enforce attribute in the s_sl_info block for the google_apigee_target_server (#13841) (#22594)
[upstream:c0448273f2dc38937084e7f3fa2e6f573b6f7b88] Signed-off-by: Modular Magician <[email protected]>
1 parent 10cafcf commit 9311a7a

File tree

5 files changed

+32
-0
lines changed

5 files changed

+32
-0
lines changed

.changelog/13841.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
apigee: added `s_sl_info.enforce` field in `google_apigee_target_server` resource
3+
```

google/services/apigee/resource_apigee_target_server.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,11 @@ in the format 'organizations/{{org_name}}/environments/{{env_name}}'.`,
138138
},
139139
},
140140
},
141+
"enforce": {
142+
Type: schema.TypeBool,
143+
Optional: true,
144+
Description: `If true, TLS is strictly enforced.`,
145+
},
141146
"ignore_validation_errors": {
142147
Type: schema.TypeBool,
143148
Optional: true,
@@ -531,6 +536,8 @@ func flattenApigeeTargetServerSSLInfo(v interface{}, d *schema.ResourceData, con
531536
flattenApigeeTargetServerSSLInfoCiphers(original["ciphers"], d, config)
532537
transformed["common_name"] =
533538
flattenApigeeTargetServerSSLInfoCommonName(original["commonName"], d, config)
539+
transformed["enforce"] =
540+
flattenApigeeTargetServerSSLInfoEnforce(original["enforce"], d, config)
534541
return []interface{}{transformed}
535542
}
536543
func flattenApigeeTargetServerSSLInfoEnabled(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
@@ -588,6 +595,10 @@ func flattenApigeeTargetServerSSLInfoCommonNameWildcardMatch(v interface{}, d *s
588595
return v
589596
}
590597

598+
func flattenApigeeTargetServerSSLInfoEnforce(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
599+
return v
600+
}
601+
591602
func flattenApigeeTargetServerProtocol(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
592603
return v
593604
}
@@ -684,6 +695,13 @@ func expandApigeeTargetServerSSLInfo(v interface{}, d tpgresource.TerraformResou
684695
transformed["commonName"] = transformedCommonName
685696
}
686697

698+
transformedEnforce, err := expandApigeeTargetServerSSLInfoEnforce(original["enforce"], d, config)
699+
if err != nil {
700+
return nil, err
701+
} else if val := reflect.ValueOf(transformedEnforce); val.IsValid() && !tpgresource.IsEmptyValue(val) {
702+
transformed["enforce"] = transformedEnforce
703+
}
704+
687705
return transformed, nil
688706
}
689707

@@ -753,6 +771,10 @@ func expandApigeeTargetServerSSLInfoCommonNameWildcardMatch(v interface{}, d tpg
753771
return v, nil
754772
}
755773

774+
func expandApigeeTargetServerSSLInfoEnforce(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
775+
return v, nil
776+
}
777+
756778
func expandApigeeTargetServerProtocol(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
757779
return v, nil
758780
}

google/services/apigee/resource_apigee_target_server_generated_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ fields:
1818
- field: 's_sl_info.common_name.value'
1919
- field: 's_sl_info.common_name.wildcard_match'
2020
- field: 's_sl_info.enabled'
21+
- field: 's_sl_info.enforce'
2122
- field: 's_sl_info.ignore_validation_errors'
2223
- field: 's_sl_info.key_alias'
2324
- field: 's_sl_info.key_store'

google/services/apigee/resource_apigee_target_server_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ resource "google_apigee_target_server" "apigee_target_server"{
355355
key_store = google_apigee_env_keystore.apigee_environment_keystore.name
356356
protocols = ["TLSv1.1"]
357357
trust_store = google_apigee_env_keystore.apigee_environment_keystore.name
358+
enforce = false
358359
common_name{
359360
value = "testCn"
360361
wildcard_match = true
@@ -470,6 +471,7 @@ resource "google_apigee_target_server" "apigee_target_server"{
470471
key_store = google_apigee_env_keystore.apigee_environment_keystore2.name
471472
protocols = ["TLSv1.2", "TLSv1.1"]
472473
trust_store = google_apigee_env_keystore.apigee_environment_keystore2.name
474+
enforce = true
473475
}
474476
depends_on = [
475477
google_apigee_env_keystore.apigee_environment_keystore2,

website/docs/r/apigee_target_server.html.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,10 @@ The following arguments are supported:
192192
The TLS Common Name of the certificate.
193193
Structure is [documented below](#nested_s_sl_info_common_name).
194194

195+
* `enforce` -
196+
(Optional)
197+
If true, TLS is strictly enforced.
198+
195199

196200
<a name="nested_s_sl_info_common_name"></a>The `common_name` block supports:
197201

0 commit comments

Comments
 (0)