Skip to content

Commit

Permalink
Make BlockDeviceMapping constructor private, add more specific factor…
Browse files Browse the repository at this point in the history
…y methods.
  • Loading branch information
bkrodgers committed Sep 2, 2015
1 parent 6029ce3 commit 382a836
Showing 1 changed file with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,26 @@ case class `AWS::AutoScaling::LaunchConfiguration`(
object `AWS::AutoScaling::LaunchConfiguration` extends DefaultJsonProtocol {
implicit val format: JsonFormat[`AWS::AutoScaling::LaunchConfiguration`] = jsonFormat10(`AWS::AutoScaling::LaunchConfiguration`.apply)
}
case class BlockDeviceMapping(
case class BlockDeviceMapping private(
DeviceName: Token[String],
Ebs: Option[AutoScalingEBS] = None,
NoDevice: Option[Token[Boolean]] = None,
VirtualName: Option[Token[String]] = None
)
object BlockDeviceMapping extends DefaultJsonProtocol {
implicit val format: JsonFormat[BlockDeviceMapping] = jsonFormat4(BlockDeviceMapping.apply)

def ebs(
DeviceName: Token[String],
Ebs: AutoScalingEBS,
NoDevice: Option[Token[Boolean]] = None
) = BlockDeviceMapping(DeviceName, Some(Ebs), NoDevice, None)

def virtual(
DeviceName: Token[String],
VirtualName: Token[String],
NoDevice: Option[Token[Boolean]] = None
) = BlockDeviceMapping(DeviceName, None, NoDevice, Some(VirtualName))
}

case class AutoScalingEBS(
Expand Down

0 comments on commit 382a836

Please sign in to comment.