o ckF[V@slddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d e Z d S)) ResultSet) ListElementc@.eZdZd ddZddZddZdd ZdS) AlarmNcCs||_d|_d|_dSN) connectionname alarm_arnselfrr ;/usr/lib/python3/dist-packages/boto/ec2/autoscale/policy.py__init__ zAlarm.__init__cC d|jS)NzAlarm:%s)rr r r r __repr__! zAlarm.__repr__cCdSrr r rattrsrr r r startElement$zAlarm.startElementcCs4|dkr ||_dS|dkr||_dSt|||dS)N AlarmNameAlarmARN)rr setattrr rvaluerr r r endElement's   zAlarm.endElementr__name__ __module__ __qualname__rrrrr r r r rs   rc@r) AdjustmentTypeNcC||_d|_dSr)radjustment_typer r r r r1 zAdjustmentType.__init__cCr)NzAdjustmentType:%sr%rr r r r5rzAdjustmentType.__repr__cCrrr rr r r r8rzAdjustmentType.startElementcCs|dkr||_dS)Nr#r'rr r r r;szAdjustmentType.endElementrrr r r r r#0s   r#c@s^eZdZGdddeZGdddeZGdddeZddd Zd d Zd d Z ddZ dS)MetricCollectionTypesc@s0eZdZdZddZddZddZdd Zd S) zMetricCollectionTypes.BaseTypecCr$r)rvalr r r r rEr&z'MetricCollectionTypes.BaseType.__init__cCd|j|jfS)Nz%s:%sargr*rr r r rIz'MetricCollectionTypes.BaseType.__repr__cCrrr rr r r rLrz+MetricCollectionTypes.BaseType.startElementcCs||jkr ||_dSdSrr,rr r r rOs  z)MetricCollectionTypes.BaseType.endElementN)r r!r"r-rrrrr r r r BaseTypeBs  r/c@eZdZdZdS)zMetricCollectionTypes.MetricMetricNr r!r"r-r r r r r1Sr1c@r0)z!MetricCollectionTypes.Granularity GranularityNr2r r r r r4Vr3r4NcCs||_g|_g|_dSr)rmetrics granularitiesr r r r rYrzMetricCollectionTypes.__init__cCr+)NzMetricCollectionTypes:<%s, %s>)r5r6rr r r r^r.zMetricCollectionTypes.__repr__cCsD|dkrtd|jfg|_|jS|dkr td|jfg|_|jSdS)N GranularitiesmemberMetrics)rr4r6r1r5rr r r rasz"MetricCollectionTypes.startElementcCrrr rr r r rirz MetricCollectionTypes.endElementr) r r!r"objectr/r1r4rrrrr r r r r(As  r(c@s6eZdZd ddZddZddZdd Zd d ZdS) ScalingPolicyNcKs^|dd|_|dd|_|dd|_|dd|_|dd|_||_|dd|_dS)a Scaling Policy :type name: str :param name: Name of scaling policy. :type adjustment_type: str :param adjustment_type: Specifies the type of adjustment. Valid values are `ChangeInCapacity`, `ExactCapacity` and `PercentChangeInCapacity`. :type as_name: str or int :param as_name: Name or ARN of the Auto Scaling Group. :type scaling_adjustment: int :param scaling_adjustment: Value of adjustment (type specified in `adjustment_type`). :type min_adjustment_step: int :param min_adjustment_step: Value of min adjustment step required to apply the scaling policy (only make sense when use `PercentChangeInCapacity` as adjustment_type.). :type cooldown: int :param cooldown: Time (in seconds) before Alarm related Scaling Activities can start after the previous Scaling Activity ends. rNr%as_namescaling_adjustmentcooldownmin_adjustment_step)getrr%r<r=r>rr?r rkwargsr r r rnszScalingPolicy.__init__cCsd|j|j|jfS)Nz(ScalingPolicy(%s group:%s adjustment:%s))rr<r%rr r r rszScalingPolicy.__repr__cCs"|dkrtdtfg|_|jSdS)NAlarmsr8)rralarmsrr r r rszScalingPolicy.startElementcCs|dkr ||_dS|dkr||_dS|dkr||_dS|dkr&t||_dS|dkr1t||_dS|dkr:||_dS|dkrEt||_dSdS)N PolicyNameAutoScalingGroupName PolicyARNScalingAdjustmentCooldownr#MinAdjustmentStep)rr< policy_arnintr=r>r%r?rr r r rs    zScalingPolicy.endElementcCs|j|j|jSr)r delete_policyrr<rr r r deleteszScalingPolicy.deleter)r r!r"rrrrrNr r r r r;ms    r;c@s&eZdZdddZddZddZdS) TerminationPoliciesNcKrrr rAr r r rrzTerminationPolicies.__init__cCrrr rr r r rrz TerminationPolicies.startElementcCs|dkr ||dSdS)Nr8)appendrr r r rszTerminationPolicies.endElementr)r r!r"rrrr r r r rOs  rON) boto.resultsetrboto.ec2.elb.listelementrr:rr#r(r;listrOr r r r s  ,?