Skip to content

Commit 394a8a2

Browse files
modular-magicianmegan07
authored andcommitted
revert changes as they're a breaking change and fields will need to be added instead (#6600) (#4715)
Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
1 parent aa1764f commit 394a8a2

File tree

6 files changed

+98
-76
lines changed

6 files changed

+98
-76
lines changed

.changelog/6600.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:none
2+
3+
```

google-beta/resource_certificate_manager_certificate.go

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,21 +184,22 @@ certificates before they expire remains the user's responsibility.`,
184184
MaxItems: 1,
185185
Elem: &schema.Resource{
186186
Schema: map[string]*schema.Schema{
187-
"pem_certificate": {
187+
"certificate_pem": {
188188
Type: schema.TypeString,
189189
Required: true,
190190
Description: `The certificate chain in PEM-encoded form.
191191
192192
Leaf certificate comes first, followed by intermediate ones if any.`,
193+
Sensitive: true,
193194
},
194-
"pem_private_key": {
195+
"private_key_pem": {
195196
Type: schema.TypeString,
196197
Required: true,
197198
Description: `The private key of the leaf certificate in PEM-encoded form.`,
199+
Sensitive: true,
198200
},
199201
},
200202
},
201-
Sensitive: true,
202203
ExactlyOneOf: []string{"self_managed", "managed"},
203204
},
204205
"project": {
@@ -340,6 +341,9 @@ func resourceCertificateManagerCertificateRead(d *schema.ResourceData, meta inte
340341
if err := d.Set("scope", flattenCertificateManagerCertificateScope(res["scope"], d, config)); err != nil {
341342
return fmt.Errorf("Error reading Certificate: %s", err)
342343
}
344+
if err := d.Set("self_managed", flattenCertificateManagerCertificateSelfManaged(res["selfManaged"], d, config)); err != nil {
345+
return fmt.Errorf("Error reading Certificate: %s", err)
346+
}
343347
if err := d.Set("managed", flattenCertificateManagerCertificateManaged(res["managed"], d, config)); err != nil {
344348
return fmt.Errorf("Error reading Certificate: %s", err)
345349
}
@@ -499,6 +503,29 @@ func flattenCertificateManagerCertificateScope(v interface{}, d *schema.Resource
499503
return v
500504
}
501505

506+
func flattenCertificateManagerCertificateSelfManaged(v interface{}, d *schema.ResourceData, config *Config) interface{} {
507+
if v == nil {
508+
return nil
509+
}
510+
original := v.(map[string]interface{})
511+
if len(original) == 0 {
512+
return nil
513+
}
514+
transformed := make(map[string]interface{})
515+
transformed["certificate_pem"] =
516+
flattenCertificateManagerCertificateSelfManagedCertificatePem(original["certificatePem"], d, config)
517+
transformed["private_key_pem"] =
518+
flattenCertificateManagerCertificateSelfManagedPrivateKeyPem(original["privateKeyPem"], d, config)
519+
return []interface{}{transformed}
520+
}
521+
func flattenCertificateManagerCertificateSelfManagedCertificatePem(v interface{}, d *schema.ResourceData, config *Config) interface{} {
522+
return v
523+
}
524+
525+
func flattenCertificateManagerCertificateSelfManagedPrivateKeyPem(v interface{}, d *schema.ResourceData, config *Config) interface{} {
526+
return v
527+
}
528+
502529
func flattenCertificateManagerCertificateManaged(v interface{}, d *schema.ResourceData, config *Config) interface{} {
503530
if v == nil {
504531
return nil
@@ -620,28 +647,28 @@ func expandCertificateManagerCertificateSelfManaged(v interface{}, d TerraformRe
620647
original := raw.(map[string]interface{})
621648
transformed := make(map[string]interface{})
622649

623-
transformedPemCertificate, err := expandCertificateManagerCertificateSelfManagedPemCertificate(original["pem_certificate"], d, config)
650+
transformedCertificatePem, err := expandCertificateManagerCertificateSelfManagedCertificatePem(original["certificate_pem"], d, config)
624651
if err != nil {
625652
return nil, err
626-
} else if val := reflect.ValueOf(transformedPemCertificate); val.IsValid() && !isEmptyValue(val) {
627-
transformed["pemCertificate"] = transformedPemCertificate
653+
} else if val := reflect.ValueOf(transformedCertificatePem); val.IsValid() && !isEmptyValue(val) {
654+
transformed["certificatePem"] = transformedCertificatePem
628655
}
629656

630-
transformedPemPrivateKey, err := expandCertificateManagerCertificateSelfManagedPemPrivateKey(original["pem_private_key"], d, config)
657+
transformedPrivateKeyPem, err := expandCertificateManagerCertificateSelfManagedPrivateKeyPem(original["private_key_pem"], d, config)
631658
if err != nil {
632659
return nil, err
633-
} else if val := reflect.ValueOf(transformedPemPrivateKey); val.IsValid() && !isEmptyValue(val) {
634-
transformed["pemPrivateKey"] = transformedPemPrivateKey
660+
} else if val := reflect.ValueOf(transformedPrivateKeyPem); val.IsValid() && !isEmptyValue(val) {
661+
transformed["privateKeyPem"] = transformedPrivateKeyPem
635662
}
636663

637664
return transformed, nil
638665
}
639666

640-
func expandCertificateManagerCertificateSelfManagedPemCertificate(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
667+
func expandCertificateManagerCertificateSelfManagedCertificatePem(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
641668
return v, nil
642669
}
643670

644-
func expandCertificateManagerCertificateSelfManagedPemPrivateKey(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
671+
func expandCertificateManagerCertificateSelfManagedPrivateKeyPem(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
645672
return v, nil
646673
}
647674

google-beta/resource_certificate_manager_certificate_generated_test.go

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
2424
)
2525

26-
func TestAccCertificateManagerCertificate_certificateManagerSelfManagedCertificateExample(t *testing.T) {
26+
func TestAccCertificateManagerCertificate_certificateManagerCertificateBasicExample(t *testing.T) {
2727
t.Parallel()
2828

2929
context := map[string]interface{}{
@@ -36,29 +36,48 @@ func TestAccCertificateManagerCertificate_certificateManagerSelfManagedCertifica
3636
CheckDestroy: testAccCheckCertificateManagerCertificateDestroyProducer(t),
3737
Steps: []resource.TestStep{
3838
{
39-
Config: testAccCertificateManagerCertificate_certificateManagerSelfManagedCertificateExample(context),
39+
Config: testAccCertificateManagerCertificate_certificateManagerCertificateBasicExample(context),
4040
},
4141
{
4242
ResourceName: "google_certificate_manager_certificate.default",
4343
ImportState: true,
4444
ImportStateVerify: true,
45-
ImportStateVerifyIgnore: []string{"self_managed", "name"},
45+
ImportStateVerifyIgnore: []string{"name", "managed.0.dns_authorizations"},
4646
},
4747
},
4848
})
4949
}
5050

51-
func testAccCertificateManagerCertificate_certificateManagerSelfManagedCertificateExample(context map[string]interface{}) string {
51+
func testAccCertificateManagerCertificate_certificateManagerCertificateBasicExample(context map[string]interface{}) string {
5252
return Nprintf(`
5353
resource "google_certificate_manager_certificate" "default" {
54-
name = "tf-test-self-managed-cert%{random_suffix}"
54+
name = "tf-test-dns-cert%{random_suffix}"
5555
description = "The default cert"
5656
scope = "EDGE_CACHE"
57-
self_managed {
58-
pem_certificate = file("test-fixtures/certificatemanager/cert.pem")
59-
pem_private_key = file("test-fixtures/certificatemanager/private-key.pem")
57+
managed {
58+
domains = [
59+
google_certificate_manager_dns_authorization.instance.domain,
60+
google_certificate_manager_dns_authorization.instance2.domain,
61+
]
62+
dns_authorizations = [
63+
google_certificate_manager_dns_authorization.instance.id,
64+
google_certificate_manager_dns_authorization.instance2.id,
65+
]
6066
}
6167
}
68+
69+
70+
resource "google_certificate_manager_dns_authorization" "instance" {
71+
name = "tf-test-dns-auth%{random_suffix}"
72+
description = "The default dnss"
73+
domain = "subdomain%{random_suffix}.hashicorptest.com"
74+
}
75+
76+
resource "google_certificate_manager_dns_authorization" "instance2" {
77+
name = "tf-test-dns-auth2%{random_suffix}"
78+
description = "The default dnss"
79+
domain = "subdomain2%{random_suffix}.hashicorptest.com"
80+
}
6281
`, context)
6382
}
6483

google-beta/test-fixtures/certificatemanager/cert.pem

Lines changed: 0 additions & 19 deletions
This file was deleted.

google-beta/test-fixtures/certificatemanager/private-key.pem

Lines changed: 0 additions & 28 deletions
This file was deleted.

website/docs/r/certificate_manager_certificate.html.markdown

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,46 @@ Certificate represents a HTTP-reachable backend for a Certificate.
2424

2525

2626

27-
~> **Warning:** All arguments including `self_managed` will be stored in the raw
27+
~> **Warning:** All arguments including `self_managed.certificate_pem` and `self_managed.private_key_pem` will be stored in the raw
2828
state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/language/state/sensitive-data).
2929

3030
<div class = "oics-button" style="float: right; margin: 0 0 -15px">
31-
<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=certificate_manager_self_managed_certificate&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
31+
<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=certificate_manager_certificate_basic&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
3232
<img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
3333
</a>
3434
</div>
35-
## Example Usage - Certificate Manager Self Managed Certificate
35+
## Example Usage - Certificate Manager Certificate Basic
3636

3737

3838
```hcl
3939
resource "google_certificate_manager_certificate" "default" {
40-
name = "self-managed-cert"
40+
name = "dns-cert"
4141
description = "The default cert"
4242
scope = "EDGE_CACHE"
43-
self_managed {
44-
pem_certificate = file("test-fixtures/certificatemanager/cert.pem")
45-
pem_private_key = file("test-fixtures/certificatemanager/private-key.pem")
43+
managed {
44+
domains = [
45+
google_certificate_manager_dns_authorization.instance.domain,
46+
google_certificate_manager_dns_authorization.instance2.domain,
47+
]
48+
dns_authorizations = [
49+
google_certificate_manager_dns_authorization.instance.id,
50+
google_certificate_manager_dns_authorization.instance2.id,
51+
]
4652
}
4753
}
54+
55+
56+
resource "google_certificate_manager_dns_authorization" "instance" {
57+
name = "dns-auth"
58+
description = "The default dnss"
59+
domain = "subdomain.hashicorptest.com"
60+
}
61+
62+
resource "google_certificate_manager_dns_authorization" "instance2" {
63+
name = "dns-auth2"
64+
description = "The default dnss"
65+
domain = "subdomain2.hashicorptest.com"
66+
}
4867
```
4968

5069
## Argument Reference
@@ -84,7 +103,6 @@ The following arguments are supported:
84103
Certificate data for a SelfManaged Certificate.
85104
SelfManaged Certificates are uploaded by the user. Updating such
86105
certificates before they expire remains the user's responsibility.
87-
**Note**: This property is sensitive and will not be displayed in the plan.
88106
Structure is [documented below](#nested_self_managed).
89107

90108
* `managed` -
@@ -100,14 +118,16 @@ The following arguments are supported:
100118

101119
<a name="nested_self_managed"></a>The `self_managed` block supports:
102120

103-
* `pem_certificate` -
121+
* `certificate_pem` -
104122
(Required)
105123
The certificate chain in PEM-encoded form.
106124
Leaf certificate comes first, followed by intermediate ones if any.
125+
**Note**: This property is sensitive and will not be displayed in the plan.
107126

108-
* `pem_private_key` -
127+
* `private_key_pem` -
109128
(Required)
110129
The private key of the leaf certificate in PEM-encoded form.
130+
**Note**: This property is sensitive and will not be displayed in the plan.
111131

112132
<a name="nested_managed"></a>The `managed` block supports:
113133

0 commit comments

Comments
 (0)