Skip to content

Commit 84c5b41

Browse files
authored
Merge pull request #28924 from skyscrapr/b-eks-placement-groups
BugFix: eks placement groups - missing config attribute in eks_cluster data source
2 parents 7536ba7 + b85fa4a commit 84c5b41

File tree

4 files changed

+73
-1
lines changed

4 files changed

+73
-1
lines changed

.changelog/28924.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
data-source/aws_eks_cluster: Add `outpost_config.control_plane_placement` attribute
3+
```

internal/service/eks/cluster_data_source.go

+12
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,18 @@ func DataSourceCluster() *schema.Resource {
103103
Type: schema.TypeString,
104104
Computed: true,
105105
},
106+
"control_plane_placement": {
107+
Type: schema.TypeList,
108+
Computed: true,
109+
Elem: &schema.Resource{
110+
Schema: map[string]*schema.Schema{
111+
"group_name": {
112+
Type: schema.TypeString,
113+
Computed: true,
114+
},
115+
},
116+
},
117+
},
106118
"outpost_arns": {
107119
Type: schema.TypeSet,
108120
Computed: true,

internal/service/eks/cluster_data_source_test.go

+55
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,65 @@ func TestAccEKSClusterDataSource_basic(t *testing.T) {
5858
})
5959
}
6060

61+
func TestAccEKSClusterDataSource_outpost(t *testing.T) {
62+
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
63+
dataSourceResourceName := "data.aws_eks_cluster.test"
64+
resourceName := "aws_eks_cluster.test"
65+
66+
resource.ParallelTest(t, resource.TestCase{
67+
PreCheck: func() { acctest.PreCheck(t); acctest.PreCheckOutpostsOutposts(t) },
68+
ErrorCheck: acctest.ErrorCheck(t, eks.EndpointsID),
69+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
70+
CheckDestroy: testAccCheckClusterDestroy,
71+
Steps: []resource.TestStep{
72+
{
73+
Config: testAccClusterDataSourceConfig_outpost(rName),
74+
Check: resource.ComposeTestCheckFunc(
75+
resource.TestCheckResourceAttrPair(resourceName, "arn", dataSourceResourceName, "arn"),
76+
resource.TestCheckResourceAttr(dataSourceResourceName, "certificate_authority.#", "1"),
77+
resource.TestCheckResourceAttrPair(resourceName, "certificate_authority.0.data", dataSourceResourceName, "certificate_authority.0.data"),
78+
resource.TestCheckResourceAttrPair(resourceName, "created_at", dataSourceResourceName, "created_at"),
79+
resource.TestCheckResourceAttr(dataSourceResourceName, "enabled_cluster_log_types.#", "0"),
80+
resource.TestCheckResourceAttrPair(resourceName, "endpoint", dataSourceResourceName, "endpoint"),
81+
resource.TestCheckResourceAttr(dataSourceResourceName, "identity.#", "0"),
82+
resource.TestCheckResourceAttrPair(resourceName, "kubernetes_network_config.#", dataSourceResourceName, "kubernetes_network_config.#"),
83+
resource.TestCheckResourceAttrPair(resourceName, "kubernetes_network_config.0.ip_family", dataSourceResourceName, "kubernetes_network_config.0.ip_family"),
84+
resource.TestCheckResourceAttrPair(resourceName, "kubernetes_network_config.0.service_ipv4_cidr", dataSourceResourceName, "kubernetes_network_config.0.service_ipv4_cidr"),
85+
resource.TestCheckResourceAttrPair(resourceName, "kubernetes_network_config.0.service_ipv6_cidr", dataSourceResourceName, "kubernetes_network_config.0.service_ipv6_cidr"),
86+
resource.TestMatchResourceAttr(dataSourceResourceName, "platform_version", regexp.MustCompile(`^eks-local-outposts\.\d+$`)),
87+
resource.TestCheckResourceAttrPair(resourceName, "role_arn", dataSourceResourceName, "role_arn"),
88+
resource.TestCheckResourceAttrPair(resourceName, "status", dataSourceResourceName, "status"),
89+
resource.TestCheckResourceAttrPair(resourceName, "tags.%", dataSourceResourceName, "tags.%"),
90+
resource.TestCheckResourceAttrPair(resourceName, "version", dataSourceResourceName, "version"),
91+
resource.TestCheckResourceAttr(dataSourceResourceName, "vpc_config.#", "1"),
92+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.cluster_security_group_id", dataSourceResourceName, "vpc_config.0.cluster_security_group_id"),
93+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.endpoint_private_access", dataSourceResourceName, "vpc_config.0.endpoint_private_access"),
94+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.endpoint_public_access", dataSourceResourceName, "vpc_config.0.endpoint_public_access"),
95+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.security_group_ids.#", dataSourceResourceName, "vpc_config.0.security_group_ids.#"),
96+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.subnet_ids.#", dataSourceResourceName, "vpc_config.0.subnet_ids.#"),
97+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.public_access_cidrs.#", dataSourceResourceName, "vpc_config.0.public_access_cidrs.#"),
98+
resource.TestCheckResourceAttrPair(resourceName, "vpc_config.0.vpc_id", dataSourceResourceName, "vpc_config.0.vpc_id"),
99+
resource.TestCheckResourceAttrPair(resourceName, "outpost_config.0.control_plane_instance_type", dataSourceResourceName, "outpost_config.0.control_plane_instance_type"),
100+
resource.TestCheckResourceAttrPair(resourceName, "outpost_config.0.control_plane_placement.0.group_name", dataSourceResourceName, "outpost_config.0.control_plane_placement.0.group_name"),
101+
resource.TestCheckResourceAttrPair(resourceName, "outpost_config.0.outpost_arns.#", dataSourceResourceName, "outpost_config.0.outpost_arns.#"),
102+
),
103+
},
104+
},
105+
})
106+
}
107+
61108
func testAccClusterDataSourceConfig_basic(rName string) string {
62109
return acctest.ConfigCompose(testAccClusterConfig_logging(rName, []string{"api", "audit"}), `
63110
data "aws_eks_cluster" "test" {
64111
name = aws_eks_cluster.test.name
65112
}
66113
`)
67114
}
115+
116+
func testAccClusterDataSourceConfig_outpost(rName string) string {
117+
return acctest.ConfigCompose(testAccClusterConfig_outpostPlacement(rName), `
118+
data "aws_eks_cluster" "test" {
119+
name = aws_eks_cluster.test.name
120+
}
121+
`)
122+
}

internal/service/eks/cluster_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -1117,8 +1117,10 @@ data "aws_iam_role" "test" {
11171117
name = "AmazonEKSLocalOutpostClusterRole"
11181118
}
11191119
1120+
data "aws_outposts_outposts" "test" {}
1121+
11201122
data "aws_outposts_outpost" "test" {
1121-
id = "op-XXXXXXXX"
1123+
id = tolist(data.aws_outposts_outposts.test.ids)[0]
11221124
}
11231125
11241126
data "aws_subnets" test {

0 commit comments

Comments
 (0)