Skip to content

Commit

Permalink
Merge pull request #117 from MonsantoCo/db_and_volume_types
Browse files Browse the repository at this point in the history
adding in all of the RDS engine and EBS volume types
  • Loading branch information
bkrodgers committed Nov 7, 2016
2 parents 007ce1d + afe7cd1 commit 7c3bd29
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -638,25 +638,37 @@ object `AWS::EC2::Volume` extends DefaultJsonProtocol {
`AWS::EC2::Volume`(name, az, Some(encrypted), None, Some(size), None, tags, "gp2")

//require( size >= 4 && size <= 16384 )
//require( iops <= size * 30 && iops >= 100 && iops <= 20000)
def io2(name: String, az: Token[String], size: Token[Int], tags: Seq[AmazonTag], iops: Int, encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, Some(size), None, tags, "io2")

//require( iops <= size * 50 && iops >= 100 && iops <= 20000)
def io1(name: String, az: Token[String], size: Token[Int], tags: Seq[AmazonTag], iops: Int, encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), Some(iops), Some(size), None, tags, "io1")
`AWS::EC2::Volume`(name, az, Some(encrypted), Some(iops), Some(size), None, tags, "io1")

//require( size >= 1 && size <= 1024 )
def standard(name: String, az: Token[String], size: Token[Int], tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, Some(size), None, tags, "standard")

//require( size >= 500 && size <= 16384 )
def sc1(name: String, az: Token[String], size: Token[Int], tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, Some(size), None, tags, "sc1")

//require( size >= 500 && size <= 16384 )
def st1(name: String, az: Token[String], size: Token[Int], tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, Some(size), None, tags, "st1")

def gp2Snapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, None, Some(snapshotID), tags, "gp2")

def io2Snapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, None, Some(snapshotID), tags, "io2")
def io1Snapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], iops: Int, encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), Some(iops), None, Some(snapshotID), tags, "io1")

def standardSnapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, None, Some(snapshotID), tags, "standard")

def sc1Snapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, None, Some(snapshotID), tags, "sc1")

def st1Snapshot(name: String, az: Token[String], snapshotID: String, tags: Seq[AmazonTag], encrypted: Boolean = true ) =
`AWS::EC2::Volume`(name, az, Some(encrypted), None, None, Some(snapshotID), tags, "st1")

}

case class `AWS::EC2::VolumeAttachment`(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -503,10 +503,33 @@ object RdsBuilder {

sealed trait `AWS::RDS::DBInstance::Engine`
object `AWS::RDS::DBInstance::Engine` extends DefaultJsonProtocol {
case object MySQL extends `AWS::RDS::DBInstance::Engine`
case object postgres extends `AWS::RDS::DBInstance::Engine`
case object MariaDB extends `AWS::RDS::DBInstance::Engine`
val values = Seq(MySQL, postgres, MariaDB)
case object MySQL extends `AWS::RDS::DBInstance::Engine`
case object MariaDB extends `AWS::RDS::DBInstance::Engine`
case object `oracle-se1` extends `AWS::RDS::DBInstance::Engine`
case object `oracle-se2` extends `AWS::RDS::DBInstance::Engine`
case object `oracle-se` extends `AWS::RDS::DBInstance::Engine`
case object `oracl-ee` extends `AWS::RDS::DBInstance::Engine`
case object `sqlserver-ee` extends `AWS::RDS::DBInstance::Engine`
case object `sqlserver-se` extends `AWS::RDS::DBInstance::Engine`
case object `sqlserver-ex` extends `AWS::RDS::DBInstance::Engine`
case object `sqlserver-web` extends `AWS::RDS::DBInstance::Engine`
case object postgres extends `AWS::RDS::DBInstance::Engine`
case object aurora extends `AWS::RDS::DBInstance::Engine`

val values = Seq(
MySQL,
MariaDB,
`oracle-se1`,
`oracle-se2`,
`oracle-se`,
`oracl-ee`,
`sqlserver-ee`,
`sqlserver-se`,
`sqlserver-ex`,
`sqlserver-web`,
postgres,
aurora
)
implicit val format: JsonFormat[`AWS::RDS::DBInstance::Engine`] =
new EnumFormat[`AWS::RDS::DBInstance::Engine`](values)
}
Expand Down

0 comments on commit 7c3bd29

Please sign in to comment.