<s> from . import AWSObject , AWSProperty <EOL> from . validators import boolean , integer , positive_integer , network_port <EOL> class Cookies ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> } <EOL> class ForwardedValues ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( Cookies , False ) , <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( boolean , True ) , <EOL> } <EOL> class CacheBehavior ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( ForwardedValues , True ) , <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> } <EOL> class DefaultCacheBehavior ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( ForwardedValues , True ) , <EOL> '<STR_LIT>' : ( list , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( integer , False ) , <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> } <EOL> class S3Origin ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> } <EOL> class CustomOrigin ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( network_port , False ) , <EOL> '<STR_LIT>' : ( network_port , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> } <EOL> class Origin ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( S3Origin , False ) , <EOL> '<STR_LIT>' : ( CustomOrigin , False ) , <EOL> } <EOL> class Logging ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> } <EOL> class CustomErrorResponse ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( positive_integer , False ) , <EOL> '<STR_LIT>' : ( positive_integer , True ) , <EOL> '<STR_LIT>' : ( positive_integer , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> } <EOL> class GeoRestriction ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( [ basestring ] , False ) , <EOL> '<STR_LIT>' : ( basestring , True ) , <EOL> } <EOL> class Restrictions ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( GeoRestriction , True ) , <EOL> } <EOL> class ViewerCertificate ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( boolean , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> } <EOL> class DistributionConfig ( AWSProperty ) : <EOL> props = { <EOL> '<STR_LIT>' : ( list , False ) , <EOL> '<STR_LIT>' : ( [ CacheBehavior ] , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( [ CustomErrorResponse ] , False ) , <EOL> '<STR_LIT>' : ( DefaultCacheBehavior , True ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( boolean , True ) , <EOL> '<STR_LIT>' : ( Logging , False ) , <EOL> '<STR_LIT>' : ( list , True ) , <EOL> '<STR_LIT>' : ( basestring , False ) , <EOL> '<STR_LIT>' : ( Restrictions , False ) , <EOL> '<STR_LIT>' : ( ViewerCertificate , False ) , <EOL> '<STR_LIT>' : ( basestring , False ) <EOL> } <EOL> class Distribution ( AWSObject ) : <EOL> resource_type = "<STR_LIT>" <EOL> props = { <EOL> '<STR_LIT>' : ( DistributionConfig , True ) , <EOL> } </s>
