o ckF[p@spdZddlmZddlmZGdddeZGdddeZGdd d eZGd d d eZ Gd d d eZ dS)z Represents a Network ACL )TaggedEC2Object) ResultSetc@2eZdZdZd ddZddZddZd d ZdS) Icmpz) Defines the ICMP code and type. NcCd|_d|_dSNcodetypeself connectionr5/usr/lib/python3/dist-packages/boto/vpc/networkacl.py__init__" z Icmp.__init__cCd|j|jfS)NzIcmp::code:%s, type:%s)rr rrr__repr__&z Icmp.__repr__cCdSrrr nameattrsr rrr startElement)zIcmp.startElementcC(|dkr ||_dS|dkr||_dSdS)Nr r rr rvaluer rrr endElement,   zIcmp.endElementr__name__ __module__ __qualname____doc__rrrrrrrrrs   rcs:eZdZd fdd ZddZfddZdd ZZS) NetworkAclNcs,tt||d|_d|_g|_g|_dSr)superr&ridvpc_idnetwork_acl_entries associationsr  __class__rrr5s  zNetworkAcl.__init__cC d|jS)Nz NetworkAcl:%sr(rrrrr< zNetworkAcl.__repr__cs`tt||||}|dur|S|dkrtdtfg|_|jS|dkr.tdtfg|_|jSdS)NentrySetitemassociationSet)r'r&rrNetworkAclEntryr*NetworkAclAssociationr+)r rrr resultr,rrr?szNetworkAcl.startElementcCs4|dkr ||_dS|dkr||_dSt|||dS)N networkAclIdvpcId)r(r)setattrrrrrrOs   zNetworkAcl.endElementr)r"r#r$rrrr __classcell__rrr,rr&3s  r&c@.eZdZd ddZddZddZdd ZdS) r4NcCs2d|_d|_d|_d|_d|_t|_t|_dSr) rule_numberprotocol rule_actionegress cidr_block PortRange port_rangericmpr rrrrXs zNetworkAclEntry.__init__cCr.)NzAcl:%s)r<rrrrrar0zNetworkAclEntry.__repr__cCs |dkr|jS|dkr|jSdS)N portRange icmpTypeCode)rBrCrrrrrds zNetworkAclEntry.startElementcCs^|dkr ||_dS|dkr||_dS|dkr||_dS|dkr$||_dS|dkr-||_dSdS)N cidrBlockr?r= ruleAction ruleNumber)r@r?r=r>r<rrrrrms     zNetworkAclEntry.endElementrr"r#r$rrrrrrrrr4Ws    r4c@r;) r5NcCsd|_d|_d|_dSr)r( subnet_idnetwork_acl_idr rrrr{s zNetworkAclAssociation.__init__cCr.)NzNetworkAclAssociation:%sr/rrrrrr0zNetworkAclAssociation.__repr__cCrrrrrrrrrz"NetworkAclAssociation.startElementcCs:|dkr ||_dS|dkr||_dS|dkr||_dSdS)NnetworkAclAssociationIdr7subnetId)r(rKrJrrrrrs   z NetworkAclAssociation.endElementrrIrrrrr5zs   r5c@r) rAzD Define the port range for the ACL entry if it is tcp / udp NcCrr from_portto_portr rrrrrzPortRange.__init__cCr)NzPortRange:(%s-%s)rNrrrrrrzPortRange.__repr__cCrrrrrrrrrzPortRange.startElementcCr)NfromtorNrrrrrr zPortRange.endElementrr!rrrrrAs   rAN) r%boto.ec2.ec2objectrboto.resultsetrobjectrr&r4r5rArrrrs  $#