Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modeled Autoscaling EBS parameters #28

Merged
merged 2 commits into from Sep 2, 2015
Merged

Modeled Autoscaling EBS parameters #28

merged 2 commits into from Sep 2, 2015

Conversation

bkrodgers
Copy link
Contributor

I'm using this in the Vault VPC to specify an additional volume for the vault data so I can snapshot it without an outage. Looks to work fine.

@ddgenome
Copy link
Contributor

ddgenome commented Sep 2, 2015

Reducing our test coverage, tsk, tsk.

@@ -203,18 +203,20 @@ trait Autoscaling {
userData: `Fn::Base64`,
iam: Option[Token[ResourceRef[`AWS::IAM::InstanceProfile`]]] = None,
condition: Option[ConditionRef] = None,
dependsOn: Option[Seq[String]] = None
dependsOn: Option[Seq[String]] = None,
blockDevices: Option[Seq[BlockDeviceMapping]] = None
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically we keep Condition and DependsOn last, but putting BlockDevices last allows backward compatibility.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ddgenome I can change it if you want, but I do know that microservices-vpc doesn't name parameters when it uses this, so it'd need to be updated when we move to this release of cftg. Let me know your preference.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think they do use named parameters now in microservices-vpc, but it's probably better to keep backwards compatibility.

@ddgenome
Copy link
Contributor

ddgenome commented Sep 2, 2015

For BlockDeviceMapping, since you can specify either Ebs, VirtualName, or neither but not both, it seems we should have three constructors rather than just the one that would allow you to create an invalid template.

}

case class AutoScalingEBS(
DeleteOnTermination: Option[Token[Boolean]] = None,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure a Token of a Boolean is allowed?

@bkrodgers
Copy link
Contributor Author

Regarding "For BlockDeviceMapping, since you can specify either Ebs, VirtualName, or neither but not both." I'm actually wondering in what scenario you would want neither. Would that just be a device name and a "NoDevice" case? What would that even be used for? Suppressing a default mapping from the AMI or something like that?

@ddgenome
Copy link
Contributor

ddgenome commented Sep 2, 2015

I don't know what it would be used for, it just seems CloudFormation allows it. If you don't think it useful, feel free to just have two constructors.

@bkrodgers
Copy link
Contributor Author

Cool, I'm going to stick with the two then. I've pushed that. I think I've covered all your comments. Thanks for the great feedback! And yeah, I did drop our test coverage by 0.6% from 29.62% to 29.02%. Sorry. :)

ddgenome added a commit that referenced this pull request Sep 2, 2015
@ddgenome ddgenome merged commit 14a156c into master Sep 2, 2015
@ddgenome ddgenome deleted the autoscaling-ebs branch September 2, 2015 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants