Skip to content

Commit

Permalink
Merge pull request #69 from adamfokken/subnet-az-optional
Browse files Browse the repository at this point in the history
AvailabilityZone is optional for Subnet
  • Loading branch information
bkrodgers committed Mar 1, 2016
2 parents fd76417 + 278938e commit 6c30178
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ object `AWS::EC2::SecurityGroupIngress` extends DefaultJsonProtocol {
case class `AWS::EC2::Subnet`(
name: String,
VpcId: Token[ResourceRef[`AWS::EC2::VPC`]],
AvailabilityZone: Token[String],
AvailabilityZone: Option[Token[String]] = None,
CidrBlock: Token[CidrBlock],
Tags: Seq[AmazonTag],
MapPublicIpOnLaunch: Option[Token[Boolean]] = None,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,16 @@ trait Subnet extends AvailabilityZone with Outputs {

def subnet(visibility: String, ordinal: Int, vpc: Token[ResourceRef[`AWS::EC2::VPC`]], az: Token[String],
cidr: Token[CidrBlock], tagger: (String, String) => Seq[AmazonTag]) =
`AWS::EC2::Subnet`(
ucFirst(visibility.take(3)) + "Subnet" + ordinal,
VpcId = vpc,
AvailabilityZone = Some(az),
CidrBlock = cidr,
Tags = tagger(visibility.take(3).toLowerCase + "subnet" + ordinal, visibility)
)

def subnet(visibility: String, ordinal: Int, vpc: Token[ResourceRef[`AWS::EC2::VPC`]], az: Option[Token[String]] = None,
cidr: Token[CidrBlock], tagger: (String, String) => Seq[AmazonTag]) =
`AWS::EC2::Subnet`(
ucFirst(visibility.take(3)) + "Subnet" + ordinal,
VpcId = vpc,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ object StaxTemplate {
val pubSubnet1 = `AWS::EC2::Subnet`(
"PubSubnet1",
VpcId = ResourceRef(vpcResource),
AvailabilityZone = "us-east-1a",
AvailabilityZone = Some("us-east-1a"),
CidrBlock = ParameterRef(publicSubnet1Param),
MapPublicIpOnLaunch = Some(true),
Tags = standardTags("pubsubnet1", "Public")
Expand All @@ -585,23 +585,23 @@ object StaxTemplate {
val priSubnet1 = `AWS::EC2::Subnet`(
"PriSubnet1",
VpcId = ResourceRef(vpcResource),
AvailabilityZone = "us-east-1a",
AvailabilityZone = Some("us-east-1a"),
CidrBlock = `Fn::Select`(StringBackedInt(0), ParameterRef(privateSubnetsParam)),
Tags = standardTags("prisubnet1", "Private")
)

val pubSubnet2 = `AWS::EC2::Subnet`(
"PubSubnet2",
VpcId = ResourceRef(vpcResource),
AvailabilityZone = "us-east-1b",
AvailabilityZone = Some("us-east-1b"),
CidrBlock = ParameterRef(publicSubnet2Param),
Tags = standardTags("pubsubnet2", "Public")
)

val priSubnet2 = `AWS::EC2::Subnet`(
"PriSubnet2",
VpcId = ResourceRef(vpcResource),
AvailabilityZone = "us-east-1b",
AvailabilityZone = Some("us-east-1b"),
CidrBlock = `Fn::Select`(StringBackedInt(1), ParameterRef(privateSubnetsParam)),
Tags = standardTags("prisubnet2", "Private")
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ class ResourceRef_UT extends FunSpec with Matchers {
val DBPriSubnet1Resource = `AWS::EC2::Subnet`(
"DBPriSubnet1",
VpcId = vpcToken,
AvailabilityZone = "us-east-1a",
AvailabilityZone = Some("us-east-1a"),
CidrBlock = ParameterRef(privateDBSubnet1CidrParam),
Tags = Seq[AmazonTag]()
)

val DBPriSubnet2Resource = `AWS::EC2::Subnet`(
"DBPriSubnet2",
VpcId = vpcToken,
AvailabilityZone = "us-east-1b",
AvailabilityZone = Some("us-east-1b"),
CidrBlock = ParameterRef(privateDBSubnet1CidrParam),
Tags = Seq[AmazonTag]()
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class RDS_UT extends FunSpec with Matchers {
val dbSubnet = `AWS::EC2::Subnet`(
name = "Subnet",
VpcId = ResourceRef(vpc),
AvailabilityZone = "us-east-1a",
AvailabilityZone = Some("us-east-1a"),
CidrBlock = CidrBlock(10, 10, 10, 10, 24),
Tags = Seq()
)
Expand Down

0 comments on commit 6c30178

Please sign in to comment.