huaweicloud-sdk-python-v3/huaweicloud-sdk-dds/huaweicloudsdkdds/v3/model/create_instance_request_bod...

473 lines
16 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
import pprint
import re
import six
class CreateInstanceRequestBody:
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
sensitive_list = []
openapi_types = {
'name': 'str',
'datastore': 'CreateInstanceDatastoreOption',
'region': 'str',
'availability_zone': 'str',
'vpc_id': 'str',
'subnet_id': 'str',
'security_group_id': 'str',
'password': 'str',
'disk_encryption_id': 'str',
'mode': 'str',
'flavor': 'list[CreateInstanceFlavorOption]',
'storage': 'CreateInstanceStorageOption',
'backup_strategy': 'CreateInstanceBackupStrategyOption',
'enterprise_project_id': 'str',
'ssl_option': 'str'
}
attribute_map = {
'name': 'name',
'datastore': 'datastore',
'region': 'region',
'availability_zone': 'availability_zone',
'vpc_id': 'vpc_id',
'subnet_id': 'subnet_id',
'security_group_id': 'security_group_id',
'password': 'password',
'disk_encryption_id': 'disk_encryption_id',
'mode': 'mode',
'flavor': 'flavor',
'storage': 'storage',
'backup_strategy': 'backup_strategy',
'enterprise_project_id': 'enterprise_project_id',
'ssl_option': 'ssl_option'
}
def __init__(self, name=None, datastore=None, region=None, availability_zone=None, vpc_id=None, subnet_id=None, security_group_id=None, password=None, disk_encryption_id=None, mode=None, flavor=None, storage=None, backup_strategy=None, enterprise_project_id=None, ssl_option=None):
"""CreateInstanceRequestBody - a model defined in huaweicloud sdk"""
self._name = None
self._datastore = None
self._region = None
self._availability_zone = None
self._vpc_id = None
self._subnet_id = None
self._security_group_id = None
self._password = None
self._disk_encryption_id = None
self._mode = None
self._flavor = None
self._storage = None
self._backup_strategy = None
self._enterprise_project_id = None
self._ssl_option = None
self.discriminator = None
self.name = name
self.datastore = datastore
self.region = region
self.availability_zone = availability_zone
self.vpc_id = vpc_id
self.subnet_id = subnet_id
self.security_group_id = security_group_id
self.password = password
if disk_encryption_id is not None:
self.disk_encryption_id = disk_encryption_id
self.mode = mode
self.flavor = flavor
if storage is not None:
self.storage = storage
if backup_strategy is not None:
self.backup_strategy = backup_strategy
if enterprise_project_id is not None:
self.enterprise_project_id = enterprise_project_id
if ssl_option is not None:
self.ssl_option = ssl_option
@property
def name(self):
"""Gets the name of this CreateInstanceRequestBody.
实例名称。用于表示实例的名称,用于表示实例的名称,同一租户下,同类型的实例名唯一。 取值范围长度为4~64位必须以字母开头A~Z或a~z区分大小写可以包含字母、数字0~9、中划线-或者下划线_不能包含其他特殊字符。
:return: The name of this CreateInstanceRequestBody.
:rtype: str
"""
return self._name
@name.setter
def name(self, name):
"""Sets the name of this CreateInstanceRequestBody.
实例名称。用于表示实例的名称,用于表示实例的名称,同一租户下,同类型的实例名唯一。 取值范围长度为4~64位必须以字母开头A~Z或a~z区分大小写可以包含字母、数字0~9、中划线-或者下划线_不能包含其他特殊字符。
:param name: The name of this CreateInstanceRequestBody.
:type: str
"""
self._name = name
@property
def datastore(self):
"""Gets the datastore of this CreateInstanceRequestBody.
:return: The datastore of this CreateInstanceRequestBody.
:rtype: CreateInstanceDatastoreOption
"""
return self._datastore
@datastore.setter
def datastore(self, datastore):
"""Sets the datastore of this CreateInstanceRequestBody.
:param datastore: The datastore of this CreateInstanceRequestBody.
:type: CreateInstanceDatastoreOption
"""
self._datastore = datastore
@property
def region(self):
"""Gets the region of this CreateInstanceRequestBody.
区域ID。
:return: The region of this CreateInstanceRequestBody.
:rtype: str
"""
return self._region
@region.setter
def region(self, region):
"""Sets the region of this CreateInstanceRequestBody.
区域ID。
:param region: The region of this CreateInstanceRequestBody.
:type: str
"""
self._region = region
@property
def availability_zone(self):
"""Gets the availability_zone of this CreateInstanceRequestBody.
可用区ID。
:return: The availability_zone of this CreateInstanceRequestBody.
:rtype: str
"""
return self._availability_zone
@availability_zone.setter
def availability_zone(self, availability_zone):
"""Sets the availability_zone of this CreateInstanceRequestBody.
可用区ID。
:param availability_zone: The availability_zone of this CreateInstanceRequestBody.
:type: str
"""
self._availability_zone = availability_zone
@property
def vpc_id(self):
"""Gets the vpc_id of this CreateInstanceRequestBody.
虚拟私有云ID。获取方法请参见《虚拟私有云API参考》中“VPC”的内容。 取值非空字符长度校验严格UUID正则校验。
:return: The vpc_id of this CreateInstanceRequestBody.
:rtype: str
"""
return self._vpc_id
@vpc_id.setter
def vpc_id(self, vpc_id):
"""Sets the vpc_id of this CreateInstanceRequestBody.
虚拟私有云ID。获取方法请参见《虚拟私有云API参考》中“VPC”的内容。 取值非空字符长度校验严格UUID正则校验。
:param vpc_id: The vpc_id of this CreateInstanceRequestBody.
:type: str
"""
self._vpc_id = vpc_id
@property
def subnet_id(self):
"""Gets the subnet_id of this CreateInstanceRequestBody.
子网ID。获取方法请参见《虚拟私有云API参考》中“子网”的内容。
:return: The subnet_id of this CreateInstanceRequestBody.
:rtype: str
"""
return self._subnet_id
@subnet_id.setter
def subnet_id(self, subnet_id):
"""Sets the subnet_id of this CreateInstanceRequestBody.
子网ID。获取方法请参见《虚拟私有云API参考》中“子网”的内容。
:param subnet_id: The subnet_id of this CreateInstanceRequestBody.
:type: str
"""
self._subnet_id = subnet_id
@property
def security_group_id(self):
"""Gets the security_group_id of this CreateInstanceRequestBody.
指定实例所属的安全组ID。 获取方法请参见《虚拟私有云API参考》中“安全组”的内容。
:return: The security_group_id of this CreateInstanceRequestBody.
:rtype: str
"""
return self._security_group_id
@security_group_id.setter
def security_group_id(self, security_group_id):
"""Sets the security_group_id of this CreateInstanceRequestBody.
指定实例所属的安全组ID。 获取方法请参见《虚拟私有云API参考》中“安全组”的内容。
:param security_group_id: The security_group_id of this CreateInstanceRequestBody.
:type: str
"""
self._security_group_id = security_group_id
@property
def password(self):
"""Gets the password of this CreateInstanceRequestBody.
数据库密码。 取值范围长度为8~32位必须是大写字母A~Z、小写字母a~z、数字0~9、特殊字符~!@#%^*-_=+?的组合。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
:return: The password of this CreateInstanceRequestBody.
:rtype: str
"""
return self._password
@password.setter
def password(self, password):
"""Sets the password of this CreateInstanceRequestBody.
数据库密码。 取值范围长度为8~32位必须是大写字母A~Z、小写字母a~z、数字0~9、特殊字符~!@#%^*-_=+?的组合。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
:param password: The password of this CreateInstanceRequestBody.
:type: str
"""
self._password = password
@property
def disk_encryption_id(self):
"""Gets the disk_encryption_id of this CreateInstanceRequestBody.
磁盘加密时的密钥ID严格UUID正则校验。仅支持社区版引擎。 不传该参数时,表示不进行磁盘加密。
:return: The disk_encryption_id of this CreateInstanceRequestBody.
:rtype: str
"""
return self._disk_encryption_id
@disk_encryption_id.setter
def disk_encryption_id(self, disk_encryption_id):
"""Sets the disk_encryption_id of this CreateInstanceRequestBody.
磁盘加密时的密钥ID严格UUID正则校验。仅支持社区版引擎。 不传该参数时,表示不进行磁盘加密。
:param disk_encryption_id: The disk_encryption_id of this CreateInstanceRequestBody.
:type: str
"""
self._disk_encryption_id = disk_encryption_id
@property
def mode(self):
"""Gets the mode of this CreateInstanceRequestBody.
实例类型。支持集群、副本集、以及单节点。 取值 - Sharding - ReplicaSet - Single
:return: The mode of this CreateInstanceRequestBody.
:rtype: str
"""
return self._mode
@mode.setter
def mode(self, mode):
"""Sets the mode of this CreateInstanceRequestBody.
实例类型。支持集群、副本集、以及单节点。 取值 - Sharding - ReplicaSet - Single
:param mode: The mode of this CreateInstanceRequestBody.
:type: str
"""
self._mode = mode
@property
def flavor(self):
"""Gets the flavor of this CreateInstanceRequestBody.
实例规格详情。
:return: The flavor of this CreateInstanceRequestBody.
:rtype: list[CreateInstanceFlavorOption]
"""
return self._flavor
@flavor.setter
def flavor(self, flavor):
"""Sets the flavor of this CreateInstanceRequestBody.
实例规格详情。
:param flavor: The flavor of this CreateInstanceRequestBody.
:type: list[CreateInstanceFlavorOption]
"""
self._flavor = flavor
@property
def storage(self):
"""Gets the storage of this CreateInstanceRequestBody.
:return: The storage of this CreateInstanceRequestBody.
:rtype: CreateInstanceStorageOption
"""
return self._storage
@storage.setter
def storage(self, storage):
"""Sets the storage of this CreateInstanceRequestBody.
:param storage: The storage of this CreateInstanceRequestBody.
:type: CreateInstanceStorageOption
"""
self._storage = storage
@property
def backup_strategy(self):
"""Gets the backup_strategy of this CreateInstanceRequestBody.
:return: The backup_strategy of this CreateInstanceRequestBody.
:rtype: CreateInstanceBackupStrategyOption
"""
return self._backup_strategy
@backup_strategy.setter
def backup_strategy(self, backup_strategy):
"""Sets the backup_strategy of this CreateInstanceRequestBody.
:param backup_strategy: The backup_strategy of this CreateInstanceRequestBody.
:type: CreateInstanceBackupStrategyOption
"""
self._backup_strategy = backup_strategy
@property
def enterprise_project_id(self):
"""Gets the enterprise_project_id of this CreateInstanceRequestBody.
企业项目ID。
:return: The enterprise_project_id of this CreateInstanceRequestBody.
:rtype: str
"""
return self._enterprise_project_id
@enterprise_project_id.setter
def enterprise_project_id(self, enterprise_project_id):
"""Sets the enterprise_project_id of this CreateInstanceRequestBody.
企业项目ID。
:param enterprise_project_id: The enterprise_project_id of this CreateInstanceRequestBody.
:type: str
"""
self._enterprise_project_id = enterprise_project_id
@property
def ssl_option(self):
"""Gets the ssl_option of this CreateInstanceRequestBody.
SSL开关选项。 取值: - 取“0”表示DDS实例默认不启用SSL连接。 - 取“1”表示DDS实例默认启用SSL连接。 - 不传该参数时默认启用SSL连接。
:return: The ssl_option of this CreateInstanceRequestBody.
:rtype: str
"""
return self._ssl_option
@ssl_option.setter
def ssl_option(self, ssl_option):
"""Sets the ssl_option of this CreateInstanceRequestBody.
SSL开关选项。 取值: - 取“0”表示DDS实例默认不启用SSL连接。 - 取“1”表示DDS实例默认启用SSL连接。 - 不传该参数时默认启用SSL连接。
:param ssl_option: The ssl_option of this CreateInstanceRequestBody.
:type: str
"""
self._ssl_option = ssl_option
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
if attr in self.sensitive_list:
result[attr] = "****"
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
return pprint.pformat(self.to_dict())
def __repr__(self):
"""For `print` and `pprint`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, CreateInstanceRequestBody):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other