Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/boto/cloudfront/origin.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author | shellac |
---|---|
date | Mon, 01 Jun 2020 08:59:25 -0400 |
parents | 79f47841a781 |
children |
comparison
equal
deleted
inserted
replaced
4:79f47841a781 | 5:9b1c78e6ba9c |
---|---|
1 # Copyright (c) 2006-2010 Mitch Garnaat http://garnaat.org/ | |
2 # Copyright (c) 2010, Eucalyptus Systems, Inc. | |
3 # | |
4 # Permission is hereby granted, free of charge, to any person obtaining a | |
5 # copy of this software and associated documentation files (the | |
6 # "Software"), to deal in the Software without restriction, including | |
7 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
8 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
9 # persons to whom the Software is furnished to do so, subject to the fol- | |
10 # lowing conditions: | |
11 # | |
12 # The above copyright notice and this permission notice shall be included | |
13 # in all copies or substantial portions of the Software. | |
14 # | |
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
16 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
17 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
18 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
19 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
21 # IN THE SOFTWARE. | |
22 | |
23 from boto.cloudfront.identity import OriginAccessIdentity | |
24 | |
25 def get_oai_value(origin_access_identity): | |
26 if isinstance(origin_access_identity, OriginAccessIdentity): | |
27 return origin_access_identity.uri() | |
28 else: | |
29 return origin_access_identity | |
30 | |
31 class S3Origin(object): | |
32 """ | |
33 Origin information to associate with the distribution. | |
34 If your distribution will use an Amazon S3 origin, | |
35 then you use the S3Origin element. | |
36 """ | |
37 | |
38 def __init__(self, dns_name=None, origin_access_identity=None): | |
39 """ | |
40 :param dns_name: The DNS name of your Amazon S3 bucket to | |
41 associate with the distribution. | |
42 For example: mybucket.s3.amazonaws.com. | |
43 :type dns_name: str | |
44 | |
45 :param origin_access_identity: The CloudFront origin access | |
46 identity to associate with the | |
47 distribution. If you want the | |
48 distribution to serve private content, | |
49 include this element; if you want the | |
50 distribution to serve public content, | |
51 remove this element. | |
52 :type origin_access_identity: str | |
53 | |
54 """ | |
55 self.dns_name = dns_name | |
56 self.origin_access_identity = origin_access_identity | |
57 | |
58 def __repr__(self): | |
59 return '<S3Origin: %s>' % self.dns_name | |
60 | |
61 def startElement(self, name, attrs, connection): | |
62 return None | |
63 | |
64 def endElement(self, name, value, connection): | |
65 if name == 'DNSName': | |
66 self.dns_name = value | |
67 elif name == 'OriginAccessIdentity': | |
68 self.origin_access_identity = value | |
69 else: | |
70 setattr(self, name, value) | |
71 | |
72 def to_xml(self): | |
73 s = ' <S3Origin>\n' | |
74 s += ' <DNSName>%s</DNSName>\n' % self.dns_name | |
75 if self.origin_access_identity: | |
76 val = get_oai_value(self.origin_access_identity) | |
77 s += ' <OriginAccessIdentity>%s</OriginAccessIdentity>\n' % val | |
78 s += ' </S3Origin>\n' | |
79 return s | |
80 | |
81 class CustomOrigin(object): | |
82 """ | |
83 Origin information to associate with the distribution. | |
84 If your distribution will use a non-Amazon S3 origin, | |
85 then you use the CustomOrigin element. | |
86 """ | |
87 | |
88 def __init__(self, dns_name=None, http_port=80, https_port=443, | |
89 origin_protocol_policy=None): | |
90 """ | |
91 :param dns_name: The DNS name of your Amazon S3 bucket to | |
92 associate with the distribution. | |
93 For example: mybucket.s3.amazonaws.com. | |
94 :type dns_name: str | |
95 | |
96 :param http_port: The HTTP port the custom origin listens on. | |
97 :type http_port: int | |
98 | |
99 :param https_port: The HTTPS port the custom origin listens on. | |
100 :type http_port: int | |
101 | |
102 :param origin_protocol_policy: The origin protocol policy to | |
103 apply to your origin. If you | |
104 specify http-only, CloudFront | |
105 will use HTTP only to access the origin. | |
106 If you specify match-viewer, CloudFront | |
107 will fetch from your origin using HTTP | |
108 or HTTPS, based on the protocol of the | |
109 viewer request. | |
110 :type origin_protocol_policy: str | |
111 | |
112 """ | |
113 self.dns_name = dns_name | |
114 self.http_port = http_port | |
115 self.https_port = https_port | |
116 self.origin_protocol_policy = origin_protocol_policy | |
117 | |
118 def __repr__(self): | |
119 return '<CustomOrigin: %s>' % self.dns_name | |
120 | |
121 def startElement(self, name, attrs, connection): | |
122 return None | |
123 | |
124 def endElement(self, name, value, connection): | |
125 if name == 'DNSName': | |
126 self.dns_name = value | |
127 elif name == 'HTTPPort': | |
128 try: | |
129 self.http_port = int(value) | |
130 except ValueError: | |
131 self.http_port = value | |
132 elif name == 'HTTPSPort': | |
133 try: | |
134 self.https_port = int(value) | |
135 except ValueError: | |
136 self.https_port = value | |
137 elif name == 'OriginProtocolPolicy': | |
138 self.origin_protocol_policy = value | |
139 else: | |
140 setattr(self, name, value) | |
141 | |
142 def to_xml(self): | |
143 s = ' <CustomOrigin>\n' | |
144 s += ' <DNSName>%s</DNSName>\n' % self.dns_name | |
145 s += ' <HTTPPort>%d</HTTPPort>\n' % self.http_port | |
146 s += ' <HTTPSPort>%d</HTTPSPort>\n' % self.https_port | |
147 s += ' <OriginProtocolPolicy>%s</OriginProtocolPolicy>\n' % self.origin_protocol_policy | |
148 s += ' </CustomOrigin>\n' | |
149 return s | |
150 |