Skip to content

Commit ddb77e8

Browse files
authored
Merge pull request #35888 from a-takamin/f-aws_codedeploy_deployment_config-add-arn
[feat] add arn attribute to aws_codedeploy_deployment_config
2 parents 3665fd7 + 9c039e9 commit ddb77e8

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

.changelog/35888.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/aws_codedeploy_deployment_config: Add `arn` attribute
3+
```

internal/service/deploy/deployment_config.go

+15-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"log"
99

1010
"github.com/aws/aws-sdk-go-v2/aws"
11+
"github.com/aws/aws-sdk-go-v2/aws/arn"
1112
"github.com/aws/aws-sdk-go-v2/service/codedeploy"
1213
"github.com/aws/aws-sdk-go-v2/service/codedeploy/types"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
@@ -32,6 +33,10 @@ func resourceDeploymentConfig() *schema.Resource {
3233
},
3334

3435
Schema: map[string]*schema.Schema{
36+
"arn": {
37+
Type: schema.TypeString,
38+
Computed: true,
39+
},
3540
"compute_platform": {
3641
Type: schema.TypeString,
3742
Optional: true,
@@ -171,9 +176,18 @@ func resourceDeploymentConfigRead(ctx context.Context, d *schema.ResourceData, m
171176
return sdkdiag.AppendErrorf(diags, "reading CodeDeploy Deployment Config (%s): %s", d.Id(), err)
172177
}
173178

179+
deploymentConfigName := aws.ToString(deploymentConfig.DeploymentConfigName)
180+
arn := arn.ARN{
181+
Partition: meta.(*conns.AWSClient).Partition,
182+
Service: "codedeploy",
183+
Region: meta.(*conns.AWSClient).Region,
184+
AccountID: meta.(*conns.AWSClient).AccountID,
185+
Resource: "deploymentconfig:" + deploymentConfigName,
186+
}.String()
187+
d.Set("arn", arn)
174188
d.Set("compute_platform", deploymentConfig.ComputePlatform)
175189
d.Set("deployment_config_id", deploymentConfig.DeploymentConfigId)
176-
d.Set("deployment_config_name", deploymentConfig.DeploymentConfigName)
190+
d.Set("deployment_config_name", deploymentConfigName)
177191
if err := d.Set("minimum_healthy_hosts", flattenMinimumHealthHosts(deploymentConfig.MinimumHealthyHosts)); err != nil {
178192
return sdkdiag.AppendErrorf(diags, "setting minimum_healthy_hosts: %s", err)
179193
}

internal/service/deploy/deployment_config_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323

2424
func TestAccDeployDeploymentConfig_basic(t *testing.T) {
2525
ctx := acctest.Context(t)
26-
var config1 types.DeploymentConfigInfo
26+
var config types.DeploymentConfigInfo
2727
resourceName := "aws_codedeploy_deployment_config.test"
2828
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
2929

@@ -36,7 +36,8 @@ func TestAccDeployDeploymentConfig_basic(t *testing.T) {
3636
{
3737
Config: testAccDeploymentConfigConfig_fleet(rName, 75),
3838
Check: resource.ComposeTestCheckFunc(
39-
testAccCheckDeploymentConfigExists(ctx, resourceName, &config1),
39+
testAccCheckDeploymentConfigExists(ctx, resourceName, &config),
40+
resource.TestCheckResourceAttrSet(resourceName, "arn"),
4041
resource.TestCheckResourceAttr(resourceName, "deployment_config_name", rName),
4142
resource.TestCheckResourceAttr(resourceName, "compute_platform", "Server"),
4243
resource.TestCheckResourceAttr(resourceName, "traffic_routing_config.#", "0"),

website/docs/r/codedeploy_deployment_config.html.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ The `time_based_linear` block supports the following:
126126

127127
This resource exports the following attributes in addition to the arguments above:
128128

129+
* `arn` - The ARN of the deployment config.
129130
* `id` - The deployment group's config name.
130131
* `deployment_config_id` - The AWS Assigned deployment config id
131132

0 commit comments

Comments
 (0)