Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/boto/rds/optiongroup.py @ 0:d30785e31577 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author | guerler |
---|---|
date | Fri, 31 Jul 2020 00:18:57 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d30785e31577 |
---|---|
1 # Copyright (c) 2013 Amazon.com, Inc. or its affiliates. | |
2 # All Rights Reserved | |
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 """ | |
24 Represents an OptionGroup | |
25 """ | |
26 | |
27 from boto.rds.dbsecuritygroup import DBSecurityGroup | |
28 from boto.resultset import ResultSet | |
29 | |
30 | |
31 class OptionGroup(object): | |
32 """ | |
33 Represents an RDS option group | |
34 | |
35 Properties reference available from the AWS documentation at | |
36 http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_OptionGroup.html | |
37 | |
38 :ivar connection: :py:class:`boto.rds.RDSConnection` associated with the | |
39 current object | |
40 :ivar name: Name of the option group | |
41 :ivar description: The description of the option group | |
42 :ivar engine_name: The name of the database engine to use | |
43 :ivar major_engine_version: The major version number of the engine to use | |
44 :ivar allow_both_vpc_and_nonvpc: Indicates whether this option group can be | |
45 applied to both VPC and non-VPC instances. | |
46 The value ``True`` indicates the option | |
47 group can be applied to both VPC and | |
48 non-VPC instances. | |
49 :ivar vpc_id: If AllowsVpcAndNonVpcInstanceMemberships is 'false', this | |
50 field is blank. If AllowsVpcAndNonVpcInstanceMemberships is | |
51 ``True`` and this field is blank, then this option group can | |
52 be applied to both VPC and non-VPC instances. If this field | |
53 contains a value, then this option group can only be applied | |
54 to instances that are in the VPC indicated by this field. | |
55 :ivar options: The list of :py:class:`boto.rds.optiongroup.Option` objects | |
56 associated with the group | |
57 """ | |
58 def __init__(self, connection=None, name=None, engine_name=None, | |
59 major_engine_version=None, description=None, | |
60 allow_both_vpc_and_nonvpc=False, vpc_id=None): | |
61 self.name = name | |
62 self.engine_name = engine_name | |
63 self.major_engine_version = major_engine_version | |
64 self.description = description | |
65 self.allow_both_vpc_and_nonvpc = allow_both_vpc_and_nonvpc | |
66 self.vpc_id = vpc_id | |
67 self.options = [] | |
68 | |
69 def __repr__(self): | |
70 return 'OptionGroup:%s' % self.name | |
71 | |
72 def startElement(self, name, attrs, connection): | |
73 if name == 'Options': | |
74 self.options = ResultSet([ | |
75 ('Options', Option) | |
76 ]) | |
77 else: | |
78 return None | |
79 | |
80 def endElement(self, name, value, connection): | |
81 if name == 'OptionGroupName': | |
82 self.name = value | |
83 elif name == 'EngineName': | |
84 self.engine_name = value | |
85 elif name == 'MajorEngineVersion': | |
86 self.major_engine_version = value | |
87 elif name == 'OptionGroupDescription': | |
88 self.description = value | |
89 elif name == 'AllowsVpcAndNonVpcInstanceMemberships': | |
90 if value.lower() == 'true': | |
91 self.allow_both_vpc_and_nonvpc = True | |
92 else: | |
93 self.allow_both_vpc_and_nonvpc = False | |
94 elif name == 'VpcId': | |
95 self.vpc_id = value | |
96 else: | |
97 setattr(self, name, value) | |
98 | |
99 def delete(self): | |
100 return self.connection.delete_option_group(self.name) | |
101 | |
102 | |
103 class Option(object): | |
104 """ | |
105 Describes a Option for use in an OptionGroup | |
106 | |
107 :ivar name: The name of the option | |
108 :ivar description: The description of the option. | |
109 :ivar permanent: Indicate if this option is permanent. | |
110 :ivar persistent: Indicate if this option is persistent. | |
111 :ivar port: If required, the port configured for this option to use. | |
112 :ivar settings: The option settings for this option. | |
113 :ivar db_security_groups: If the option requires access to a port, then | |
114 this DB Security Group allows access to the port. | |
115 :ivar vpc_security_groups: If the option requires access to a port, then | |
116 this VPC Security Group allows access to the | |
117 port. | |
118 """ | |
119 def __init__(self, name=None, description=None, permanent=False, | |
120 persistent=False, port=None, settings=None, | |
121 db_security_groups=None, vpc_security_groups=None): | |
122 self.name = name | |
123 self.description = description | |
124 self.permanent = permanent | |
125 self.persistent = persistent | |
126 self.port = port | |
127 self.settings = settings | |
128 self.db_security_groups = db_security_groups | |
129 self.vpc_security_groups = vpc_security_groups | |
130 | |
131 if self.settings is None: | |
132 self.settings = [] | |
133 | |
134 if self.db_security_groups is None: | |
135 self.db_security_groups = [] | |
136 | |
137 if self.vpc_security_groups is None: | |
138 self.vpc_security_groups = [] | |
139 | |
140 def __repr__(self): | |
141 return 'Option:%s' % self.name | |
142 | |
143 def startElement(self, name, attrs, connection): | |
144 if name == 'OptionSettings': | |
145 self.settings = ResultSet([ | |
146 ('OptionSettings', OptionSetting) | |
147 ]) | |
148 elif name == 'DBSecurityGroupMemberships': | |
149 self.db_security_groups = ResultSet([ | |
150 ('DBSecurityGroupMemberships', DBSecurityGroup) | |
151 ]) | |
152 elif name == 'VpcSecurityGroupMemberships': | |
153 self.vpc_security_groups = ResultSet([ | |
154 ('VpcSecurityGroupMemberships', VpcSecurityGroup) | |
155 ]) | |
156 else: | |
157 return None | |
158 | |
159 def endElement(self, name, value, connection): | |
160 if name == 'OptionName': | |
161 self.name = value | |
162 elif name == 'OptionDescription': | |
163 self.description = value | |
164 elif name == 'Permanent': | |
165 if value.lower() == 'true': | |
166 self.permenant = True | |
167 else: | |
168 self.permenant = False | |
169 elif name == 'Persistent': | |
170 if value.lower() == 'true': | |
171 self.persistent = True | |
172 else: | |
173 self.persistent = False | |
174 elif name == 'Port': | |
175 self.port = int(value) | |
176 else: | |
177 setattr(self, name, value) | |
178 | |
179 | |
180 class OptionSetting(object): | |
181 """ | |
182 Describes a OptionSetting for use in an Option | |
183 | |
184 :ivar name: The name of the option that has settings that you can set. | |
185 :ivar description: The description of the option setting. | |
186 :ivar value: The current value of the option setting. | |
187 :ivar default_value: The default value of the option setting. | |
188 :ivar allowed_values: The allowed values of the option setting. | |
189 :ivar data_type: The data type of the option setting. | |
190 :ivar apply_type: The DB engine specific parameter type. | |
191 :ivar is_modifiable: A Boolean value that, when true, indicates the option | |
192 setting can be modified from the default. | |
193 :ivar is_collection: Indicates if the option setting is part of a | |
194 collection. | |
195 """ | |
196 | |
197 def __init__(self, name=None, description=None, value=None, | |
198 default_value=False, allowed_values=None, data_type=None, | |
199 apply_type=None, is_modifiable=False, is_collection=False): | |
200 self.name = name | |
201 self.description = description | |
202 self.value = value | |
203 self.default_value = default_value | |
204 self.allowed_values = allowed_values | |
205 self.data_type = data_type | |
206 self.apply_type = apply_type | |
207 self.is_modifiable = is_modifiable | |
208 self.is_collection = is_collection | |
209 | |
210 def __repr__(self): | |
211 return 'OptionSetting:%s' % self.name | |
212 | |
213 def startElement(self, name, attrs, connection): | |
214 return None | |
215 | |
216 def endElement(self, name, value, connection): | |
217 if name == 'Name': | |
218 self.name = value | |
219 elif name == 'Description': | |
220 self.description = value | |
221 elif name == 'Value': | |
222 self.value = value | |
223 elif name == 'DefaultValue': | |
224 self.default_value = value | |
225 elif name == 'AllowedValues': | |
226 self.allowed_values = value | |
227 elif name == 'DataType': | |
228 self.data_type = value | |
229 elif name == 'ApplyType': | |
230 self.apply_type = value | |
231 elif name == 'IsModifiable': | |
232 if value.lower() == 'true': | |
233 self.is_modifiable = True | |
234 else: | |
235 self.is_modifiable = False | |
236 elif name == 'IsCollection': | |
237 if value.lower() == 'true': | |
238 self.is_collection = True | |
239 else: | |
240 self.is_collection = False | |
241 else: | |
242 setattr(self, name, value) | |
243 | |
244 | |
245 class VpcSecurityGroup(object): | |
246 """ | |
247 Describes a VPC security group for use in a OptionGroup | |
248 """ | |
249 def __init__(self, vpc_id=None, status=None): | |
250 self.vpc_id = vpc_id | |
251 self.status = status | |
252 | |
253 def __repr__(self): | |
254 return 'VpcSecurityGroup:%s' % self.vpc_id | |
255 | |
256 def startElement(self, name, attrs, connection): | |
257 pass | |
258 | |
259 def endElement(self, name, value, connection): | |
260 if name == 'VpcSecurityGroupId': | |
261 self.vpc_id = value | |
262 elif name == 'Status': | |
263 self.status = value | |
264 else: | |
265 setattr(self, name, value) | |
266 | |
267 | |
268 class OptionGroupOption(object): | |
269 """ | |
270 Describes a OptionGroupOption for use in an OptionGroup | |
271 | |
272 :ivar name: The name of the option | |
273 :ivar description: The description of the option. | |
274 :ivar engine_name: Engine name that this option can be applied to. | |
275 :ivar major_engine_version: Indicates the major engine version that the | |
276 option is available for. | |
277 :ivar min_minor_engine_version: The minimum required engine version for the | |
278 option to be applied. | |
279 :ivar permanent: Indicate if this option is permanent. | |
280 :ivar persistent: Indicate if this option is persistent. | |
281 :ivar port_required: Specifies whether the option requires a port. | |
282 :ivar default_port: If the option requires a port, specifies the default | |
283 port for the option. | |
284 :ivar settings: The option settings for this option. | |
285 :ivar depends_on: List of all options that are prerequisites for this | |
286 option. | |
287 """ | |
288 def __init__(self, name=None, description=None, engine_name=None, | |
289 major_engine_version=None, min_minor_engine_version=None, | |
290 permanent=False, persistent=False, port_required=False, | |
291 default_port=None, settings=None, depends_on=None): | |
292 self.name = name | |
293 self.description = description | |
294 self.engine_name = engine_name | |
295 self.major_engine_version = major_engine_version | |
296 self.min_minor_engine_version = min_minor_engine_version | |
297 self.permanent = permanent | |
298 self.persistent = persistent | |
299 self.port_required = port_required | |
300 self.default_port = default_port | |
301 self.settings = settings | |
302 self.depends_on = depends_on | |
303 | |
304 if self.settings is None: | |
305 self.settings = [] | |
306 | |
307 if self.depends_on is None: | |
308 self.depends_on = [] | |
309 | |
310 def __repr__(self): | |
311 return 'OptionGroupOption:%s' % self.name | |
312 | |
313 def startElement(self, name, attrs, connection): | |
314 if name == 'OptionGroupOptionSettings': | |
315 self.settings = ResultSet([ | |
316 ('OptionGroupOptionSettings', OptionGroupOptionSetting) | |
317 ]) | |
318 elif name == 'OptionsDependedOn': | |
319 self.depends_on = [] | |
320 else: | |
321 return None | |
322 | |
323 def endElement(self, name, value, connection): | |
324 if name == 'Name': | |
325 self.name = value | |
326 elif name == 'Description': | |
327 self.description = value | |
328 elif name == 'EngineName': | |
329 self.engine_name = value | |
330 elif name == 'MajorEngineVersion': | |
331 self.major_engine_version = value | |
332 elif name == 'MinimumRequiredMinorEngineVersion': | |
333 self.min_minor_engine_version = value | |
334 elif name == 'Permanent': | |
335 if value.lower() == 'true': | |
336 self.permenant = True | |
337 else: | |
338 self.permenant = False | |
339 elif name == 'Persistent': | |
340 if value.lower() == 'true': | |
341 self.persistent = True | |
342 else: | |
343 self.persistent = False | |
344 elif name == 'PortRequired': | |
345 if value.lower() == 'true': | |
346 self.port_required = True | |
347 else: | |
348 self.port_required = False | |
349 elif name == 'DefaultPort': | |
350 self.default_port = int(value) | |
351 else: | |
352 setattr(self, name, value) | |
353 | |
354 | |
355 class OptionGroupOptionSetting(object): | |
356 """ | |
357 Describes a OptionGroupOptionSetting for use in an OptionGroupOption. | |
358 | |
359 :ivar name: The name of the option that has settings that you can set. | |
360 :ivar description: The description of the option setting. | |
361 :ivar value: The current value of the option setting. | |
362 :ivar default_value: The default value of the option setting. | |
363 :ivar allowed_values: The allowed values of the option setting. | |
364 :ivar data_type: The data type of the option setting. | |
365 :ivar apply_type: The DB engine specific parameter type. | |
366 :ivar is_modifiable: A Boolean value that, when true, indicates the option | |
367 setting can be modified from the default. | |
368 :ivar is_collection: Indicates if the option setting is part of a | |
369 collection. | |
370 """ | |
371 | |
372 def __init__(self, name=None, description=None, default_value=False, | |
373 allowed_values=None, apply_type=None, is_modifiable=False): | |
374 self.name = name | |
375 self.description = description | |
376 self.default_value = default_value | |
377 self.allowed_values = allowed_values | |
378 self.apply_type = apply_type | |
379 self.is_modifiable = is_modifiable | |
380 | |
381 def __repr__(self): | |
382 return 'OptionGroupOptionSetting:%s' % self.name | |
383 | |
384 def startElement(self, name, attrs, connection): | |
385 return None | |
386 | |
387 def endElement(self, name, value, connection): | |
388 if name == 'SettingName': | |
389 self.name = value | |
390 elif name == 'SettingDescription': | |
391 self.description = value | |
392 elif name == 'DefaultValue': | |
393 self.default_value = value | |
394 elif name == 'AllowedValues': | |
395 self.allowed_values = value | |
396 elif name == 'ApplyType': | |
397 self.apply_type = value | |
398 elif name == 'IsModifiable': | |
399 if value.lower() == 'true': | |
400 self.is_modifiable = True | |
401 else: | |
402 self.is_modifiable = False | |
403 else: | |
404 setattr(self, name, value) |