provider/aws: Add `arn` fields to ALB resources
This commit adds an `arn` field to `aws_alb` and `aws_alb_target_group` resources, in order to present a more coherant user experience to people using resource variables in fields suffixed "arn".
This commit is contained in:
parent
59f66eca02
commit
e38d41b7a7
|
@ -22,6 +22,11 @@ func resourceAwsAlb() *schema.Resource {
|
|||
},
|
||||
|
||||
Schema: map[string]*schema.Schema{
|
||||
"arn": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
|
||||
"name": {
|
||||
Type: schema.TypeString,
|
||||
Required: true,
|
||||
|
@ -164,6 +169,7 @@ func resourceAwsAlbRead(d *schema.ResourceData, meta interface{}) error {
|
|||
|
||||
alb := describeResp.LoadBalancers[0]
|
||||
|
||||
d.Set("arn", alb.LoadBalancerArn)
|
||||
d.Set("name", alb.LoadBalancerName)
|
||||
d.Set("internal", (alb.Scheme != nil && *alb.Scheme == "internal"))
|
||||
d.Set("security_groups", flattenStringList(alb.SecurityGroups))
|
||||
|
|
|
@ -25,6 +25,11 @@ func resourceAwsAlbTargetGroup() *schema.Resource {
|
|||
},
|
||||
|
||||
Schema: map[string]*schema.Schema{
|
||||
"arn": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
|
||||
"name": {
|
||||
Type: schema.TypeString,
|
||||
Required: true,
|
||||
|
@ -206,6 +211,7 @@ func resourceAwsAlbTargetGroupRead(d *schema.ResourceData, meta interface{}) err
|
|||
|
||||
targetGroup := resp.TargetGroups[0]
|
||||
|
||||
d.Set("arn", targetGroup.TargetGroupArn)
|
||||
d.Set("name", targetGroup.TargetGroupName)
|
||||
d.Set("port", targetGroup.Port)
|
||||
d.Set("protocol", targetGroup.Protocol)
|
||||
|
|
|
@ -27,6 +27,7 @@ func TestAccAWSALBTargetGroup_basic(t *testing.T) {
|
|||
Config: testAccAWSALBTargetGroupConfig_basic(targetGroupName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckAWSALBTargetGroupExists("aws_alb_target_group.test", &conf),
|
||||
resource.TestCheckResourceAttrSet("aws_alb_target_group.test", "arn"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "name", targetGroupName),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "port", "443"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "protocol", "HTTPS"),
|
||||
|
@ -64,6 +65,7 @@ func TestAccAWSALBTargetGroup_updateHealthCheck(t *testing.T) {
|
|||
Config: testAccAWSALBTargetGroupConfig_basic(targetGroupName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckAWSALBTargetGroupExists("aws_alb_target_group.test", &conf),
|
||||
resource.TestCheckResourceAttrSet("aws_alb_target_group.test", "arn"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "name", targetGroupName),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "port", "443"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "protocol", "HTTPS"),
|
||||
|
@ -87,6 +89,7 @@ func TestAccAWSALBTargetGroup_updateHealthCheck(t *testing.T) {
|
|||
Config: testAccAWSALBTargetGroupConfig_updateHealthCheck(targetGroupName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckAWSALBTargetGroupExists("aws_alb_target_group.test", &conf),
|
||||
resource.TestCheckResourceAttrSet("aws_alb_target_group.test", "arn"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "name", targetGroupName),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "port", "443"),
|
||||
resource.TestCheckResourceAttr("aws_alb_target_group.test", "protocol", "HTTPS"),
|
||||
|
|
|
@ -38,6 +38,7 @@ func TestAccAWSALB_basic(t *testing.T) {
|
|||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "vpc_id"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "zone_id"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "dns_name"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "arn"),
|
||||
),
|
||||
},
|
||||
},
|
||||
|
@ -70,6 +71,7 @@ func TestAccAWSALB_accesslogs(t *testing.T) {
|
|||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "vpc_id"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "zone_id"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "dns_name"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "arn"),
|
||||
),
|
||||
},
|
||||
|
||||
|
@ -91,6 +93,7 @@ func TestAccAWSALB_accesslogs(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("aws_alb.alb_test", "access_logs.#", "1"),
|
||||
resource.TestCheckResourceAttr("aws_alb.alb_test", "access_logs.0.bucket", bucketName),
|
||||
resource.TestCheckResourceAttr("aws_alb.alb_test", "access_logs.0.prefix", "testAccAWSALBConfig_accessLogs"),
|
||||
resource.TestCheckResourceAttrSet("aws_alb.alb_test", "arn"),
|
||||
),
|
||||
},
|
||||
},
|
||||
|
|
|
@ -56,7 +56,8 @@ Access Logs (`access_logs`) support the following:
|
|||
|
||||
The following attributes are exported in addition to the arguments listed above:
|
||||
|
||||
* `id` - The ARN of the load balancer
|
||||
* `id` - The ARN of the load balancer (matches `arn`)
|
||||
* `arn` - The ARN of the load balancer (matches `id`)
|
||||
* `dns_name` - The DNS name of the load balancer
|
||||
* `canonical_hosted_zone_id` - The canonical hosted zone ID of the load balancer.
|
||||
* `zone_id` - The canonical hosted zone ID of the load balancer (to be used in a Route 53 Alias record)
|
||||
|
|
|
@ -23,14 +23,14 @@ resource "aws_alb_target_group" "front_end" {
|
|||
}
|
||||
|
||||
resource "aws_alb_listener" "front_end" {
|
||||
load_balancer_arn = "${aws_alb.front_end.id}"
|
||||
load_balancer_arn = "${aws_alb.front_end.arn}"
|
||||
port = "443"
|
||||
protocol = "HTTPS"
|
||||
ssl_policy = "ELBSecurityPolicy-2015-05"
|
||||
certificate_arn = "arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4"
|
||||
|
||||
default_action {
|
||||
target_group_arn = "${aws_alb_target_group.front_end.id}"
|
||||
target_group_arn = "${aws_alb_target_group.front_end.arn}"
|
||||
type = "forward"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,7 +49,8 @@ Health Check Blocks (`health_check`) support the following:
|
|||
|
||||
The following attributes are exported in addition to the arguments listed above:
|
||||
|
||||
* `id` - The ARN of the target group.
|
||||
* `id` - The ARN of the Target Group (matches `arn`)
|
||||
* `arn` - The ARN of the Target Group (matches `id`)
|
||||
|
||||
## Import
|
||||
|
||||
|
|
Loading…
Reference in New Issue