| Index: tools/telemetry/third_party/gsutilz/third_party/boto/boto/rds/optiongroup.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/boto/boto/rds/optiongroup.py b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/rds/optiongroup.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8968b6cad65a3b2e79c673f740c628c0f72ba83a
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/rds/optiongroup.py
|
| @@ -0,0 +1,404 @@
|
| +# Copyright (c) 2013 Amazon.com, Inc. or its affiliates.
|
| +# All Rights Reserved
|
| +#
|
| +# Permission is hereby granted, free of charge, to any person obtaining a
|
| +# copy of this software and associated documentation files (the
|
| +# "Software"), to deal in the Software without restriction, including
|
| +# without limitation the rights to use, copy, modify, merge, publish, dis-
|
| +# tribute, sublicense, and/or sell copies of the Software, and to permit
|
| +# persons to whom the Software is furnished to do so, subject to the fol-
|
| +# lowing conditions:
|
| +#
|
| +# The above copyright notice and this permission notice shall be included
|
| +# in all copies or substantial portions of the Software.
|
| +#
|
| +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
| +# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
| +# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
| +# IN THE SOFTWARE.
|
| +
|
| +"""
|
| +Represents an OptionGroup
|
| +"""
|
| +
|
| +from boto.rds.dbsecuritygroup import DBSecurityGroup
|
| +from boto.resultset import ResultSet
|
| +
|
| +
|
| +class OptionGroup(object):
|
| + """
|
| + Represents an RDS option group
|
| +
|
| + Properties reference available from the AWS documentation at
|
| + http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_OptionGroup.html
|
| +
|
| + :ivar connection: :py:class:`boto.rds.RDSConnection` associated with the
|
| + current object
|
| + :ivar name: Name of the option group
|
| + :ivar description: The description of the option group
|
| + :ivar engine_name: The name of the database engine to use
|
| + :ivar major_engine_version: The major version number of the engine to use
|
| + :ivar allow_both_vpc_and_nonvpc: Indicates whether this option group can be
|
| + applied to both VPC and non-VPC instances.
|
| + The value ``True`` indicates the option
|
| + group can be applied to both VPC and
|
| + non-VPC instances.
|
| + :ivar vpc_id: If AllowsVpcAndNonVpcInstanceMemberships is 'false', this
|
| + field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
|
| + ``True`` and this field is blank, then this option group can
|
| + be applied to both VPC and non-VPC instances. If this field
|
| + contains a value, then this option group can only be applied
|
| + to instances that are in the VPC indicated by this field.
|
| + :ivar options: The list of :py:class:`boto.rds.optiongroup.Option` objects
|
| + associated with the group
|
| + """
|
| + def __init__(self, connection=None, name=None, engine_name=None,
|
| + major_engine_version=None, description=None,
|
| + allow_both_vpc_and_nonvpc=False, vpc_id=None):
|
| + self.name = name
|
| + self.engine_name = engine_name
|
| + self.major_engine_version = major_engine_version
|
| + self.description = description
|
| + self.allow_both_vpc_and_nonvpc = allow_both_vpc_and_nonvpc
|
| + self.vpc_id = vpc_id
|
| + self.options = []
|
| +
|
| + def __repr__(self):
|
| + return 'OptionGroup:%s' % self.name
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + if name == 'Options':
|
| + self.options = ResultSet([
|
| + ('Options', Option)
|
| + ])
|
| + else:
|
| + return None
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'OptionGroupName':
|
| + self.name = value
|
| + elif name == 'EngineName':
|
| + self.engine_name = value
|
| + elif name == 'MajorEngineVersion':
|
| + self.major_engine_version = value
|
| + elif name == 'OptionGroupDescription':
|
| + self.description = value
|
| + elif name == 'AllowsVpcAndNonVpcInstanceMemberships':
|
| + if value.lower() == 'true':
|
| + self.allow_both_vpc_and_nonvpc = True
|
| + else:
|
| + self.allow_both_vpc_and_nonvpc = False
|
| + elif name == 'VpcId':
|
| + self.vpc_id = value
|
| + else:
|
| + setattr(self, name, value)
|
| +
|
| + def delete(self):
|
| + return self.connection.delete_option_group(self.name)
|
| +
|
| +
|
| +class Option(object):
|
| + """
|
| + Describes a Option for use in an OptionGroup
|
| +
|
| + :ivar name: The name of the option
|
| + :ivar description: The description of the option.
|
| + :ivar permanent: Indicate if this option is permanent.
|
| + :ivar persistent: Indicate if this option is persistent.
|
| + :ivar port: If required, the port configured for this option to use.
|
| + :ivar settings: The option settings for this option.
|
| + :ivar db_security_groups: If the option requires access to a port, then
|
| + this DB Security Group allows access to the port.
|
| + :ivar vpc_security_groups: If the option requires access to a port, then
|
| + this VPC Security Group allows access to the
|
| + port.
|
| + """
|
| + def __init__(self, name=None, description=None, permanent=False,
|
| + persistent=False, port=None, settings=None,
|
| + db_security_groups=None, vpc_security_groups=None):
|
| + self.name = name
|
| + self.description = description
|
| + self.permanent = permanent
|
| + self.persistent = persistent
|
| + self.port = port
|
| + self.settings = settings
|
| + self.db_security_groups = db_security_groups
|
| + self.vpc_security_groups = vpc_security_groups
|
| +
|
| + if self.settings is None:
|
| + self.settings = []
|
| +
|
| + if self.db_security_groups is None:
|
| + self.db_security_groups = []
|
| +
|
| + if self.vpc_security_groups is None:
|
| + self.vpc_security_groups = []
|
| +
|
| + def __repr__(self):
|
| + return 'Option:%s' % self.name
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + if name == 'OptionSettings':
|
| + self.settings = ResultSet([
|
| + ('OptionSettings', OptionSetting)
|
| + ])
|
| + elif name == 'DBSecurityGroupMemberships':
|
| + self.db_security_groups = ResultSet([
|
| + ('DBSecurityGroupMemberships', DBSecurityGroup)
|
| + ])
|
| + elif name == 'VpcSecurityGroupMemberships':
|
| + self.vpc_security_groups = ResultSet([
|
| + ('VpcSecurityGroupMemberships', VpcSecurityGroup)
|
| + ])
|
| + else:
|
| + return None
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'OptionName':
|
| + self.name = value
|
| + elif name == 'OptionDescription':
|
| + self.description = value
|
| + elif name == 'Permanent':
|
| + if value.lower() == 'true':
|
| + self.permenant = True
|
| + else:
|
| + self.permenant = False
|
| + elif name == 'Persistent':
|
| + if value.lower() == 'true':
|
| + self.persistent = True
|
| + else:
|
| + self.persistent = False
|
| + elif name == 'Port':
|
| + self.port = int(value)
|
| + else:
|
| + setattr(self, name, value)
|
| +
|
| +
|
| +class OptionSetting(object):
|
| + """
|
| + Describes a OptionSetting for use in an Option
|
| +
|
| + :ivar name: The name of the option that has settings that you can set.
|
| + :ivar description: The description of the option setting.
|
| + :ivar value: The current value of the option setting.
|
| + :ivar default_value: The default value of the option setting.
|
| + :ivar allowed_values: The allowed values of the option setting.
|
| + :ivar data_type: The data type of the option setting.
|
| + :ivar apply_type: The DB engine specific parameter type.
|
| + :ivar is_modifiable: A Boolean value that, when true, indicates the option
|
| + setting can be modified from the default.
|
| + :ivar is_collection: Indicates if the option setting is part of a
|
| + collection.
|
| + """
|
| +
|
| + def __init__(self, name=None, description=None, value=None,
|
| + default_value=False, allowed_values=None, data_type=None,
|
| + apply_type=None, is_modifiable=False, is_collection=False):
|
| + self.name = name
|
| + self.description = description
|
| + self.value = value
|
| + self.default_value = default_value
|
| + self.allowed_values = allowed_values
|
| + self.data_type = data_type
|
| + self.apply_type = apply_type
|
| + self.is_modifiable = is_modifiable
|
| + self.is_collection = is_collection
|
| +
|
| + def __repr__(self):
|
| + return 'OptionSetting:%s' % self.name
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + return None
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'Name':
|
| + self.name = value
|
| + elif name == 'Description':
|
| + self.description = value
|
| + elif name == 'Value':
|
| + self.value = value
|
| + elif name == 'DefaultValue':
|
| + self.default_value = value
|
| + elif name == 'AllowedValues':
|
| + self.allowed_values = value
|
| + elif name == 'DataType':
|
| + self.data_type = value
|
| + elif name == 'ApplyType':
|
| + self.apply_type = value
|
| + elif name == 'IsModifiable':
|
| + if value.lower() == 'true':
|
| + self.is_modifiable = True
|
| + else:
|
| + self.is_modifiable = False
|
| + elif name == 'IsCollection':
|
| + if value.lower() == 'true':
|
| + self.is_collection = True
|
| + else:
|
| + self.is_collection = False
|
| + else:
|
| + setattr(self, name, value)
|
| +
|
| +
|
| +class VpcSecurityGroup(object):
|
| + """
|
| + Describes a VPC security group for use in a OptionGroup
|
| + """
|
| + def __init__(self, vpc_id=None, status=None):
|
| + self.vpc_id = vpc_id
|
| + self.status = status
|
| +
|
| + def __repr__(self):
|
| + return 'VpcSecurityGroup:%s' % self.vpc_id
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + pass
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'VpcSecurityGroupId':
|
| + self.vpc_id = value
|
| + elif name == 'Status':
|
| + self.status = value
|
| + else:
|
| + setattr(self, name, value)
|
| +
|
| +
|
| +class OptionGroupOption(object):
|
| + """
|
| + Describes a OptionGroupOption for use in an OptionGroup
|
| +
|
| + :ivar name: The name of the option
|
| + :ivar description: The description of the option.
|
| + :ivar engine_name: Engine name that this option can be applied to.
|
| + :ivar major_engine_version: Indicates the major engine version that the
|
| + option is available for.
|
| + :ivar min_minor_engine_version: The minimum required engine version for the
|
| + option to be applied.
|
| + :ivar permanent: Indicate if this option is permanent.
|
| + :ivar persistent: Indicate if this option is persistent.
|
| + :ivar port_required: Specifies whether the option requires a port.
|
| + :ivar default_port: If the option requires a port, specifies the default
|
| + port for the option.
|
| + :ivar settings: The option settings for this option.
|
| + :ivar depends_on: List of all options that are prerequisites for this
|
| + option.
|
| + """
|
| + def __init__(self, name=None, description=None, engine_name=None,
|
| + major_engine_version=None, min_minor_engine_version=None,
|
| + permanent=False, persistent=False, port_required=False,
|
| + default_port=None, settings=None, depends_on=None):
|
| + self.name = name
|
| + self.description = description
|
| + self.engine_name = engine_name
|
| + self.major_engine_version = major_engine_version
|
| + self.min_minor_engine_version = min_minor_engine_version
|
| + self.permanent = permanent
|
| + self.persistent = persistent
|
| + self.port_required = port_required
|
| + self.default_port = default_port
|
| + self.settings = settings
|
| + self.depends_on = depends_on
|
| +
|
| + if self.settings is None:
|
| + self.settings = []
|
| +
|
| + if self.depends_on is None:
|
| + self.depends_on = []
|
| +
|
| + def __repr__(self):
|
| + return 'OptionGroupOption:%s' % self.name
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + if name == 'OptionGroupOptionSettings':
|
| + self.settings = ResultSet([
|
| + ('OptionGroupOptionSettings', OptionGroupOptionSetting)
|
| + ])
|
| + elif name == 'OptionsDependedOn':
|
| + self.depends_on = []
|
| + else:
|
| + return None
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'Name':
|
| + self.name = value
|
| + elif name == 'Description':
|
| + self.description = value
|
| + elif name == 'EngineName':
|
| + self.engine_name = value
|
| + elif name == 'MajorEngineVersion':
|
| + self.major_engine_version = value
|
| + elif name == 'MinimumRequiredMinorEngineVersion':
|
| + self.min_minor_engine_version = value
|
| + elif name == 'Permanent':
|
| + if value.lower() == 'true':
|
| + self.permenant = True
|
| + else:
|
| + self.permenant = False
|
| + elif name == 'Persistent':
|
| + if value.lower() == 'true':
|
| + self.persistent = True
|
| + else:
|
| + self.persistent = False
|
| + elif name == 'PortRequired':
|
| + if value.lower() == 'true':
|
| + self.port_required = True
|
| + else:
|
| + self.port_required = False
|
| + elif name == 'DefaultPort':
|
| + self.default_port = int(value)
|
| + else:
|
| + setattr(self, name, value)
|
| +
|
| +
|
| +class OptionGroupOptionSetting(object):
|
| + """
|
| + Describes a OptionGroupOptionSetting for use in an OptionGroupOption.
|
| +
|
| + :ivar name: The name of the option that has settings that you can set.
|
| + :ivar description: The description of the option setting.
|
| + :ivar value: The current value of the option setting.
|
| + :ivar default_value: The default value of the option setting.
|
| + :ivar allowed_values: The allowed values of the option setting.
|
| + :ivar data_type: The data type of the option setting.
|
| + :ivar apply_type: The DB engine specific parameter type.
|
| + :ivar is_modifiable: A Boolean value that, when true, indicates the option
|
| + setting can be modified from the default.
|
| + :ivar is_collection: Indicates if the option setting is part of a
|
| + collection.
|
| + """
|
| +
|
| + def __init__(self, name=None, description=None, default_value=False,
|
| + allowed_values=None, apply_type=None, is_modifiable=False):
|
| + self.name = name
|
| + self.description = description
|
| + self.default_value = default_value
|
| + self.allowed_values = allowed_values
|
| + self.apply_type = apply_type
|
| + self.is_modifiable = is_modifiable
|
| +
|
| + def __repr__(self):
|
| + return 'OptionGroupOptionSetting:%s' % self.name
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + return None
|
| +
|
| + def endElement(self, name, value, connection):
|
| + if name == 'SettingName':
|
| + self.name = value
|
| + elif name == 'SettingDescription':
|
| + self.description = value
|
| + elif name == 'DefaultValue':
|
| + self.default_value = value
|
| + elif name == 'AllowedValues':
|
| + self.allowed_values = value
|
| + elif name == 'ApplyType':
|
| + self.apply_type = value
|
| + elif name == 'IsModifiable':
|
| + if value.lower() == 'true':
|
| + self.is_modifiable = True
|
| + else:
|
| + self.is_modifiable = False
|
| + else:
|
| + setattr(self, name, value)
|
|
|