Skip to content

Commit 3180158

Browse files
authored
Created a field for generate_name in secret data source (#2028)
* Created a field for generate_name in secret data source * Add changelog file
1 parent 53d1508 commit 3180158

File tree

3 files changed

+71
-1
lines changed

3 files changed

+71
-1
lines changed

.changelog/2028.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:bug
2+
`data_source/kubernetes_secret`: Fix an issue where data_source cannot read secret created with generate_name.
3+
```
4+
5+
```release-note:bug
6+
`data_source/kubernetes_secret_v1`: Fix an issue where data_source cannot read secret created with generate_name.
7+
```

kubernetes/data_source_kubernetes_secret.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func dataSourceKubernetesSecret() *schema.Resource {
1616
ReadContext: dataSourceKubernetesSecretRead,
1717

1818
Schema: map[string]*schema.Schema{
19-
"metadata": namespacedMetadataSchema("secret", false),
19+
"metadata": namespacedMetadataSchema("secret", true),
2020
"data": {
2121
Type: schema.TypeMap,
2222
Description: "A map of the secret data.",

kubernetes/data_source_kubernetes_secret_test.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,56 @@ func TestAccKubernetesDataSourceSecret_basic(t *testing.T) {
4949
})
5050
}
5151

52+
func TestAccKubernetesDataSourceSecret_GenerateName(t *testing.T) {
53+
generate_name := "testing-name"
54+
resourceName := "kubernetes_secret.test"
55+
datasourceName := "data.kubernetes_secret.test"
56+
57+
resource.Test(t, resource.TestCase{
58+
PreCheck: func() { testAccPreCheck(t) },
59+
ProviderFactories: testAccProviderFactories,
60+
Steps: []resource.TestStep{
61+
{
62+
Config: testAccKubernetesDataSourceSecretConfig_generateName(generate_name),
63+
},
64+
{
65+
Config: testAccKubernetesDataSourceSecretConfig_generateName(generate_name) +
66+
testAccKubernetesDataSourceSecretConfig_readGenerateName(),
67+
Check: resource.ComposeAggregateTestCheckFunc(
68+
resource.TestCheckResourceAttrPair(datasourceName, "metadata.0.name", resourceName, "metadata.0.name"),
69+
resource.TestCheckResourceAttrPair(datasourceName, "metadata.0.generation", resourceName, "metadata.0.generation"),
70+
resource.TestCheckResourceAttrPair(datasourceName, "metadata.0.resource_version", resourceName, "metadata.0.resource_version"),
71+
resource.TestCheckResourceAttrPair(datasourceName, "metadata.0.uid", resourceName, "metadata.0.uid"),
72+
resource.TestCheckResourceAttrPair(datasourceName, "data.%", resourceName, "data.%"),
73+
resource.TestCheckResourceAttrPair(datasourceName, "data.one", resourceName, "data.one"),
74+
resource.TestCheckResourceAttrPair(datasourceName, "data.two", resourceName, "data.two"),
75+
resource.TestCheckResourceAttrPair(datasourceName, "type", resourceName, "type"),
76+
resource.TestCheckResourceAttrPair(datasourceName, "immutable", resourceName, "immutable"),
77+
resource.TestCheckResourceAttrPair(datasourceName, "binary_data.raw", resourceName, "binary_data.raw"),
78+
),
79+
},
80+
},
81+
})
82+
}
83+
84+
func testAccKubernetesDataSourceSecretConfig_generateName(generate_name string) string {
85+
return fmt.Sprintf(`resource "kubernetes_secret" "test" {
86+
metadata {
87+
generate_name = %q
88+
}
89+
90+
data = {
91+
one = "first"
92+
two = "second"
93+
}
94+
95+
binary_data = {
96+
raw = "${base64encode("Raw data should come back as is in the pod")}"
97+
}
98+
}
99+
`, generate_name)
100+
}
101+
52102
func testAccKubernetesDataSourceSecretConfig_basic(name string) string {
53103
return fmt.Sprintf(`resource "kubernetes_secret" "test" {
54104
metadata {
@@ -78,6 +128,19 @@ func testAccKubernetesDataSourceSecretConfig_basic(name string) string {
78128
`, name)
79129
}
80130

131+
func testAccKubernetesDataSourceSecretConfig_readGenerateName() string {
132+
return fmt.Sprintf(`data "kubernetes_secret" "test" {
133+
metadata {
134+
name = kubernetes_secret.test.metadata.0.name
135+
}
136+
137+
binary_data = {
138+
raw = ""
139+
}
140+
}
141+
`)
142+
}
143+
81144
func testAccKubernetesDataSourceSecretConfig_read() string {
82145
return fmt.Sprintf(`data "kubernetes_secret" "test" {
83146
metadata {

0 commit comments

Comments
 (0)