comparison env/lib/python3.7/site-packages/boto/cloudfront/identity.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-2009 Mitch Garnaat http://garnaat.org/
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the
5 # "Software"), to deal in the Software without restriction, including
6 # without limitation the rights to use, copy, modify, merge, publish, dis-
7 # tribute, sublicense, and/or sell copies of the Software, and to permit
8 # persons to whom the Software is furnished to do so, subject to the fol-
9 # lowing conditions:
10 #
11 # The above copyright notice and this permission notice shall be included
12 # in all copies or substantial portions of the Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 # IN THE SOFTWARE.
21
22 import uuid
23
24 class OriginAccessIdentity(object):
25 def __init__(self, connection=None, config=None, id='',
26 s3_user_id='', comment=''):
27 self.connection = connection
28 self.config = config
29 self.id = id
30 self.s3_user_id = s3_user_id
31 self.comment = comment
32 self.etag = None
33
34 def startElement(self, name, attrs, connection):
35 if name == 'CloudFrontOriginAccessIdentityConfig':
36 self.config = OriginAccessIdentityConfig()
37 return self.config
38 else:
39 return None
40
41 def endElement(self, name, value, connection):
42 if name == 'Id':
43 self.id = value
44 elif name == 'S3CanonicalUserId':
45 self.s3_user_id = value
46 elif name == 'Comment':
47 self.comment = value
48 else:
49 setattr(self, name, value)
50
51 def update(self, comment=None):
52 new_config = OriginAccessIdentityConfig(self.connection,
53 self.config.caller_reference,
54 self.config.comment)
55 if comment is not None:
56 new_config.comment = comment
57 self.etag = self.connection.set_origin_identity_config(self.id, self.etag, new_config)
58 self.config = new_config
59
60 def delete(self):
61 return self.connection.delete_origin_access_identity(self.id, self.etag)
62
63 def uri(self):
64 return 'origin-access-identity/cloudfront/%s' % self.id
65
66
67 class OriginAccessIdentityConfig(object):
68 def __init__(self, connection=None, caller_reference='', comment=''):
69 self.connection = connection
70 if caller_reference:
71 self.caller_reference = caller_reference
72 else:
73 self.caller_reference = str(uuid.uuid4())
74 self.comment = comment
75
76 def to_xml(self):
77 s = '<?xml version="1.0" encoding="UTF-8"?>\n'
78 s += '<CloudFrontOriginAccessIdentityConfig xmlns="http://cloudfront.amazonaws.com/doc/2009-09-09/">\n'
79 s += ' <CallerReference>%s</CallerReference>\n' % self.caller_reference
80 if self.comment:
81 s += ' <Comment>%s</Comment>\n' % self.comment
82 s += '</CloudFrontOriginAccessIdentityConfig>\n'
83 return s
84
85 def startElement(self, name, attrs, connection):
86 return None
87
88 def endElement(self, name, value, connection):
89 if name == 'Comment':
90 self.comment = value
91 elif name == 'CallerReference':
92 self.caller_reference = value
93 else:
94 setattr(self, name, value)
95
96
97 class OriginAccessIdentitySummary(object):
98 def __init__(self, connection=None, id='',
99 s3_user_id='', comment=''):
100 self.connection = connection
101 self.id = id
102 self.s3_user_id = s3_user_id
103 self.comment = comment
104 self.etag = None
105
106 def startElement(self, name, attrs, connection):
107 return None
108
109 def endElement(self, name, value, connection):
110 if name == 'Id':
111 self.id = value
112 elif name == 'S3CanonicalUserId':
113 self.s3_user_id = value
114 elif name == 'Comment':
115 self.comment = value
116 else:
117 setattr(self, name, value)
118
119 def get_origin_access_identity(self):
120 return self.connection.get_origin_access_identity_info(self.id)
121