Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/boto/rds/optiongroup.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
| author | shellac |
|---|---|
| date | Mon, 22 Mar 2021 18:12:50 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4f3585e2f14b |
|---|---|
| 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) |
