huaweicloud-sdk-python-v3/huaweicloud-sdk-vpc/huaweicloudsdkvpc/v2/model/create_port_option.py

325 lines
11 KiB
Python
Raw Normal View History

2020-05-18 07:34:40 +00:00
# coding: utf-8
import re
import six
2021-07-26 11:24:08 +00:00
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
class CreatePortOption:
2020-05-18 07:34:40 +00:00
"""
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 = []
2020-05-18 07:34:40 +00:00
openapi_types = {
'name': 'str',
'network_id': 'str',
'fixed_ips': 'list[FixedIp]',
'device_owner': 'str',
'security_groups': 'list[str]',
'admin_state_up': 'bool',
2020-05-18 07:34:40 +00:00
'allowed_address_pairs': 'list[AllowedAddressPair]',
'extra_dhcp_opts': 'list[ExtraDhcpOpt]',
'tenant_id': 'str'
}
attribute_map = {
'name': 'name',
'network_id': 'network_id',
'fixed_ips': 'fixed_ips',
'device_owner': 'device_owner',
'security_groups': 'security_groups',
'admin_state_up': 'admin_state_up',
'allowed_address_pairs': 'allowed_address_pairs',
'extra_dhcp_opts': 'extra_dhcp_opts',
'tenant_id': 'tenant_id'
}
def __init__(self, name=None, network_id=None, fixed_ips=None, device_owner=None, security_groups=None, admin_state_up=None, allowed_address_pairs=None, extra_dhcp_opts=None, tenant_id=None):
2020-05-18 07:34:40 +00:00
"""CreatePortOption - a model defined in huaweicloud sdk"""
2020-05-18 07:34:40 +00:00
self._name = None
self._network_id = None
self._fixed_ips = None
self._device_owner = None
self._security_groups = None
self._admin_state_up = None
self._allowed_address_pairs = None
self._extra_dhcp_opts = None
self._tenant_id = None
self.discriminator = None
if name is not None:
self.name = name
self.network_id = network_id
if fixed_ips is not None:
self.fixed_ips = fixed_ips
if device_owner is not None:
self.device_owner = device_owner
if security_groups is not None:
self.security_groups = security_groups
if admin_state_up is not None:
self.admin_state_up = admin_state_up
if allowed_address_pairs is not None:
self.allowed_address_pairs = allowed_address_pairs
if extra_dhcp_opts is not None:
self.extra_dhcp_opts = extra_dhcp_opts
if tenant_id is not None:
self.tenant_id = tenant_id
@property
def name(self):
"""Gets the name of this CreatePortOption.
功能说明端口名称 取值范围0~255个字符支持中文英文字母_(下划线)-中划线默认为空
:return: The name of this CreatePortOption.
:rtype: str
"""
return self._name
@name.setter
def name(self, name):
"""Sets the name of this CreatePortOption.
功能说明端口名称 取值范围0~255个字符支持中文英文字母_(下划线)-中划线默认为空
:param name: The name of this CreatePortOption.
:type: str
"""
self._name = name
@property
def network_id(self):
"""Gets the network_id of this CreatePortOption.
功能说明端口所属网络的ID 约束必须是存在的网络ID
:return: The network_id of this CreatePortOption.
:rtype: str
"""
return self._network_id
@network_id.setter
def network_id(self, network_id):
"""Sets the network_id of this CreatePortOption.
功能说明端口所属网络的ID 约束必须是存在的网络ID
:param network_id: The network_id of this CreatePortOption.
:type: str
"""
self._network_id = network_id
@property
def fixed_ips(self):
"""Gets the fixed_ips of this CreatePortOption.
功能说明端口IP 例如\"fixed_ips\": [{\"subnet_id\": \"4dc70db6-cb7f-4200-9790-a6a910776bba\", \"ip_address\": \"192.169.25.79\"}] 约束ipv4场景下一个端口只支持一个fixed_ip且不支持更新
:return: The fixed_ips of this CreatePortOption.
:rtype: list[FixedIp]
"""
return self._fixed_ips
@fixed_ips.setter
def fixed_ips(self, fixed_ips):
"""Sets the fixed_ips of this CreatePortOption.
功能说明端口IP 例如\"fixed_ips\": [{\"subnet_id\": \"4dc70db6-cb7f-4200-9790-a6a910776bba\", \"ip_address\": \"192.169.25.79\"}] 约束ipv4场景下一个端口只支持一个fixed_ip且不支持更新
:param fixed_ips: The fixed_ips of this CreatePortOption.
:type: list[FixedIp]
"""
self._fixed_ips = fixed_ips
@property
def device_owner(self):
"""Gets the device_owner of this CreatePortOption.
功能说明端口设备所属 取值范围目前只支持指定\"\"\"neutron:VIP_PORT\"neutron:VIP_PORT表示创建的是VIP
:return: The device_owner of this CreatePortOption.
:rtype: str
"""
return self._device_owner
@device_owner.setter
def device_owner(self, device_owner):
"""Sets the device_owner of this CreatePortOption.
功能说明端口设备所属 取值范围目前只支持指定\"\"\"neutron:VIP_PORT\"neutron:VIP_PORT表示创建的是VIP
:param device_owner: The device_owner of this CreatePortOption.
:type: str
"""
self._device_owner = device_owner
@property
def security_groups(self):
"""Gets the security_groups of this CreatePortOption.
功能说明安全组的ID列表例如\"security_groups\": [\"a0608cbf-d047-4f54-8b28-cd7b59853fff\"] 取值范围:默认值为系统默认安全组
:return: The security_groups of this CreatePortOption.
:rtype: list[str]
"""
return self._security_groups
@security_groups.setter
def security_groups(self, security_groups):
"""Sets the security_groups of this CreatePortOption.
功能说明安全组的ID列表例如\"security_groups\": [\"a0608cbf-d047-4f54-8b28-cd7b59853fff\"] 取值范围:默认值为系统默认安全组
:param security_groups: The security_groups of this CreatePortOption.
:type: list[str]
"""
self._security_groups = security_groups
@property
def admin_state_up(self):
"""Gets the admin_state_up of this CreatePortOption.
功能说明管理状态 取值范围只支持true默认为true
:return: The admin_state_up of this CreatePortOption.
:rtype: bool
2020-05-18 07:34:40 +00:00
"""
return self._admin_state_up
@admin_state_up.setter
def admin_state_up(self, admin_state_up):
"""Sets the admin_state_up of this CreatePortOption.
功能说明管理状态 取值范围只支持true默认为true
:param admin_state_up: The admin_state_up of this CreatePortOption.
:type: bool
2020-05-18 07:34:40 +00:00
"""
self._admin_state_up = admin_state_up
@property
def allowed_address_pairs(self):
"""Gets the allowed_address_pairs of this CreatePortOption.
功能说明IP/Mac对列表 约束IP地址不允许为 0.0.0.0/0 如果配置的地址池较大CIDR掩码小于24位建议为该port配置一个单独的安全组
:return: The allowed_address_pairs of this CreatePortOption.
:rtype: list[AllowedAddressPair]
"""
return self._allowed_address_pairs
@allowed_address_pairs.setter
def allowed_address_pairs(self, allowed_address_pairs):
"""Sets the allowed_address_pairs of this CreatePortOption.
功能说明IP/Mac对列表 约束IP地址不允许为 0.0.0.0/0 如果配置的地址池较大CIDR掩码小于24位建议为该port配置一个单独的安全组
:param allowed_address_pairs: The allowed_address_pairs of this CreatePortOption.
:type: list[AllowedAddressPair]
"""
self._allowed_address_pairs = allowed_address_pairs
@property
def extra_dhcp_opts(self):
"""Gets the extra_dhcp_opts of this CreatePortOption.
功能说明DHCP的扩展Option(扩展属性)
:return: The extra_dhcp_opts of this CreatePortOption.
:rtype: list[ExtraDhcpOpt]
"""
return self._extra_dhcp_opts
@extra_dhcp_opts.setter
def extra_dhcp_opts(self, extra_dhcp_opts):
"""Sets the extra_dhcp_opts of this CreatePortOption.
功能说明DHCP的扩展Option(扩展属性)
:param extra_dhcp_opts: The extra_dhcp_opts of this CreatePortOption.
:type: list[ExtraDhcpOpt]
"""
self._extra_dhcp_opts = extra_dhcp_opts
@property
def tenant_id(self):
"""Gets the tenant_id of this CreatePortOption.
功能说明端口所属项目ID
:return: The tenant_id of this CreatePortOption.
:rtype: str
"""
return self._tenant_id
@tenant_id.setter
def tenant_id(self, tenant_id):
"""Sets the tenant_id of this CreatePortOption.
功能说明端口所属项目ID
:param tenant_id: The tenant_id of this CreatePortOption.
:type: str
"""
self._tenant_id = tenant_id
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
2020-05-18 07:34:40 +00:00
return result
def to_str(self):
2021-07-09 10:57:08 +00:00
import simplejson as json
2021-07-26 11:24:08 +00:00
return json.dumps(sanitize_for_serialization(self))
2020-05-18 07:34:40 +00:00
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, CreatePortOption):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other