mirror of https://github.com/kubernetes/kops.git
Update terraform output variables to be more stable
Try to explicitly build the output with the meaningful information; we have it now in the tags.
This commit is contained in:
parent
ce6a581bf8
commit
dde2100a19
|
|
@ -195,8 +195,12 @@ type terraformRouteTable struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *RouteTable) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTable) error {
|
func (_ *RouteTable) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *RouteTable) error {
|
||||||
if err := t.AddOutputVariable("route_table_"+*e.Name+"_id", e.TerraformLink()); err != nil {
|
// We use the role tag as a concise and stable identifier
|
||||||
return err
|
tag := e.Tags[awsup.TagNameKopsRole]
|
||||||
|
if tag != "" {
|
||||||
|
if err := t.AddOutputVariable("route_table_"+tag+"_id", e.TerraformLink()); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tf := &terraformRouteTable{
|
tf := &terraformRouteTable{
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ package awstasks
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
"github.com/aws/aws-sdk-go/service/ec2"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
@ -214,6 +215,17 @@ type terraformSubnet struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Subnet) error {
|
||||||
|
if fi.StringValue(e.AvailabilityZone) != "" {
|
||||||
|
name := fi.StringValue(e.AvailabilityZone)
|
||||||
|
if e.Tags["SubnetType"] != "" {
|
||||||
|
name += "-" + strings.ToLower(e.Tags["SubnetType"])
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := t.AddOutputVariable("subnet_"+name+"_id", e.TerraformLink()); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
shared := fi.BoolValue(e.Shared)
|
shared := fi.BoolValue(e.Shared)
|
||||||
if shared {
|
if shared {
|
||||||
// Not terraform owned / managed
|
// Not terraform owned / managed
|
||||||
|
|
@ -225,10 +237,6 @@ func (_ *Subnet) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Su
|
||||||
return t.AddOutputVariableArray("subnet_ids", terraform.LiteralFromStringValue(*e.ID))
|
return t.AddOutputVariableArray("subnet_ids", terraform.LiteralFromStringValue(*e.ID))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := t.AddOutputVariable("subnet_"+*e.Name+"_id", e.TerraformLink()); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
tf := &terraformSubnet{
|
tf := &terraformSubnet{
|
||||||
VPCID: e.VPC.TerraformLink(),
|
VPCID: e.VPC.TerraformLink(),
|
||||||
CIDR: e.CIDR,
|
CIDR: e.CIDR,
|
||||||
|
|
|
||||||
|
|
@ -216,10 +216,6 @@ func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := t.AddOutputVariable("vpc_cidr_block", terraform.LiteralProperty("aws_vpc", *e.Name, "cidr_block")); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
shared := fi.BoolValue(e.Shared)
|
shared := fi.BoolValue(e.Shared)
|
||||||
if shared {
|
if shared {
|
||||||
// Not terraform owned / managed
|
// Not terraform owned / managed
|
||||||
|
|
@ -227,6 +223,11 @@ func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := t.AddOutputVariable("vpc_cidr_block", terraform.LiteralProperty("aws_vpc", *e.Name, "cidr_block")); err != nil {
|
||||||
|
// TODO: Should we try to output vpc_cidr_block for shared vpcs?
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if len(e.AdditionalCIDR) != 0 {
|
if len(e.AdditionalCIDR) != 0 {
|
||||||
// https://github.com/terraform-providers/terraform-provider-aws/issues/3403
|
// https://github.com/terraform-providers/terraform-provider-aws/issues/3403
|
||||||
return fmt.Errorf("terraform does not support AdditionalCIDRs on VPCs")
|
return fmt.Errorf("terraform does not support AdditionalCIDRs on VPCs")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue