def test_works(self): policy = UpdatePolicy( 'AutoScalingRollingUpdate', PauseTime='PT1M5S', MinInstancesInService='2', MaxBatchSize='1', ) self.assertEqual(policy.PauseTime, 'PT1M5S')
def test_working(self): group = AutoScalingGroup('mygroup', LaunchConfigurationName="I'm a test", MaxSize="4", MinSize="2", UpdatePolicy=UpdatePolicy( 'AutoScalingRollingUpdate', PauseTime='PT1M5S', MinInstancesInService='2', MaxBatchSize='1', )) self.assertTrue(group.validate())
def test_mininstances_maxsize_is_ref(self): paramMaxSize = Parameter("ParamMaxSize", Type="String") group = AutoScalingGroup('mygroup', LaunchConfigurationName="I'm a test", MaxSize=Ref(paramMaxSize), MinSize="2", UpdatePolicy=UpdatePolicy( 'AutoScalingRollingUpdate', PauseTime='PT1M5S', MinInstancesInService='2', MaxBatchSize="1", )) self.assertTrue(group.validate())
def test_mininstances(self): group = AutoScalingGroup('mygroup', LaunchConfigurationName="I'm a test", MaxSize="1", MinSize="1", UpdatePolicy=UpdatePolicy( 'AutoScalingRollingUpdate', PauseTime='PT1M5S', MinInstancesInService='1', MaxBatchSize='1', )) with self.assertRaises(ValueError): self.assertTrue(group.validate())
def test_updatepolicy_dictname(self): t = UpdatePolicy('AutoScalingRollingUpdate', PauseTime='PT1M0S') d = json.loads(json.dumps(t, cls=awsencode)) self.assertIn('AutoScalingRollingUpdate', d)
def test_updatepolicy_noproperty(self): t = UpdatePolicy('AutoScalingRollingUpdate', PauseTime='PT1M0S') d = json.loads(json.dumps(t, cls=awsencode)) with self.assertRaises(KeyError): d['Properties']
def test_type(self): with self.assertRaises(ValueError): UpdatePolicy('MyCoolPolicy')
def test_pausetime(self): with self.assertRaises(ValueError): UpdatePolicy('AutoScalingRollingUpdate', PauseTime='90')
SSLCertificateId=Ref(SSLCertificateId)), ], CrossZone=True, SecurityGroups=[Ref(LoadBalancerSecurityGroup)], LoadBalancerName="api-lb", Scheme="internet-facing", )) AutoscalingGroup = t.add_resource( AutoScalingGroup("AutoscalingGroup", DesiredCapacity=Ref(ScaleCapacity), Tags=[Tag("Environment", Ref(EnvType), True)], LaunchConfigurationName=Ref(LaunchConfiguration), MinSize=Ref(ScaleCapacity), MaxSize=Ref(ScaleCapacity), VPCZoneIdentifier=[Ref(ApiSubnet1), Ref(ApiSubnet2)], LoadBalancerNames=[Ref(LoadBalancer)], AvailabilityZones=[ Ref(VPCAvailabilityZone1), Ref(VPCAvailabilityZone2) ], HealthCheckType="EC2", UpdatePolicy=UpdatePolicy('AutoScalingRollingUpdate', PauseTime='PT5M', MinInstancesInService="1", MaxBatchSize='1', WaitOnResourceSignals=True))) print(t.to_json())