adcp-20220101/alibabacloud_adcp20220101/models.py (4,354 lines of code) (raw):
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from Tea.model import TeaModel
class Tag(TeaModel):
def __init__(self, key=None, value=None):
self.key = key # type: str
self.value = value # type: str
def validate(self):
pass
def to_map(self):
_map = super(Tag, self).to_map()
if _map is not None:
return _map
result = dict()
if self.key is not None:
result['Key'] = self.key
if self.value is not None:
result['Value'] = self.value
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Key') is not None:
self.key = m.get('Key')
if m.get('Value') is not None:
self.value = m.get('Value')
return self
class AttachClusterToHubRequest(TeaModel):
def __init__(self, attach_to_mesh=None, cluster_id=None, cluster_ids=None):
# The operation that you want to perform. Set the value to **AttachClusterToHub**.
self.attach_to_mesh = attach_to_mesh # type: bool
# The ID of the task.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The ID of the request.
#
# This parameter is required.
self.cluster_ids = cluster_ids # type: str
def validate(self):
pass
def to_map(self):
_map = super(AttachClusterToHubRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.attach_to_mesh is not None:
result['AttachToMesh'] = self.attach_to_mesh
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids is not None:
result['ClusterIds'] = self.cluster_ids
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AttachToMesh') is not None:
self.attach_to_mesh = m.get('AttachToMesh')
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids = m.get('ClusterIds')
return self
class AttachClusterToHubResponseBody(TeaModel):
def __init__(self, cluster_id=None, managed_cluster_ids=None, request_id=None, task_id=None):
# You can call the AttachClusterToHub operation to associate an Container Service for Kubernetes (ACK) cluster with a master instance of ACK One.
self.cluster_id = cluster_id # type: str
# Zhishi
self.managed_cluster_ids = managed_cluster_ids # type: list[str]
# Example 1
self.request_id = request_id # type: str
self.task_id = task_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(AttachClusterToHubResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.managed_cluster_ids is not None:
result['ManagedClusterIds'] = self.managed_cluster_ids
if self.request_id is not None:
result['RequestId'] = self.request_id
if self.task_id is not None:
result['TaskId'] = self.task_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ManagedClusterIds') is not None:
self.managed_cluster_ids = m.get('ManagedClusterIds')
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
if m.get('TaskId') is not None:
self.task_id = m.get('TaskId')
return self
class AttachClusterToHubResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: AttachClusterToHubResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(AttachClusterToHubResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = AttachClusterToHubResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class ChangeResourceGroupRequest(TeaModel):
def __init__(self, new_resource_group_id=None, resource_id=None, resource_type=None):
# The ID of the new resource group. You can view the available resource groups in the Resource Management console.
#
# This parameter is required.
self.new_resource_group_id = new_resource_group_id # type: str
# The ID of the resource. The value of this parameter varies with the resource type. For example, if you set ResourceType to cluster, this parameter specifies a cluster ID.
#
# This parameter is required.
self.resource_id = resource_id # type: str
# The resource type. Set the value to cluster.
self.resource_type = resource_type # type: str
def validate(self):
pass
def to_map(self):
_map = super(ChangeResourceGroupRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.new_resource_group_id is not None:
result['NewResourceGroupId'] = self.new_resource_group_id
if self.resource_id is not None:
result['ResourceId'] = self.resource_id
if self.resource_type is not None:
result['ResourceType'] = self.resource_type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('NewResourceGroupId') is not None:
self.new_resource_group_id = m.get('NewResourceGroupId')
if m.get('ResourceId') is not None:
self.resource_id = m.get('ResourceId')
if m.get('ResourceType') is not None:
self.resource_type = m.get('ResourceType')
return self
class ChangeResourceGroupResponseBody(TeaModel):
def __init__(self, request_id=None):
# Id of the request
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(ChangeResourceGroupResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class ChangeResourceGroupResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: ChangeResourceGroupResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(ChangeResourceGroupResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = ChangeResourceGroupResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class CreateHubClusterRequest(TeaModel):
def __init__(self, api_server_public_eip=None, argo_server_enabled=None, audit_log_enabled=None,
is_enterprise_security_group=None, name=None, price_limit=None, profile=None, region_id=None, resource_group_id=None, tag=None,
v_switches=None, vpc_id=None, workflow_schedule_mode=None):
# Specifies whether to expose the API server to the Internet. Valid values:
#
# * true: exposes the API server to the Internet.
# * false: exposes the API server to the internal network.
self.api_server_public_eip = api_server_public_eip # type: bool
# Specifies whether to enable the workflow instance UI. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_server_enabled = argo_server_enabled # type: bool
# Specifies whether to enable the audit log feature. Valid values:
#
# * true: enables the audit log feature.
# * false: disables the audit log feature.
self.audit_log_enabled = audit_log_enabled # type: bool
# Specifies whether to use an advanced security group.
self.is_enterprise_security_group = is_enterprise_security_group # type: bool
# The name of the master instance.
self.name = name # type: str
# The limit on the prices of containers in the workflow. This parameter takes effect only if the WorkflowScheduleMode parameter is set to cost-optimized.
self.price_limit = price_limit # type: str
# The type of scenario for which the master instance is suitable. Valid values:
#
# * `Default`: The master instance is suitable for standard scenarios.
# * `XFlow`: The master instance is suitable for workflow scenarios.
#
# Default value: `Default`.
self.profile = profile # type: str
# The ID of the region. You can call the DescribeRegions operation to query available regions.
#
# This parameter is required.
self.region_id = region_id # type: str
# The Resource Group ID.
self.resource_group_id = resource_group_id # type: str
# The tags.
#
# You can specify at most 20 tags in each call.
self.tag = tag # type: list[Tag]
# The ID of the vSwitch.
#
# This parameter is required.
self.v_switches = v_switches # type: str
# The ID of the virtual private cloud (VPC) to which the master instance belongs. You can call the DescribeVpcs operation to query available VPCs.
#
# This parameter is required.
self.vpc_id = vpc_id # type: str
# The scheduling mode of the workflow. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * cost-optimized: cost-prioritized scheduling mode.
# * stock-optimized: inventory-prioritized scheduling mode.
self.workflow_schedule_mode = workflow_schedule_mode # type: str
def validate(self):
if self.tag:
for k in self.tag:
if k:
k.validate()
def to_map(self):
_map = super(CreateHubClusterRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server_public_eip is not None:
result['ApiServerPublicEip'] = self.api_server_public_eip
if self.argo_server_enabled is not None:
result['ArgoServerEnabled'] = self.argo_server_enabled
if self.audit_log_enabled is not None:
result['AuditLogEnabled'] = self.audit_log_enabled
if self.is_enterprise_security_group is not None:
result['IsEnterpriseSecurityGroup'] = self.is_enterprise_security_group
if self.name is not None:
result['Name'] = self.name
if self.price_limit is not None:
result['PriceLimit'] = self.price_limit
if self.profile is not None:
result['Profile'] = self.profile
if self.region_id is not None:
result['RegionId'] = self.region_id
if self.resource_group_id is not None:
result['ResourceGroupID'] = self.resource_group_id
result['Tag'] = []
if self.tag is not None:
for k in self.tag:
result['Tag'].append(k.to_map() if k else None)
if self.v_switches is not None:
result['VSwitches'] = self.v_switches
if self.vpc_id is not None:
result['VpcId'] = self.vpc_id
if self.workflow_schedule_mode is not None:
result['WorkflowScheduleMode'] = self.workflow_schedule_mode
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServerPublicEip') is not None:
self.api_server_public_eip = m.get('ApiServerPublicEip')
if m.get('ArgoServerEnabled') is not None:
self.argo_server_enabled = m.get('ArgoServerEnabled')
if m.get('AuditLogEnabled') is not None:
self.audit_log_enabled = m.get('AuditLogEnabled')
if m.get('IsEnterpriseSecurityGroup') is not None:
self.is_enterprise_security_group = m.get('IsEnterpriseSecurityGroup')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('PriceLimit') is not None:
self.price_limit = m.get('PriceLimit')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
if m.get('ResourceGroupID') is not None:
self.resource_group_id = m.get('ResourceGroupID')
self.tag = []
if m.get('Tag') is not None:
for k in m.get('Tag'):
temp_model = Tag()
self.tag.append(temp_model.from_map(k))
if m.get('VSwitches') is not None:
self.v_switches = m.get('VSwitches')
if m.get('VpcId') is not None:
self.vpc_id = m.get('VpcId')
if m.get('WorkflowScheduleMode') is not None:
self.workflow_schedule_mode = m.get('WorkflowScheduleMode')
return self
class CreateHubClusterShrinkRequest(TeaModel):
def __init__(self, api_server_public_eip=None, argo_server_enabled=None, audit_log_enabled=None,
is_enterprise_security_group=None, name=None, price_limit=None, profile=None, region_id=None, resource_group_id=None,
tag_shrink=None, v_switches=None, vpc_id=None, workflow_schedule_mode=None):
# Specifies whether to expose the API server to the Internet. Valid values:
#
# * true: exposes the API server to the Internet.
# * false: exposes the API server to the internal network.
self.api_server_public_eip = api_server_public_eip # type: bool
# Specifies whether to enable the workflow instance UI. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_server_enabled = argo_server_enabled # type: bool
# Specifies whether to enable the audit log feature. Valid values:
#
# * true: enables the audit log feature.
# * false: disables the audit log feature.
self.audit_log_enabled = audit_log_enabled # type: bool
# Specifies whether to use an advanced security group.
self.is_enterprise_security_group = is_enterprise_security_group # type: bool
# The name of the master instance.
self.name = name # type: str
# The limit on the prices of containers in the workflow. This parameter takes effect only if the WorkflowScheduleMode parameter is set to cost-optimized.
self.price_limit = price_limit # type: str
# The type of scenario for which the master instance is suitable. Valid values:
#
# * `Default`: The master instance is suitable for standard scenarios.
# * `XFlow`: The master instance is suitable for workflow scenarios.
#
# Default value: `Default`.
self.profile = profile # type: str
# The ID of the region. You can call the DescribeRegions operation to query available regions.
#
# This parameter is required.
self.region_id = region_id # type: str
# The Resource Group ID.
self.resource_group_id = resource_group_id # type: str
# The tags.
#
# You can specify at most 20 tags in each call.
self.tag_shrink = tag_shrink # type: str
# The ID of the vSwitch.
#
# This parameter is required.
self.v_switches = v_switches # type: str
# The ID of the virtual private cloud (VPC) to which the master instance belongs. You can call the DescribeVpcs operation to query available VPCs.
#
# This parameter is required.
self.vpc_id = vpc_id # type: str
# The scheduling mode of the workflow. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * cost-optimized: cost-prioritized scheduling mode.
# * stock-optimized: inventory-prioritized scheduling mode.
self.workflow_schedule_mode = workflow_schedule_mode # type: str
def validate(self):
pass
def to_map(self):
_map = super(CreateHubClusterShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server_public_eip is not None:
result['ApiServerPublicEip'] = self.api_server_public_eip
if self.argo_server_enabled is not None:
result['ArgoServerEnabled'] = self.argo_server_enabled
if self.audit_log_enabled is not None:
result['AuditLogEnabled'] = self.audit_log_enabled
if self.is_enterprise_security_group is not None:
result['IsEnterpriseSecurityGroup'] = self.is_enterprise_security_group
if self.name is not None:
result['Name'] = self.name
if self.price_limit is not None:
result['PriceLimit'] = self.price_limit
if self.profile is not None:
result['Profile'] = self.profile
if self.region_id is not None:
result['RegionId'] = self.region_id
if self.resource_group_id is not None:
result['ResourceGroupID'] = self.resource_group_id
if self.tag_shrink is not None:
result['Tag'] = self.tag_shrink
if self.v_switches is not None:
result['VSwitches'] = self.v_switches
if self.vpc_id is not None:
result['VpcId'] = self.vpc_id
if self.workflow_schedule_mode is not None:
result['WorkflowScheduleMode'] = self.workflow_schedule_mode
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServerPublicEip') is not None:
self.api_server_public_eip = m.get('ApiServerPublicEip')
if m.get('ArgoServerEnabled') is not None:
self.argo_server_enabled = m.get('ArgoServerEnabled')
if m.get('AuditLogEnabled') is not None:
self.audit_log_enabled = m.get('AuditLogEnabled')
if m.get('IsEnterpriseSecurityGroup') is not None:
self.is_enterprise_security_group = m.get('IsEnterpriseSecurityGroup')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('PriceLimit') is not None:
self.price_limit = m.get('PriceLimit')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
if m.get('ResourceGroupID') is not None:
self.resource_group_id = m.get('ResourceGroupID')
if m.get('Tag') is not None:
self.tag_shrink = m.get('Tag')
if m.get('VSwitches') is not None:
self.v_switches = m.get('VSwitches')
if m.get('VpcId') is not None:
self.vpc_id = m.get('VpcId')
if m.get('WorkflowScheduleMode') is not None:
self.workflow_schedule_mode = m.get('WorkflowScheduleMode')
return self
class CreateHubClusterResponseBody(TeaModel):
def __init__(self, cluster_id=None, request_id=None, task_id=None):
# The ID of the master instance.
self.cluster_id = cluster_id # type: str
# The ID of the request.
self.request_id = request_id # type: str
# The ID of the task.
self.task_id = task_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(CreateHubClusterResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.request_id is not None:
result['RequestId'] = self.request_id
if self.task_id is not None:
result['TaskId'] = self.task_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
if m.get('TaskId') is not None:
self.task_id = m.get('TaskId')
return self
class CreateHubClusterResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: CreateHubClusterResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(CreateHubClusterResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = CreateHubClusterResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DeleteHubClusterRequest(TeaModel):
def __init__(self, cluster_id=None, force=None, retain_resources=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# Specifies whether to forcefully delete the master instance in ACK One. Valid values:
#
# * true: forcefully deletes the master instance in ACK One.
# * false: does not forcibly delete the master instance in ACK One.
#
# Default value: false.
self.force = force # type: bool
# The list of resources to retain.
self.retain_resources = retain_resources # type: list[str]
def validate(self):
pass
def to_map(self):
_map = super(DeleteHubClusterRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.force is not None:
result['Force'] = self.force
if self.retain_resources is not None:
result['RetainResources'] = self.retain_resources
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('Force') is not None:
self.force = m.get('Force')
if m.get('RetainResources') is not None:
self.retain_resources = m.get('RetainResources')
return self
class DeleteHubClusterShrinkRequest(TeaModel):
def __init__(self, cluster_id=None, force=None, retain_resources_shrink=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# Specifies whether to forcefully delete the master instance in ACK One. Valid values:
#
# * true: forcefully deletes the master instance in ACK One.
# * false: does not forcibly delete the master instance in ACK One.
#
# Default value: false.
self.force = force # type: bool
# The list of resources to retain.
self.retain_resources_shrink = retain_resources_shrink # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeleteHubClusterShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.force is not None:
result['Force'] = self.force
if self.retain_resources_shrink is not None:
result['RetainResources'] = self.retain_resources_shrink
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('Force') is not None:
self.force = m.get('Force')
if m.get('RetainResources') is not None:
self.retain_resources_shrink = m.get('RetainResources')
return self
class DeleteHubClusterResponseBody(TeaModel):
def __init__(self, cluster_id=None, request_id=None, task_id=None):
# The ID of the cluster.
self.cluster_id = cluster_id # type: str
# The ID of the request.
self.request_id = request_id # type: str
# The ID of the job.
self.task_id = task_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeleteHubClusterResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.request_id is not None:
result['RequestId'] = self.request_id
if self.task_id is not None:
result['TaskId'] = self.task_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
if m.get('TaskId') is not None:
self.task_id = m.get('TaskId')
return self
class DeleteHubClusterResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DeleteHubClusterResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DeleteHubClusterResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DeleteHubClusterResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DeletePolicyInstanceRequest(TeaModel):
def __init__(self, cluster_id=None, cluster_ids=None, policy_name=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# A array of JSON strings. The JSON strings in the array indicate the IDs of the associated clusters for which the policy is deleted.
self.cluster_ids = cluster_ids # type: list[str]
# The name of the policy.
#
# This parameter is required.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeletePolicyInstanceRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids is not None:
result['ClusterIds'] = self.cluster_ids
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids = m.get('ClusterIds')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DeletePolicyInstanceShrinkRequest(TeaModel):
def __init__(self, cluster_id=None, cluster_ids_shrink=None, policy_name=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# A array of JSON strings. The JSON strings in the array indicate the IDs of the associated clusters for which the policy is deleted.
self.cluster_ids_shrink = cluster_ids_shrink # type: str
# The name of the policy.
#
# This parameter is required.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeletePolicyInstanceShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids_shrink is not None:
result['ClusterIds'] = self.cluster_ids_shrink
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids_shrink = m.get('ClusterIds')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DeletePolicyInstanceResponseBody(TeaModel):
def __init__(self, request_id=None):
# The request ID.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeletePolicyInstanceResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DeletePolicyInstanceResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DeletePolicyInstanceResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DeletePolicyInstanceResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DeletePolicyInstanceResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DeleteUserPermissionRequest(TeaModel):
def __init__(self, cluster_id=None, user_id=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The ID of the RAM user.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeleteUserPermissionRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class DeleteUserPermissionResponseBody(TeaModel):
def __init__(self, request_id=None):
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeleteUserPermissionResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DeleteUserPermissionResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DeleteUserPermissionResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DeleteUserPermissionResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DeleteUserPermissionResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DeployPolicyInstanceRequest(TeaModel):
def __init__(self, cluster_id=None, cluster_ids=None, namespaces=None, policy_action=None, policy_name=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# An array of JSON strings. The JSON strings in the array indicate the IDs of the associated clusters in which the policy instance is deployed.
#
# This parameter is required.
self.cluster_ids = cluster_ids # type: list[str]
# A list of namespaces.
self.namespaces = namespaces # type: list[str]
# The action of the policy. Valid values:
#
# * deny: blocks deployments that match the policy.
# * warn: generates alerts for deployments that match the policy.
#
# This parameter is required.
self.policy_action = policy_action # type: str
# The name of the policy.
#
# This parameter is required.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeployPolicyInstanceRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids is not None:
result['ClusterIds'] = self.cluster_ids
if self.namespaces is not None:
result['Namespaces'] = self.namespaces
if self.policy_action is not None:
result['PolicyAction'] = self.policy_action
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids = m.get('ClusterIds')
if m.get('Namespaces') is not None:
self.namespaces = m.get('Namespaces')
if m.get('PolicyAction') is not None:
self.policy_action = m.get('PolicyAction')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DeployPolicyInstanceShrinkRequest(TeaModel):
def __init__(self, cluster_id=None, cluster_ids_shrink=None, namespaces_shrink=None, policy_action=None,
policy_name=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# An array of JSON strings. The JSON strings in the array indicate the IDs of the associated clusters in which the policy instance is deployed.
#
# This parameter is required.
self.cluster_ids_shrink = cluster_ids_shrink # type: str
# A list of namespaces.
self.namespaces_shrink = namespaces_shrink # type: str
# The action of the policy. Valid values:
#
# * deny: blocks deployments that match the policy.
# * warn: generates alerts for deployments that match the policy.
#
# This parameter is required.
self.policy_action = policy_action # type: str
# The name of the policy.
#
# This parameter is required.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeployPolicyInstanceShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids_shrink is not None:
result['ClusterIds'] = self.cluster_ids_shrink
if self.namespaces_shrink is not None:
result['Namespaces'] = self.namespaces_shrink
if self.policy_action is not None:
result['PolicyAction'] = self.policy_action
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids_shrink = m.get('ClusterIds')
if m.get('Namespaces') is not None:
self.namespaces_shrink = m.get('Namespaces')
if m.get('PolicyAction') is not None:
self.policy_action = m.get('PolicyAction')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DeployPolicyInstanceResponseBody(TeaModel):
def __init__(self, request_id=None):
# The request ID.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DeployPolicyInstanceResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DeployPolicyInstanceResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DeployPolicyInstanceResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DeployPolicyInstanceResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DeployPolicyInstanceResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeHubClusterDetailsRequest(TeaModel):
def __init__(self, cluster_id=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
return self
class DescribeHubClusterDetailsResponseBodyClusterApiServer(TeaModel):
def __init__(self, api_server_eip_id=None, enabled_public=None, load_balancer_id=None):
# The ID of the elastic IP address (EIP).
self.api_server_eip_id = api_server_eip_id # type: str
# Indicates whether the API server is accessible over the Internet. Valid values:
#
# * true: The API server is accessible over the Internet.
# * false: The API server is inaccessible over the Internet.
self.enabled_public = enabled_public # type: bool
# The ID of the Server Load Balancer (SLB) instance.
self.load_balancer_id = load_balancer_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterApiServer, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server_eip_id is not None:
result['ApiServerEipId'] = self.api_server_eip_id
if self.enabled_public is not None:
result['EnabledPublic'] = self.enabled_public
if self.load_balancer_id is not None:
result['LoadBalancerId'] = self.load_balancer_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServerEipId') is not None:
self.api_server_eip_id = m.get('ApiServerEipId')
if m.get('EnabledPublic') is not None:
self.enabled_public = m.get('EnabledPublic')
if m.get('LoadBalancerId') is not None:
self.load_balancer_id = m.get('LoadBalancerId')
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneGitOps(TeaModel):
def __init__(self, access_control_list=None, enabled=None, haenabled=None, public_access_enabled=None):
# The Internet access control list (ACL). This parameter takes effect only if PublicAccessEnabled is set to true.
self.access_control_list = access_control_list # type: list[str]
# Indicates whether GitOps is enabled. Valid values:
#
# * true: GitOps is enabled.
# * false: GitOps is disabled.
self.enabled = enabled # type: bool
# Indicates whether GitOps High Availability is enabled. Valid values:
#
# * true: GitOps High Availability is enabled.
# * false: GitOps High Availability is disabled.
self.haenabled = haenabled # type: bool
# Specifies whether to enable public domain name resolution in the Argo CD or Argo Workflow console. Valid values:
#
# * true
# * false
self.public_access_enabled = public_access_enabled # type: bool
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneGitOps, self).to_map()
if _map is not None:
return _map
result = dict()
if self.access_control_list is not None:
result['AccessControlList'] = self.access_control_list
if self.enabled is not None:
result['Enabled'] = self.enabled
if self.haenabled is not None:
result['HAEnabled'] = self.haenabled
if self.public_access_enabled is not None:
result['PublicAccessEnabled'] = self.public_access_enabled
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AccessControlList') is not None:
self.access_control_list = m.get('AccessControlList')
if m.get('Enabled') is not None:
self.enabled = m.get('Enabled')
if m.get('HAEnabled') is not None:
self.haenabled = m.get('HAEnabled')
if m.get('PublicAccessEnabled') is not None:
self.public_access_enabled = m.get('PublicAccessEnabled')
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlowArgoWorkflow(TeaModel):
def __init__(self, access_control_list=None, enabled=None, public_access_enabled=None, server_enabled=None):
# The Internet access control list (ACL). This parameter takes effect only if PublicAccessEnabled is set to true.
self.access_control_list = access_control_list # type: list[str]
# Specifies whether to enable the argo workflow. Valid values:
#
# * **false** (default)
# * **true**\
self.enabled = enabled # type: bool
# Specifies whether to enable public domain name resolution in the Argo CD or Argo Workflow console. Valid values:
#
# * true
# * false
self.public_access_enabled = public_access_enabled # type: bool
# Specifies whether to enable the argo workflow. UI Valid values:
#
# * **false** (default)
# * **true**\
self.server_enabled = server_enabled # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlowArgoWorkflow, self).to_map()
if _map is not None:
return _map
result = dict()
if self.access_control_list is not None:
result['AccessControlList'] = self.access_control_list
if self.enabled is not None:
result['Enabled'] = self.enabled
if self.public_access_enabled is not None:
result['PublicAccessEnabled'] = self.public_access_enabled
if self.server_enabled is not None:
result['ServerEnabled'] = self.server_enabled
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AccessControlList') is not None:
self.access_control_list = m.get('AccessControlList')
if m.get('Enabled') is not None:
self.enabled = m.get('Enabled')
if m.get('PublicAccessEnabled') is not None:
self.public_access_enabled = m.get('PublicAccessEnabled')
if m.get('ServerEnabled') is not None:
self.server_enabled = m.get('ServerEnabled')
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlow(TeaModel):
def __init__(self, argo_workflow=None):
# The Argo workflow metadata.
self.argo_workflow = argo_workflow # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlowArgoWorkflow
def validate(self):
if self.argo_workflow:
self.argo_workflow.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlow, self).to_map()
if _map is not None:
return _map
result = dict()
if self.argo_workflow is not None:
result['ArgoWorkflow'] = self.argo_workflow.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ArgoWorkflow') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlowArgoWorkflow()
self.argo_workflow = temp_model.from_map(m['ArgoWorkflow'])
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOne(TeaModel):
def __init__(self, git_ops=None, work_flow=None):
# The GitOps metadata.
self.git_ops = git_ops # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneGitOps
# The workflow metadata.
self.work_flow = work_flow # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlow
def validate(self):
if self.git_ops:
self.git_ops.validate()
if self.work_flow:
self.work_flow.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOne, self).to_map()
if _map is not None:
return _map
result = dict()
if self.git_ops is not None:
result['GitOps'] = self.git_ops.to_map()
if self.work_flow is not None:
result['WorkFlow'] = self.work_flow.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('GitOps') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneGitOps()
self.git_ops = temp_model.from_map(m['GitOps'])
if m.get('WorkFlow') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOneWorkFlow()
self.work_flow = temp_model.from_map(m['WorkFlow'])
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaData(TeaModel):
def __init__(self, ackone=None):
# The cluster metadata.
self.ackone = ackone # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOne
def validate(self):
if self.ackone:
self.ackone.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaData, self).to_map()
if _map is not None:
return _map
result = dict()
if self.ackone is not None:
result['ACKOne'] = self.ackone.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ACKOne') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaDataACKOne()
self.ackone = temp_model.from_map(m['ACKOne'])
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfoTags(TeaModel):
def __init__(self, key=None, value=None):
self.key = key # type: str
self.value = value # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfoTags, self).to_map()
if _map is not None:
return _map
result = dict()
if self.key is not None:
result['Key'] = self.key
if self.value is not None:
result['Value'] = self.value
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Key') is not None:
self.key = m.get('Key')
if m.get('Value') is not None:
self.value = m.get('Value')
return self
class DescribeHubClusterDetailsResponseBodyClusterClusterInfo(TeaModel):
def __init__(self, cluster_id=None, cluster_spec=None, creation_time=None, error_message=None, meta_data=None,
name=None, profile=None, region_id=None, resource_group_id=None, state=None, tags=None, update_time=None,
version=None):
# The ID of the master instance.
self.cluster_id = cluster_id # type: str
# The specification of the master instance. Valid value:
#
# * ack.pro.small: ACK Pro cluster
self.cluster_spec = cluster_spec # type: str
# The time when the master instance was created.
self.creation_time = creation_time # type: str
# The error message returned when the master instance failed to be created.
self.error_message = error_message # type: str
# The cluster metadata.
self.meta_data = meta_data # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaData
# The name of the master instance.
self.name = name # type: str
# The configurations of the master instance.
self.profile = profile # type: str
# The ID of the region in which the master instance resides.
self.region_id = region_id # type: str
# The ID of Resource Group.
self.resource_group_id = resource_group_id # type: str
# The status of the master instance. Valid values:
#
# * initial: The master instance is being initialized.
# * failed: The master instance failed to be created.
# * running: The master instance is running
# * inactive: The master instance is pending.
# * deleting: The master instance is being deleted.
# * delete_failed: The master instance failed to be deleted.
# * deleted: The master instance is deleted.
self.state = state # type: str
self.tags = tags # type: list[DescribeHubClusterDetailsResponseBodyClusterClusterInfoTags]
# The time when the master instance was updated.
self.update_time = update_time # type: str
# The version of the master instance.
self.version = version # type: str
def validate(self):
if self.meta_data:
self.meta_data.validate()
if self.tags:
for k in self.tags:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterClusterInfo, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_spec is not None:
result['ClusterSpec'] = self.cluster_spec
if self.creation_time is not None:
result['CreationTime'] = self.creation_time
if self.error_message is not None:
result['ErrorMessage'] = self.error_message
if self.meta_data is not None:
result['MetaData'] = self.meta_data.to_map()
if self.name is not None:
result['Name'] = self.name
if self.profile is not None:
result['Profile'] = self.profile
if self.region_id is not None:
result['RegionId'] = self.region_id
if self.resource_group_id is not None:
result['ResourceGroupID'] = self.resource_group_id
if self.state is not None:
result['State'] = self.state
result['Tags'] = []
if self.tags is not None:
for k in self.tags:
result['Tags'].append(k.to_map() if k else None)
if self.update_time is not None:
result['UpdateTime'] = self.update_time
if self.version is not None:
result['Version'] = self.version
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterSpec') is not None:
self.cluster_spec = m.get('ClusterSpec')
if m.get('CreationTime') is not None:
self.creation_time = m.get('CreationTime')
if m.get('ErrorMessage') is not None:
self.error_message = m.get('ErrorMessage')
if m.get('MetaData') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoMetaData()
self.meta_data = temp_model.from_map(m['MetaData'])
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
if m.get('ResourceGroupID') is not None:
self.resource_group_id = m.get('ResourceGroupID')
if m.get('State') is not None:
self.state = m.get('State')
self.tags = []
if m.get('Tags') is not None:
for k in m.get('Tags'):
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfoTags()
self.tags.append(temp_model.from_map(k))
if m.get('UpdateTime') is not None:
self.update_time = m.get('UpdateTime')
if m.get('Version') is not None:
self.version = m.get('Version')
return self
class DescribeHubClusterDetailsResponseBodyClusterConditions(TeaModel):
def __init__(self, message=None, reason=None, status=None, type=None):
# The error message returned.
self.message = message # type: str
# The reason for the deletion condition.
self.reason = reason # type: str
# The status of the master instance that the deletion condition indicates. Valid values:
#
# * True: The master instance cannot be deleted.
# * False: The master instance can be deleted.
# * Unknow: Whether the master instance can be deleted is unknown.
self.status = status # type: str
# The type of deletion condition.
self.type = type # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterConditions, self).to_map()
if _map is not None:
return _map
result = dict()
if self.message is not None:
result['Message'] = self.message
if self.reason is not None:
result['Reason'] = self.reason
if self.status is not None:
result['Status'] = self.status
if self.type is not None:
result['Type'] = self.type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Message') is not None:
self.message = m.get('Message')
if m.get('Reason') is not None:
self.reason = m.get('Reason')
if m.get('Status') is not None:
self.status = m.get('Status')
if m.get('Type') is not None:
self.type = m.get('Type')
return self
class DescribeHubClusterDetailsResponseBodyClusterEndpoints(TeaModel):
def __init__(self, intranet_api_server_endpoint=None, public_api_server_endpoint=None):
# The endpoint that is used to access the API server over the internal network.
self.intranet_api_server_endpoint = intranet_api_server_endpoint # type: str
# The endpoint that is used to access the API server over the Internet.
self.public_api_server_endpoint = public_api_server_endpoint # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterEndpoints, self).to_map()
if _map is not None:
return _map
result = dict()
if self.intranet_api_server_endpoint is not None:
result['IntranetApiServerEndpoint'] = self.intranet_api_server_endpoint
if self.public_api_server_endpoint is not None:
result['PublicApiServerEndpoint'] = self.public_api_server_endpoint
return result
def from_map(self, m=None):
m = m or dict()
if m.get('IntranetApiServerEndpoint') is not None:
self.intranet_api_server_endpoint = m.get('IntranetApiServerEndpoint')
if m.get('PublicApiServerEndpoint') is not None:
self.public_api_server_endpoint = m.get('PublicApiServerEndpoint')
return self
class DescribeHubClusterDetailsResponseBodyClusterLogConfig(TeaModel):
def __init__(self, enable_log=None, log_project=None, log_store_ttl=None):
# Indicates whether the audit logging feature is enabled. Valid values:
#
# * true: Audit logging is enabled.
# * false: Audit logging is disabled.
self.enable_log = enable_log # type: bool
# The name of the project of Log Service.
self.log_project = log_project # type: str
# The number of days that logs are retained by Log Service.
self.log_store_ttl = log_store_ttl # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterLogConfig, self).to_map()
if _map is not None:
return _map
result = dict()
if self.enable_log is not None:
result['EnableLog'] = self.enable_log
if self.log_project is not None:
result['LogProject'] = self.log_project
if self.log_store_ttl is not None:
result['LogStoreTTL'] = self.log_store_ttl
return result
def from_map(self, m=None):
m = m or dict()
if m.get('EnableLog') is not None:
self.enable_log = m.get('EnableLog')
if m.get('LogProject') is not None:
self.log_project = m.get('LogProject')
if m.get('LogStoreTTL') is not None:
self.log_store_ttl = m.get('LogStoreTTL')
return self
class DescribeHubClusterDetailsResponseBodyClusterMeshConfig(TeaModel):
def __init__(self, enable_mesh=None, mesh_id=None):
# Indicates whether ASM is enabled. Valid values:
#
# * true: ASM is enabled.
# * false: ASM is disabled.
self.enable_mesh = enable_mesh # type: bool
# service mesh (ASM) instance ID
self.mesh_id = mesh_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterMeshConfig, self).to_map()
if _map is not None:
return _map
result = dict()
if self.enable_mesh is not None:
result['EnableMesh'] = self.enable_mesh
if self.mesh_id is not None:
result['MeshId'] = self.mesh_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('EnableMesh') is not None:
self.enable_mesh = m.get('EnableMesh')
if m.get('MeshId') is not None:
self.mesh_id = m.get('MeshId')
return self
class DescribeHubClusterDetailsResponseBodyClusterNetwork(TeaModel):
def __init__(self, cluster_domain=None, ipstack=None, security_group_ids=None, v_switches=None, vpc_id=None):
# The domain name of the master instance.
self.cluster_domain = cluster_domain # type: str
# The IP version that is supported by the master instance. Valid values:
#
# * ipv4: IPv4.
# * ipv6: IPv6.
# * dual: IPv4 and IPv6.
self.ipstack = ipstack # type: str
# The IDs of the associated security groups.
self.security_group_ids = security_group_ids # type: list[str]
# The details of the vSwitches.
self.v_switches = v_switches # type: list[str]
# The ID of the virtual private cloud (VPC) in which the master instance resides.
self.vpc_id = vpc_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterNetwork, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_domain is not None:
result['ClusterDomain'] = self.cluster_domain
if self.ipstack is not None:
result['IPStack'] = self.ipstack
if self.security_group_ids is not None:
result['SecurityGroupIDs'] = self.security_group_ids
if self.v_switches is not None:
result['VSwitches'] = self.v_switches
if self.vpc_id is not None:
result['VpcId'] = self.vpc_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterDomain') is not None:
self.cluster_domain = m.get('ClusterDomain')
if m.get('IPStack') is not None:
self.ipstack = m.get('IPStack')
if m.get('SecurityGroupIDs') is not None:
self.security_group_ids = m.get('SecurityGroupIDs')
if m.get('VSwitches') is not None:
self.v_switches = m.get('VSwitches')
if m.get('VpcId') is not None:
self.vpc_id = m.get('VpcId')
return self
class DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnitsVSwitches(TeaModel):
def __init__(self, vswitch_id=None, zone_id=None):
# The ID of the vSwitch.
self.vswitch_id = vswitch_id # type: str
# The zone ID of the cluster.
#
# > You can call the [DescribeRegions](https://help.aliyun.com/document_detail/143074.html) operation to query the most recent zone list.
self.zone_id = zone_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnitsVSwitches, self).to_map()
if _map is not None:
return _map
result = dict()
if self.vswitch_id is not None:
result['VswitchId'] = self.vswitch_id
if self.zone_id is not None:
result['ZoneId'] = self.zone_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('VswitchId') is not None:
self.vswitch_id = m.get('VswitchId')
if m.get('ZoneId') is not None:
self.zone_id = m.get('ZoneId')
return self
class DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnits(TeaModel):
def __init__(self, region_id=None, v_switches=None, vpc_id=None):
# The region ID of the cluster.
#
# > You can call the [DescribeRegions](https://help.aliyun.com/document_detail/143074.html) operation to query the most recent region list.
self.region_id = region_id # type: str
# The vSwitches.
self.v_switches = v_switches # type: list[DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnitsVSwitches]
# The ID of the VPC.
self.vpc_id = vpc_id # type: str
def validate(self):
if self.v_switches:
for k in self.v_switches:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnits, self).to_map()
if _map is not None:
return _map
result = dict()
if self.region_id is not None:
result['RegionId'] = self.region_id
result['VSwitches'] = []
if self.v_switches is not None:
for k in self.v_switches:
result['VSwitches'].append(k.to_map() if k else None)
if self.vpc_id is not None:
result['VpcId'] = self.vpc_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
self.v_switches = []
if m.get('VSwitches') is not None:
for k in m.get('VSwitches'):
temp_model = DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnitsVSwitches()
self.v_switches.append(temp_model.from_map(k))
if m.get('VpcId') is not None:
self.vpc_id = m.get('VpcId')
return self
class DescribeHubClusterDetailsResponseBodyClusterWorkflowConfig(TeaModel):
def __init__(self, argo_server_enabled=None, price_limit=None, workflow_schedule_mode=None,
workflow_units=None):
# Specifies whether to enable the workflow instance UI. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_server_enabled = argo_server_enabled # type: bool
# The limit on the prices of containers in the workflow. This parameter takes effect only if the WorkflowScheduleMode parameter is set to cost-optimized.
self.price_limit = price_limit # type: str
# The scheduling mode of the workflow. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * cost-optimized: cost-prioritized scheduling mode.
# * stock-optimized: inventory-prioritized scheduling mode.
self.workflow_schedule_mode = workflow_schedule_mode # type: str
# The Argo workflow regions configuration.
self.workflow_units = workflow_units # type: list[DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnits]
def validate(self):
if self.workflow_units:
for k in self.workflow_units:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyClusterWorkflowConfig, self).to_map()
if _map is not None:
return _map
result = dict()
if self.argo_server_enabled is not None:
result['ArgoServerEnabled'] = self.argo_server_enabled
if self.price_limit is not None:
result['PriceLimit'] = self.price_limit
if self.workflow_schedule_mode is not None:
result['WorkflowScheduleMode'] = self.workflow_schedule_mode
result['WorkflowUnits'] = []
if self.workflow_units is not None:
for k in self.workflow_units:
result['WorkflowUnits'].append(k.to_map() if k else None)
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ArgoServerEnabled') is not None:
self.argo_server_enabled = m.get('ArgoServerEnabled')
if m.get('PriceLimit') is not None:
self.price_limit = m.get('PriceLimit')
if m.get('WorkflowScheduleMode') is not None:
self.workflow_schedule_mode = m.get('WorkflowScheduleMode')
self.workflow_units = []
if m.get('WorkflowUnits') is not None:
for k in m.get('WorkflowUnits'):
temp_model = DescribeHubClusterDetailsResponseBodyClusterWorkflowConfigWorkflowUnits()
self.workflow_units.append(temp_model.from_map(k))
return self
class DescribeHubClusterDetailsResponseBodyCluster(TeaModel):
def __init__(self, api_server=None, cluster_info=None, conditions=None, endpoints=None, log_config=None,
mesh_config=None, network=None, workflow_config=None):
# The details of the API server of the master instance.
self.api_server = api_server # type: DescribeHubClusterDetailsResponseBodyClusterApiServer
# The details of the master instance.
self.cluster_info = cluster_info # type: DescribeHubClusterDetailsResponseBodyClusterClusterInfo
# The deletion conditions of the master instance.
self.conditions = conditions # type: list[DescribeHubClusterDetailsResponseBodyClusterConditions]
# The endpoint of the master instance.
self.endpoints = endpoints # type: DescribeHubClusterDetailsResponseBodyClusterEndpoints
# The logging configuration.
self.log_config = log_config # type: DescribeHubClusterDetailsResponseBodyClusterLogConfig
# The configurations of Alibaba Cloud Service Mesh (ASM).
self.mesh_config = mesh_config # type: DescribeHubClusterDetailsResponseBodyClusterMeshConfig
# The network configurations of the master instance.
self.network = network # type: DescribeHubClusterDetailsResponseBodyClusterNetwork
# The Argo workflow configuration.
self.workflow_config = workflow_config # type: DescribeHubClusterDetailsResponseBodyClusterWorkflowConfig
def validate(self):
if self.api_server:
self.api_server.validate()
if self.cluster_info:
self.cluster_info.validate()
if self.conditions:
for k in self.conditions:
if k:
k.validate()
if self.endpoints:
self.endpoints.validate()
if self.log_config:
self.log_config.validate()
if self.mesh_config:
self.mesh_config.validate()
if self.network:
self.network.validate()
if self.workflow_config:
self.workflow_config.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBodyCluster, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server is not None:
result['ApiServer'] = self.api_server.to_map()
if self.cluster_info is not None:
result['ClusterInfo'] = self.cluster_info.to_map()
result['Conditions'] = []
if self.conditions is not None:
for k in self.conditions:
result['Conditions'].append(k.to_map() if k else None)
if self.endpoints is not None:
result['Endpoints'] = self.endpoints.to_map()
if self.log_config is not None:
result['LogConfig'] = self.log_config.to_map()
if self.mesh_config is not None:
result['MeshConfig'] = self.mesh_config.to_map()
if self.network is not None:
result['Network'] = self.network.to_map()
if self.workflow_config is not None:
result['WorkflowConfig'] = self.workflow_config.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServer') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterApiServer()
self.api_server = temp_model.from_map(m['ApiServer'])
if m.get('ClusterInfo') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterClusterInfo()
self.cluster_info = temp_model.from_map(m['ClusterInfo'])
self.conditions = []
if m.get('Conditions') is not None:
for k in m.get('Conditions'):
temp_model = DescribeHubClusterDetailsResponseBodyClusterConditions()
self.conditions.append(temp_model.from_map(k))
if m.get('Endpoints') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterEndpoints()
self.endpoints = temp_model.from_map(m['Endpoints'])
if m.get('LogConfig') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterLogConfig()
self.log_config = temp_model.from_map(m['LogConfig'])
if m.get('MeshConfig') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterMeshConfig()
self.mesh_config = temp_model.from_map(m['MeshConfig'])
if m.get('Network') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterNetwork()
self.network = temp_model.from_map(m['Network'])
if m.get('WorkflowConfig') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyClusterWorkflowConfig()
self.workflow_config = temp_model.from_map(m['WorkflowConfig'])
return self
class DescribeHubClusterDetailsResponseBody(TeaModel):
def __init__(self, cluster=None, request_id=None):
# The details of the master instance.
self.cluster = cluster # type: DescribeHubClusterDetailsResponseBodyCluster
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
if self.cluster:
self.cluster.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster is not None:
result['Cluster'] = self.cluster.to_map()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Cluster') is not None:
temp_model = DescribeHubClusterDetailsResponseBodyCluster()
self.cluster = temp_model.from_map(m['Cluster'])
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeHubClusterDetailsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeHubClusterDetailsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeHubClusterDetailsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeHubClusterDetailsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeHubClusterKubeconfigRequest(TeaModel):
def __init__(self, cluster_id=None, private_ip_address=None):
# The cluster ID.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# Specifies whether to obtain the kubeconfig file that is used to connect to the cluster over the internal network. Valid values:
#
# * `true`: obtains the kubeconfig file that is used to connect to the master instance over the internal network.
# * `false`: obtains the kubeconfig file that is used to connect to the master instance over the Internet.
#
# Default value: `false`
self.private_ip_address = private_ip_address # type: bool
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterKubeconfigRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.private_ip_address is not None:
result['PrivateIpAddress'] = self.private_ip_address
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('PrivateIpAddress') is not None:
self.private_ip_address = m.get('PrivateIpAddress')
return self
class DescribeHubClusterKubeconfigResponseBody(TeaModel):
def __init__(self, kubeconfig=None, request_id=None):
# The content of the kubeconfig file.
self.kubeconfig = kubeconfig # type: str
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterKubeconfigResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.kubeconfig is not None:
result['Kubeconfig'] = self.kubeconfig
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Kubeconfig') is not None:
self.kubeconfig = m.get('Kubeconfig')
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeHubClusterKubeconfigResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeHubClusterKubeconfigResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeHubClusterKubeconfigResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeHubClusterKubeconfigResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeHubClusterLogsRequest(TeaModel):
def __init__(self, cluster_id=None):
# The ID of the Fleet instance. You can call the [DescribeHubClusters](https://help.aliyun.com/document_detail/424404.html) operation to query the created Fleet instances.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterLogsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
return self
class DescribeHubClusterLogsResponseBodyLogs(TeaModel):
def __init__(self, cluster_id=None, cluster_log=None, creation_time=None, log_level=None):
# The ID of the Fleet instance.
self.cluster_id = cluster_id # type: str
# The log of the Fleet instance.
self.cluster_log = cluster_log # type: str
# The time when the log was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.
self.creation_time = creation_time # type: str
# The log level. Valid values:
#
# * error
# * warn
# * info
self.log_level = log_level # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClusterLogsResponseBodyLogs, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_log is not None:
result['ClusterLog'] = self.cluster_log
if self.creation_time is not None:
result['CreationTime'] = self.creation_time
if self.log_level is not None:
result['LogLevel'] = self.log_level
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterLog') is not None:
self.cluster_log = m.get('ClusterLog')
if m.get('CreationTime') is not None:
self.creation_time = m.get('CreationTime')
if m.get('LogLevel') is not None:
self.log_level = m.get('LogLevel')
return self
class DescribeHubClusterLogsResponseBody(TeaModel):
def __init__(self, logs=None, request_id=None):
# The details of operations logs.
self.logs = logs # type: list[DescribeHubClusterLogsResponseBodyLogs]
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.logs:
for k in self.logs:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClusterLogsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Logs'] = []
if self.logs is not None:
for k in self.logs:
result['Logs'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.logs = []
if m.get('Logs') is not None:
for k in m.get('Logs'):
temp_model = DescribeHubClusterLogsResponseBodyLogs()
self.logs.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeHubClusterLogsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeHubClusterLogsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeHubClusterLogsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeHubClusterLogsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeHubClustersRequest(TeaModel):
def __init__(self, profile=None, resource_group_id=None, tag=None):
# The configurations of the cluster.
self.profile = profile # type: str
# The resource group ID.
self.resource_group_id = resource_group_id # type: str
# The tags.
self.tag = tag # type: list[Tag]
def validate(self):
if self.tag:
for k in self.tag:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClustersRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.profile is not None:
result['Profile'] = self.profile
if self.resource_group_id is not None:
result['ResourceGroupId'] = self.resource_group_id
result['Tag'] = []
if self.tag is not None:
for k in self.tag:
result['Tag'].append(k.to_map() if k else None)
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('ResourceGroupId') is not None:
self.resource_group_id = m.get('ResourceGroupId')
self.tag = []
if m.get('Tag') is not None:
for k in m.get('Tag'):
temp_model = Tag()
self.tag.append(temp_model.from_map(k))
return self
class DescribeHubClustersShrinkRequest(TeaModel):
def __init__(self, profile=None, resource_group_id=None, tag_shrink=None):
# The configurations of the cluster.
self.profile = profile # type: str
# The resource group ID.
self.resource_group_id = resource_group_id # type: str
# The tags.
self.tag_shrink = tag_shrink # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.profile is not None:
result['Profile'] = self.profile
if self.resource_group_id is not None:
result['ResourceGroupId'] = self.resource_group_id
if self.tag_shrink is not None:
result['Tag'] = self.tag_shrink
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('ResourceGroupId') is not None:
self.resource_group_id = m.get('ResourceGroupId')
if m.get('Tag') is not None:
self.tag_shrink = m.get('Tag')
return self
class DescribeHubClustersResponseBodyClustersApiServer(TeaModel):
def __init__(self, api_server_eip_id=None, enabled_public=None, load_balancer_id=None):
# The elastic IP address (EIP) ID.
self.api_server_eip_id = api_server_eip_id # type: str
# Indicates whether the public endpoint is enabled for the API server. Valid values:
#
# * true
# * false
self.enabled_public = enabled_public # type: bool
# The ID of the Server Load Balancer (SLB) instance that is associated with the cluster.
self.load_balancer_id = load_balancer_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersApiServer, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server_eip_id is not None:
result['ApiServerEipId'] = self.api_server_eip_id
if self.enabled_public is not None:
result['EnabledPublic'] = self.enabled_public
if self.load_balancer_id is not None:
result['LoadBalancerId'] = self.load_balancer_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServerEipId') is not None:
self.api_server_eip_id = m.get('ApiServerEipId')
if m.get('EnabledPublic') is not None:
self.enabled_public = m.get('EnabledPublic')
if m.get('LoadBalancerId') is not None:
self.load_balancer_id = m.get('LoadBalancerId')
return self
class DescribeHubClustersResponseBodyClustersClusterInfoTags(TeaModel):
def __init__(self, key=None, value=None):
# The tag key.
self.key = key # type: str
# The tag value.
self.value = value # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersClusterInfoTags, self).to_map()
if _map is not None:
return _map
result = dict()
if self.key is not None:
result['Key'] = self.key
if self.value is not None:
result['Value'] = self.value
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Key') is not None:
self.key = m.get('Key')
if m.get('Value') is not None:
self.value = m.get('Value')
return self
class DescribeHubClustersResponseBodyClustersClusterInfo(TeaModel):
def __init__(self, cluster_id=None, cluster_spec=None, creation_time=None, error_message=None, name=None,
profile=None, region_id=None, resource_group_id=None, state=None, tags=None, update_time=None, version=None):
# The cluster ID.
self.cluster_id = cluster_id # type: str
# The specifications of the cluster.
#
# * Only ack.pro.small may be returned.
self.cluster_spec = cluster_spec # type: str
# The time when the cluster was created.
self.creation_time = creation_time # type: str
# The error message that is returned if the cluster failed to be created.
self.error_message = error_message # type: str
# The cluster name.
self.name = name # type: str
# The configurations of the cluster.
self.profile = profile # type: str
# The region ID.
self.region_id = region_id # type: str
# The resource group ID.
self.resource_group_id = resource_group_id # type: str
# The state of the cluster. Valid values:
#
# * initial: The cluster is being initialized.
# * failed: The cluster failed to be created.
# * running: The cluster is running
# * inactive: The cluster is not activated.
# * deleting: The cluster is being deleted.
# * delete_failed: The cluster failed to be deleted.
# * deleted: The cluster is deleted.
self.state = state # type: str
# The tags.
self.tags = tags # type: list[DescribeHubClustersResponseBodyClustersClusterInfoTags]
# The time when the cluster was last modified.
self.update_time = update_time # type: str
# The version of the cluster.
self.version = version # type: str
def validate(self):
if self.tags:
for k in self.tags:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersClusterInfo, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_spec is not None:
result['ClusterSpec'] = self.cluster_spec
if self.creation_time is not None:
result['CreationTime'] = self.creation_time
if self.error_message is not None:
result['ErrorMessage'] = self.error_message
if self.name is not None:
result['Name'] = self.name
if self.profile is not None:
result['Profile'] = self.profile
if self.region_id is not None:
result['RegionId'] = self.region_id
if self.resource_group_id is not None:
result['ResourceGroupID'] = self.resource_group_id
if self.state is not None:
result['State'] = self.state
result['Tags'] = []
if self.tags is not None:
for k in self.tags:
result['Tags'].append(k.to_map() if k else None)
if self.update_time is not None:
result['UpdateTime'] = self.update_time
if self.version is not None:
result['Version'] = self.version
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterSpec') is not None:
self.cluster_spec = m.get('ClusterSpec')
if m.get('CreationTime') is not None:
self.creation_time = m.get('CreationTime')
if m.get('ErrorMessage') is not None:
self.error_message = m.get('ErrorMessage')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
if m.get('ResourceGroupID') is not None:
self.resource_group_id = m.get('ResourceGroupID')
if m.get('State') is not None:
self.state = m.get('State')
self.tags = []
if m.get('Tags') is not None:
for k in m.get('Tags'):
temp_model = DescribeHubClustersResponseBodyClustersClusterInfoTags()
self.tags.append(temp_model.from_map(k))
if m.get('UpdateTime') is not None:
self.update_time = m.get('UpdateTime')
if m.get('Version') is not None:
self.version = m.get('Version')
return self
class DescribeHubClustersResponseBodyClustersConditions(TeaModel):
def __init__(self, message=None, reason=None, status=None, type=None):
# The error message returned.
self.message = message # type: str
# The reason for the deletion condition.
self.reason = reason # type: str
# The state of the cluster that the deletion condition indicates. Valid values:
#
# * True: The cluster cannot be deleted.
# * False: The cluster can be deleted.
# * Unknow: Whether the cluster can be deleted is unknown.
self.status = status # type: str
# The type of deletion condition.
self.type = type # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersConditions, self).to_map()
if _map is not None:
return _map
result = dict()
if self.message is not None:
result['Message'] = self.message
if self.reason is not None:
result['Reason'] = self.reason
if self.status is not None:
result['Status'] = self.status
if self.type is not None:
result['Type'] = self.type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Message') is not None:
self.message = m.get('Message')
if m.get('Reason') is not None:
self.reason = m.get('Reason')
if m.get('Status') is not None:
self.status = m.get('Status')
if m.get('Type') is not None:
self.type = m.get('Type')
return self
class DescribeHubClustersResponseBodyClustersEndpoints(TeaModel):
def __init__(self, intranet_api_server_endpoint=None, public_api_server_endpoint=None):
# The internal endpoint of the API server.
self.intranet_api_server_endpoint = intranet_api_server_endpoint # type: str
# The public endpoint of the API server.
self.public_api_server_endpoint = public_api_server_endpoint # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersEndpoints, self).to_map()
if _map is not None:
return _map
result = dict()
if self.intranet_api_server_endpoint is not None:
result['IntranetApiServerEndpoint'] = self.intranet_api_server_endpoint
if self.public_api_server_endpoint is not None:
result['PublicApiServerEndpoint'] = self.public_api_server_endpoint
return result
def from_map(self, m=None):
m = m or dict()
if m.get('IntranetApiServerEndpoint') is not None:
self.intranet_api_server_endpoint = m.get('IntranetApiServerEndpoint')
if m.get('PublicApiServerEndpoint') is not None:
self.public_api_server_endpoint = m.get('PublicApiServerEndpoint')
return self
class DescribeHubClustersResponseBodyClustersLogConfig(TeaModel):
def __init__(self, enable_log=None, log_project=None, log_store_ttl=None):
# Indicates whether the audit logging feature is enabled. Valid values:
#
# * true
# * false
self.enable_log = enable_log # type: bool
# The name of the project in Simple Log Service.
self.log_project = log_project # type: str
# The number of days that logs are retained by Simple Log Service.
self.log_store_ttl = log_store_ttl # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersLogConfig, self).to_map()
if _map is not None:
return _map
result = dict()
if self.enable_log is not None:
result['EnableLog'] = self.enable_log
if self.log_project is not None:
result['LogProject'] = self.log_project
if self.log_store_ttl is not None:
result['LogStoreTTL'] = self.log_store_ttl
return result
def from_map(self, m=None):
m = m or dict()
if m.get('EnableLog') is not None:
self.enable_log = m.get('EnableLog')
if m.get('LogProject') is not None:
self.log_project = m.get('LogProject')
if m.get('LogStoreTTL') is not None:
self.log_store_ttl = m.get('LogStoreTTL')
return self
class DescribeHubClustersResponseBodyClustersMeshConfig(TeaModel):
def __init__(self, enable_mesh=None, mesh_id=None):
# Indicates whether ASM is enabled. Valid values:
#
# * true
# * false
self.enable_mesh = enable_mesh # type: bool
# The ASM instance ID.
self.mesh_id = mesh_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersMeshConfig, self).to_map()
if _map is not None:
return _map
result = dict()
if self.enable_mesh is not None:
result['EnableMesh'] = self.enable_mesh
if self.mesh_id is not None:
result['MeshId'] = self.mesh_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('EnableMesh') is not None:
self.enable_mesh = m.get('EnableMesh')
if m.get('MeshId') is not None:
self.mesh_id = m.get('MeshId')
return self
class DescribeHubClustersResponseBodyClustersNetwork(TeaModel):
def __init__(self, cluster_domain=None, security_group_ids=None, v_switches=None, vpc_id=None):
# The domain name of the cluster.
self.cluster_domain = cluster_domain # type: str
# The security group IDs.
self.security_group_ids = security_group_ids # type: list[str]
# The IDs of vSwitches to which the cluster belongs.
self.v_switches = v_switches # type: list[str]
# The ID of the virtual private cloud (VPC) to which the cluster belongs.
self.vpc_id = vpc_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClustersNetwork, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_domain is not None:
result['ClusterDomain'] = self.cluster_domain
if self.security_group_ids is not None:
result['SecurityGroupIDs'] = self.security_group_ids
if self.v_switches is not None:
result['VSwitches'] = self.v_switches
if self.vpc_id is not None:
result['VpcId'] = self.vpc_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterDomain') is not None:
self.cluster_domain = m.get('ClusterDomain')
if m.get('SecurityGroupIDs') is not None:
self.security_group_ids = m.get('SecurityGroupIDs')
if m.get('VSwitches') is not None:
self.v_switches = m.get('VSwitches')
if m.get('VpcId') is not None:
self.vpc_id = m.get('VpcId')
return self
class DescribeHubClustersResponseBodyClusters(TeaModel):
def __init__(self, api_server=None, cluster_info=None, conditions=None, endpoints=None, log_config=None,
mesh_config=None, network=None):
# The information about the API server.
self.api_server = api_server # type: DescribeHubClustersResponseBodyClustersApiServer
# The details of the cluster.
self.cluster_info = cluster_info # type: DescribeHubClustersResponseBodyClustersClusterInfo
# The deletion conditions of the cluster.
self.conditions = conditions # type: list[DescribeHubClustersResponseBodyClustersConditions]
# The endpoints of the cluster.
self.endpoints = endpoints # type: DescribeHubClustersResponseBodyClustersEndpoints
# The logging configurations.
self.log_config = log_config # type: DescribeHubClustersResponseBodyClustersLogConfig
# The configurations of Alibaba Cloud Service Mesh (ASM).
self.mesh_config = mesh_config # type: DescribeHubClustersResponseBodyClustersMeshConfig
# The network configurations of the cluster.
self.network = network # type: DescribeHubClustersResponseBodyClustersNetwork
def validate(self):
if self.api_server:
self.api_server.validate()
if self.cluster_info:
self.cluster_info.validate()
if self.conditions:
for k in self.conditions:
if k:
k.validate()
if self.endpoints:
self.endpoints.validate()
if self.log_config:
self.log_config.validate()
if self.mesh_config:
self.mesh_config.validate()
if self.network:
self.network.validate()
def to_map(self):
_map = super(DescribeHubClustersResponseBodyClusters, self).to_map()
if _map is not None:
return _map
result = dict()
if self.api_server is not None:
result['ApiServer'] = self.api_server.to_map()
if self.cluster_info is not None:
result['ClusterInfo'] = self.cluster_info.to_map()
result['Conditions'] = []
if self.conditions is not None:
for k in self.conditions:
result['Conditions'].append(k.to_map() if k else None)
if self.endpoints is not None:
result['Endpoints'] = self.endpoints.to_map()
if self.log_config is not None:
result['LogConfig'] = self.log_config.to_map()
if self.mesh_config is not None:
result['MeshConfig'] = self.mesh_config.to_map()
if self.network is not None:
result['Network'] = self.network.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ApiServer') is not None:
temp_model = DescribeHubClustersResponseBodyClustersApiServer()
self.api_server = temp_model.from_map(m['ApiServer'])
if m.get('ClusterInfo') is not None:
temp_model = DescribeHubClustersResponseBodyClustersClusterInfo()
self.cluster_info = temp_model.from_map(m['ClusterInfo'])
self.conditions = []
if m.get('Conditions') is not None:
for k in m.get('Conditions'):
temp_model = DescribeHubClustersResponseBodyClustersConditions()
self.conditions.append(temp_model.from_map(k))
if m.get('Endpoints') is not None:
temp_model = DescribeHubClustersResponseBodyClustersEndpoints()
self.endpoints = temp_model.from_map(m['Endpoints'])
if m.get('LogConfig') is not None:
temp_model = DescribeHubClustersResponseBodyClustersLogConfig()
self.log_config = temp_model.from_map(m['LogConfig'])
if m.get('MeshConfig') is not None:
temp_model = DescribeHubClustersResponseBodyClustersMeshConfig()
self.mesh_config = temp_model.from_map(m['MeshConfig'])
if m.get('Network') is not None:
temp_model = DescribeHubClustersResponseBodyClustersNetwork()
self.network = temp_model.from_map(m['Network'])
return self
class DescribeHubClustersResponseBody(TeaModel):
def __init__(self, clusters=None, request_id=None):
# The information about clusters.
self.clusters = clusters # type: list[DescribeHubClustersResponseBodyClusters]
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
if self.clusters:
for k in self.clusters:
if k:
k.validate()
def to_map(self):
_map = super(DescribeHubClustersResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Clusters'] = []
if self.clusters is not None:
for k in self.clusters:
result['Clusters'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.clusters = []
if m.get('Clusters') is not None:
for k in m.get('Clusters'):
temp_model = DescribeHubClustersResponseBodyClusters()
self.clusters.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeHubClustersResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeHubClustersResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeHubClustersResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeHubClustersResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeManagedClustersRequest(TeaModel):
def __init__(self, cluster_id=None):
# The status of the association between the clusters and Service Mesh (ASM).
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeManagedClustersRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
return self
class DescribeManagedClustersResponseBodyClustersCluster(TeaModel):
def __init__(self, cluster_id=None, cluster_spec=None, cluster_type=None, created=None, current_version=None,
init_version=None, name=None, profile=None, region=None, resource_group_id=None, state=None, updated=None,
v_switch_id=None, vpc_id=None):
# Information about the master instance.
self.cluster_id = cluster_id # type: str
# The ID of the master instance.
self.cluster_spec = cluster_spec # type: str
# The time when the master instance was created.
self.cluster_type = cluster_type # type: str
# The ID of the master instance.
self.created = created # type: str
# The name of the master instance.
self.current_version = current_version # type: str
# The specification of the master instance. Valid values: - ack.pro.small: ACK Pro.
self.init_version = init_version # type: str
# The status information.
self.name = name # type: str
# The ID of the request.
self.profile = profile # type: str
# The ID of the master instance.
self.region = region # type: str
# The name of the master instance.
self.resource_group_id = resource_group_id # type: str
# The current Kubernetes version of the master instance.
self.state = state # type: str
# The ID of the vSwitch.
self.updated = updated # type: str
# The original Kubernetes version of the master instance.
self.v_switch_id = v_switch_id # type: str
# The status of the association between the clusters and the master instance. Valid values: - Installing: The clusters are being associated with the master instance. - Successed: The clusters are associated with the master instance. - Failed: The clusters failed to be associated with the master instance. - Deleting: The clusters are being disassociated from the master instance. - Deleted: The clusters are disassociated from the master instance.
self.vpc_id = vpc_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeManagedClustersResponseBodyClustersCluster, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterID'] = self.cluster_id
if self.cluster_spec is not None:
result['ClusterSpec'] = self.cluster_spec
if self.cluster_type is not None:
result['ClusterType'] = self.cluster_type
if self.created is not None:
result['Created'] = self.created
if self.current_version is not None:
result['CurrentVersion'] = self.current_version
if self.init_version is not None:
result['InitVersion'] = self.init_version
if self.name is not None:
result['Name'] = self.name
if self.profile is not None:
result['Profile'] = self.profile
if self.region is not None:
result['Region'] = self.region
if self.resource_group_id is not None:
result['ResourceGroupId'] = self.resource_group_id
if self.state is not None:
result['State'] = self.state
if self.updated is not None:
result['Updated'] = self.updated
if self.v_switch_id is not None:
result['VSwitchID'] = self.v_switch_id
if self.vpc_id is not None:
result['VpcID'] = self.vpc_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterID') is not None:
self.cluster_id = m.get('ClusterID')
if m.get('ClusterSpec') is not None:
self.cluster_spec = m.get('ClusterSpec')
if m.get('ClusterType') is not None:
self.cluster_type = m.get('ClusterType')
if m.get('Created') is not None:
self.created = m.get('Created')
if m.get('CurrentVersion') is not None:
self.current_version = m.get('CurrentVersion')
if m.get('InitVersion') is not None:
self.init_version = m.get('InitVersion')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('Region') is not None:
self.region = m.get('Region')
if m.get('ResourceGroupId') is not None:
self.resource_group_id = m.get('ResourceGroupId')
if m.get('State') is not None:
self.state = m.get('State')
if m.get('Updated') is not None:
self.updated = m.get('Updated')
if m.get('VSwitchID') is not None:
self.v_switch_id = m.get('VSwitchID')
if m.get('VpcID') is not None:
self.vpc_id = m.get('VpcID')
return self
class DescribeManagedClustersResponseBodyClustersMeshStatus(TeaModel):
def __init__(self, in_mesh=None):
self.in_mesh = in_mesh # type: bool
def validate(self):
pass
def to_map(self):
_map = super(DescribeManagedClustersResponseBodyClustersMeshStatus, self).to_map()
if _map is not None:
return _map
result = dict()
if self.in_mesh is not None:
result['InMesh'] = self.in_mesh
return result
def from_map(self, m=None):
m = m or dict()
if m.get('InMesh') is not None:
self.in_mesh = m.get('InMesh')
return self
class DescribeManagedClustersResponseBodyClustersStatus(TeaModel):
def __init__(self, message=None, state=None):
# Query the clusters that are associated with a master instance.
self.message = message # type: str
# You can call the DescribeManagedClusters operation to query the clusters that are associated with a master instance.
self.state = state # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeManagedClustersResponseBodyClustersStatus, self).to_map()
if _map is not None:
return _map
result = dict()
if self.message is not None:
result['Message'] = self.message
if self.state is not None:
result['State'] = self.state
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Message') is not None:
self.message = m.get('Message')
if m.get('State') is not None:
self.state = m.get('State')
return self
class DescribeManagedClustersResponseBodyClusters(TeaModel):
def __init__(self, cluster=None, mesh_status=None, status=None):
# The name of the master instance.
self.cluster = cluster # type: DescribeManagedClustersResponseBodyClustersCluster
# Zhishi
self.mesh_status = mesh_status # type: DescribeManagedClustersResponseBodyClustersMeshStatus
# Example 1
self.status = status # type: DescribeManagedClustersResponseBodyClustersStatus
def validate(self):
if self.cluster:
self.cluster.validate()
if self.mesh_status:
self.mesh_status.validate()
if self.status:
self.status.validate()
def to_map(self):
_map = super(DescribeManagedClustersResponseBodyClusters, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster is not None:
result['Cluster'] = self.cluster.to_map()
if self.mesh_status is not None:
result['MeshStatus'] = self.mesh_status.to_map()
if self.status is not None:
result['Status'] = self.status.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Cluster') is not None:
temp_model = DescribeManagedClustersResponseBodyClustersCluster()
self.cluster = temp_model.from_map(m['Cluster'])
if m.get('MeshStatus') is not None:
temp_model = DescribeManagedClustersResponseBodyClustersMeshStatus()
self.mesh_status = temp_model.from_map(m['MeshStatus'])
if m.get('Status') is not None:
temp_model = DescribeManagedClustersResponseBodyClustersStatus()
self.status = temp_model.from_map(m['Status'])
return self
class DescribeManagedClustersResponseBody(TeaModel):
def __init__(self, clusters=None, request_id=None):
# The status of the associated clusters. Valid values: - initial: The associated clusters are being initialized. - failed: The associated clustersfailed to be created. - running: The associated clusters are running. - inactive: The associated clusters are inactive. - deleting: The associated clusters are being deleted. - deleted: The associated clusters are deleted.
self.clusters = clusters # type: list[DescribeManagedClustersResponseBodyClusters]
# VPC ID
self.request_id = request_id # type: str
def validate(self):
if self.clusters:
for k in self.clusters:
if k:
k.validate()
def to_map(self):
_map = super(DescribeManagedClustersResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Clusters'] = []
if self.clusters is not None:
for k in self.clusters:
result['Clusters'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.clusters = []
if m.get('Clusters') is not None:
for k in m.get('Clusters'):
temp_model = DescribeManagedClustersResponseBodyClusters()
self.clusters.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeManagedClustersResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeManagedClustersResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeManagedClustersResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeManagedClustersResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribePoliciesResponseBodyPolicies(TeaModel):
def __init__(self, category=None, names=None):
# The policy type.
self.category = category # type: str
# The names of the policies of each policy type.
self.names = names # type: list[str]
def validate(self):
pass
def to_map(self):
_map = super(DescribePoliciesResponseBodyPolicies, self).to_map()
if _map is not None:
return _map
result = dict()
if self.category is not None:
result['Category'] = self.category
if self.names is not None:
result['Names'] = self.names
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Category') is not None:
self.category = m.get('Category')
if m.get('Names') is not None:
self.names = m.get('Names')
return self
class DescribePoliciesResponseBody(TeaModel):
def __init__(self, policies=None, request_id=None):
# A list of policies.
self.policies = policies # type: list[DescribePoliciesResponseBodyPolicies]
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.policies:
for k in self.policies:
if k:
k.validate()
def to_map(self):
_map = super(DescribePoliciesResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Policies'] = []
if self.policies is not None:
for k in self.policies:
result['Policies'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.policies = []
if m.get('Policies') is not None:
for k in m.get('Policies'):
temp_model = DescribePoliciesResponseBodyPolicies()
self.policies.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribePoliciesResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribePoliciesResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribePoliciesResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribePoliciesResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribePolicyDetailsRequest(TeaModel):
def __init__(self, policy_name=None):
# The policy name.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyDetailsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DescribePolicyDetailsResponseBodyPolicy(TeaModel):
def __init__(self, action=None, category=None, created=None, description=None, name=None, no_config=None,
severity=None, template=None, updated=None):
# The action of the policy. Valid values:
#
# * enforce: blocks deployments that match the policy.
# * inform: generates alerts for deployments that match the policy.
self.action = action # type: str
# The type of the policy.
self.category = category # type: str
# The time when the policy was created.
self.created = created # type: str
# The description of the policy.
self.description = description # type: str
# The name of the policy.
self.name = name # type: str
# Indicates whether parameters are required. Valid values:
#
# * 0: Parameters are required.
# * 1: Parameters are not required.
self.no_config = no_config # type: int
# The severity level of the policy.
self.severity = severity # type: str
# The content of the policy.
self.template = template # type: str
# The time when the policy was last updated.
self.updated = updated # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyDetailsResponseBodyPolicy, self).to_map()
if _map is not None:
return _map
result = dict()
if self.action is not None:
result['Action'] = self.action
if self.category is not None:
result['Category'] = self.category
if self.created is not None:
result['Created'] = self.created
if self.description is not None:
result['Description'] = self.description
if self.name is not None:
result['Name'] = self.name
if self.no_config is not None:
result['NoConfig'] = self.no_config
if self.severity is not None:
result['Severity'] = self.severity
if self.template is not None:
result['Template'] = self.template
if self.updated is not None:
result['Updated'] = self.updated
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Action') is not None:
self.action = m.get('Action')
if m.get('Category') is not None:
self.category = m.get('Category')
if m.get('Created') is not None:
self.created = m.get('Created')
if m.get('Description') is not None:
self.description = m.get('Description')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('NoConfig') is not None:
self.no_config = m.get('NoConfig')
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('Template') is not None:
self.template = m.get('Template')
if m.get('Updated') is not None:
self.updated = m.get('Updated')
return self
class DescribePolicyDetailsResponseBody(TeaModel):
def __init__(self, policy=None, request_id=None):
# The policies.
self.policy = policy # type: DescribePolicyDetailsResponseBodyPolicy
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.policy:
self.policy.validate()
def to_map(self):
_map = super(DescribePolicyDetailsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policy is not None:
result['Policy'] = self.policy.to_map()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Policy') is not None:
temp_model = DescribePolicyDetailsResponseBodyPolicy()
self.policy = temp_model.from_map(m['Policy'])
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribePolicyDetailsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribePolicyDetailsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribePolicyDetailsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribePolicyDetailsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribePolicyGovernanceInClusterRequest(TeaModel):
def __init__(self, cluster_id=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesCluster(TeaModel):
def __init__(self, cluster_id=None, cluster_spec=None, cluster_type=None, name=None, profile=None,
region_id=None, state=None):
# The ID of the associated cluster.
self.cluster_id = cluster_id # type: str
# The specifications of the associated cluster.
self.cluster_spec = cluster_spec # type: str
# The type of the associated cluster.
self.cluster_type = cluster_type # type: str
# The name of the associated cluster.
self.name = name # type: str
# The identifier of the associated cluster.
self.profile = profile # type: str
# The region ID of the associated cluster.
self.region_id = region_id # type: str
# The status of the associated cluster.
self.state = state # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesCluster, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_spec is not None:
result['ClusterSpec'] = self.cluster_spec
if self.cluster_type is not None:
result['ClusterType'] = self.cluster_type
if self.name is not None:
result['Name'] = self.name
if self.profile is not None:
result['Profile'] = self.profile
if self.region_id is not None:
result['RegionId'] = self.region_id
if self.state is not None:
result['State'] = self.state
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterSpec') is not None:
self.cluster_spec = m.get('ClusterSpec')
if m.get('ClusterType') is not None:
self.cluster_type = m.get('ClusterType')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('Profile') is not None:
self.profile = m.get('Profile')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
if m.get('State') is not None:
self.state = m.get('State')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceAdmitLog(TeaModel):
def __init__(self, count=None, log_project=None, log_store=None, logs=None, progress=None):
# The number of log entries in the query result.
self.count = count # type: str
# The name of the Log Service project.
self.log_project = log_project # type: str
# The name of the Logstore.
self.log_store = log_store # type: str
# The content of the audit log.
self.logs = logs # type: list[dict[str, str]]
# The status of the query. Valid values:
#
# * Complete: The query is successful, and the complete result is returned.
# * Incomplete: The query is successful, but the query result is incomplete. To obtain the complete result, you must call the operation again.
self.progress = progress # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceAdmitLog, self).to_map()
if _map is not None:
return _map
result = dict()
if self.count is not None:
result['Count'] = self.count
if self.log_project is not None:
result['LogProject'] = self.log_project
if self.log_store is not None:
result['LogStore'] = self.log_store
if self.logs is not None:
result['Logs'] = self.logs
if self.progress is not None:
result['Progress'] = self.progress
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Count') is not None:
self.count = m.get('Count')
if m.get('LogProject') is not None:
self.log_project = m.get('LogProject')
if m.get('LogStore') is not None:
self.log_store = m.get('LogStore')
if m.get('Logs') is not None:
self.logs = m.get('Logs')
if m.get('Progress') is not None:
self.progress = m.get('Progress')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceOnState(TeaModel):
def __init__(self, enabled_count=None, severity=None, total_count=None):
# The types of policies that are enabled in the associated cluster.
self.enabled_count = enabled_count # type: long
# The severity level.
self.severity = severity # type: str
# The types of policies of each severity level.
self.total_count = total_count # type: long
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceOnState, self).to_map()
if _map is not None:
return _map
result = dict()
if self.enabled_count is not None:
result['EnabledCount'] = self.enabled_count
if self.severity is not None:
result['Severity'] = self.severity
if self.total_count is not None:
result['TotalCount'] = self.total_count
return result
def from_map(self, m=None):
m = m or dict()
if m.get('EnabledCount') is not None:
self.enabled_count = m.get('EnabledCount')
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('TotalCount') is not None:
self.total_count = m.get('TotalCount')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsDeny(TeaModel):
def __init__(self, severity=None, violations=None):
# The severity level.
self.severity = severity # type: str
# The number of deployments that are blocked.
self.violations = violations # type: long
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsDeny, self).to_map()
if _map is not None:
return _map
result = dict()
if self.severity is not None:
result['Severity'] = self.severity
if self.violations is not None:
result['Violations'] = self.violations
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('Violations') is not None:
self.violations = m.get('Violations')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsWarn(TeaModel):
def __init__(self, severity=None, violations=None):
# The severity level.
self.severity = severity # type: str
# The number of deployments that have triggered alerting.
self.violations = violations # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsWarn, self).to_map()
if _map is not None:
return _map
result = dict()
if self.severity is not None:
result['Severity'] = self.severity
if self.violations is not None:
result['Violations'] = self.violations
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('Violations') is not None:
self.violations = m.get('Violations')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolations(TeaModel):
def __init__(self, deny=None, warn=None):
# The information about the deployments that are blocked.
self.deny = deny # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsDeny]
# The information about the deployments that have triggered alerting.
self.warn = warn # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsWarn]
def validate(self):
if self.deny:
for k in self.deny:
if k:
k.validate()
if self.warn:
for k in self.warn:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolations, self).to_map()
if _map is not None:
return _map
result = dict()
result['Deny'] = []
if self.deny is not None:
for k in self.deny:
result['Deny'].append(k.to_map() if k else None)
result['Warn'] = []
if self.warn is not None:
for k in self.warn:
result['Warn'].append(k.to_map() if k else None)
return result
def from_map(self, m=None):
m = m or dict()
self.deny = []
if m.get('Deny') is not None:
for k in m.get('Deny'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsDeny()
self.deny.append(temp_model.from_map(k))
self.warn = []
if m.get('Warn') is not None:
for k in m.get('Warn'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolationsWarn()
self.warn.append(temp_model.from_map(k))
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsDeny(TeaModel):
def __init__(self, policy_description=None, policy_name=None, severity=None, violations=None):
# The description of the policy.
self.policy_description = policy_description # type: str
# The name of the policy.
self.policy_name = policy_name # type: str
# The severity level of the policy.
self.severity = severity # type: str
# The number of times that the policy blocks deployments.
self.violations = violations # type: long
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsDeny, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policy_description is not None:
result['PolicyDescription'] = self.policy_description
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
if self.severity is not None:
result['Severity'] = self.severity
if self.violations is not None:
result['Violations'] = self.violations
return result
def from_map(self, m=None):
m = m or dict()
if m.get('PolicyDescription') is not None:
self.policy_description = m.get('PolicyDescription')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('Violations') is not None:
self.violations = m.get('Violations')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsWarn(TeaModel):
def __init__(self, policy_description=None, policy_name=None, severity=None, violations=None):
# The description of the policy.
self.policy_description = policy_description # type: str
# The name of the policy.
self.policy_name = policy_name # type: str
# The severity level of the policy.
self.severity = severity # type: str
# The number of times that the policy generates alerts.
self.violations = violations # type: long
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsWarn, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policy_description is not None:
result['PolicyDescription'] = self.policy_description
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
if self.severity is not None:
result['Severity'] = self.severity
if self.violations is not None:
result['Violations'] = self.violations
return result
def from_map(self, m=None):
m = m or dict()
if m.get('PolicyDescription') is not None:
self.policy_description = m.get('PolicyDescription')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
if m.get('Severity') is not None:
self.severity = m.get('Severity')
if m.get('Violations') is not None:
self.violations = m.get('Violations')
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolations(TeaModel):
def __init__(self, deny=None, warn=None):
# The information about the deployments that are blocked.
self.deny = deny # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsDeny]
# The information about the deployments that have triggered alerting.
self.warn = warn # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsWarn]
def validate(self):
if self.deny:
for k in self.deny:
if k:
k.validate()
if self.warn:
for k in self.warn:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolations, self).to_map()
if _map is not None:
return _map
result = dict()
result['Deny'] = []
if self.deny is not None:
for k in self.deny:
result['Deny'].append(k.to_map() if k else None)
result['Warn'] = []
if self.warn is not None:
for k in self.warn:
result['Warn'].append(k.to_map() if k else None)
return result
def from_map(self, m=None):
m = m or dict()
self.deny = []
if m.get('Deny') is not None:
for k in m.get('Deny'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsDeny()
self.deny.append(temp_model.from_map(k))
self.warn = []
if m.get('Warn') is not None:
for k in m.get('Warn'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolationsWarn()
self.warn.append(temp_model.from_map(k))
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolation(TeaModel):
def __init__(self, total_violations=None, violations=None):
# The number of deployments that match the policies in the associated cluster, including deployments that are blocked and deployments that have triggered alerting. The deployments are classified by severity level.
self.total_violations = total_violations # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolations
# The number of deployments that match the policies in the associated cluster, including deployments that are blocked and deployments that have triggered alerting. The deployments are classified by policy type.
self.violations = violations # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolations
def validate(self):
if self.total_violations:
self.total_violations.validate()
if self.violations:
self.violations.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolation, self).to_map()
if _map is not None:
return _map
result = dict()
if self.total_violations is not None:
result['TotalViolations'] = self.total_violations.to_map()
if self.violations is not None:
result['Violations'] = self.violations.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('TotalViolations') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationTotalViolations()
self.total_violations = temp_model.from_map(m['TotalViolations'])
if m.get('Violations') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolationViolations()
self.violations = temp_model.from_map(m['Violations'])
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernance(TeaModel):
def __init__(self, admit_log=None, on_state=None, violation=None):
# The audit log generated by the associated cluster.
self.admit_log = admit_log # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceAdmitLog
# The number of policies of each severity level enabled in the associated cluster.
self.on_state = on_state # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceOnState]
# The number of deployments that match the policies in the associated cluster, including deployments that are blocked and deployments that have triggered alerting.
self.violation = violation # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolation
def validate(self):
if self.admit_log:
self.admit_log.validate()
if self.on_state:
for k in self.on_state:
if k:
k.validate()
if self.violation:
self.violation.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernance, self).to_map()
if _map is not None:
return _map
result = dict()
if self.admit_log is not None:
result['AdmitLog'] = self.admit_log.to_map()
result['OnState'] = []
if self.on_state is not None:
for k in self.on_state:
result['OnState'].append(k.to_map() if k else None)
if self.violation is not None:
result['Violation'] = self.violation.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AdmitLog') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceAdmitLog()
self.admit_log = temp_model.from_map(m['AdmitLog'])
self.on_state = []
if m.get('OnState') is not None:
for k in m.get('OnState'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceOnState()
self.on_state.append(temp_model.from_map(k))
if m.get('Violation') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernanceViolation()
self.violation = temp_model.from_map(m['Violation'])
return self
class DescribePolicyGovernanceInClusterResponseBodyPolicyGovernances(TeaModel):
def __init__(self, cluster=None, policy_governance=None):
# The information about the associated clusters in which the policies are deployed.
self.cluster = cluster # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesCluster
# The detailed policy information.
self.policy_governance = policy_governance # type: DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernance
def validate(self):
if self.cluster:
self.cluster.validate()
if self.policy_governance:
self.policy_governance.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBodyPolicyGovernances, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster is not None:
result['Cluster'] = self.cluster.to_map()
if self.policy_governance is not None:
result['PolicyGovernance'] = self.policy_governance.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Cluster') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesCluster()
self.cluster = temp_model.from_map(m['Cluster'])
if m.get('PolicyGovernance') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernancesPolicyGovernance()
self.policy_governance = temp_model.from_map(m['PolicyGovernance'])
return self
class DescribePolicyGovernanceInClusterResponseBody(TeaModel):
def __init__(self, policy_governances=None, request_id=None):
# The detailed information about the policies.
self.policy_governances = policy_governances # type: list[DescribePolicyGovernanceInClusterResponseBodyPolicyGovernances]
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.policy_governances:
for k in self.policy_governances:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['PolicyGovernances'] = []
if self.policy_governances is not None:
for k in self.policy_governances:
result['PolicyGovernances'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.policy_governances = []
if m.get('PolicyGovernances') is not None:
for k in m.get('PolicyGovernances'):
temp_model = DescribePolicyGovernanceInClusterResponseBodyPolicyGovernances()
self.policy_governances.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribePolicyGovernanceInClusterResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribePolicyGovernanceInClusterResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribePolicyGovernanceInClusterResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribePolicyGovernanceInClusterResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribePolicyInstancesRequest(TeaModel):
def __init__(self, cluster_id=None, policy_name=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The name of the policy.
#
# This parameter is required.
self.policy_name = policy_name # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyInstancesRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
return self
class DescribePolicyInstancesResponseBodyPolicies(TeaModel):
def __init__(self, cluster_id=None, instance_name=None, policy_action=None, policy_category=None,
policy_description=None, policy_name=None, policy_parameters=None, policy_scope=None, policy_severity=None,
total_violations=None):
# The ID of the associated cluster.
self.cluster_id = cluster_id # type: str
# The name of the policy instance.
self.instance_name = instance_name # type: str
# The action of the policy. Valid values:
#
# * deny: blocks deployments that match the policy.
# * warn: generates alerts for deployments that match the policy.
self.policy_action = policy_action # type: str
# The type of the policy.
self.policy_category = policy_category # type: str
# The description of the policy.
self.policy_description = policy_description # type: str
# The name of the policy.
self.policy_name = policy_name # type: str
# The parameters of the policy instance.
self.policy_parameters = policy_parameters # type: dict[str, str]
# The applicable scope of the policy instance.
#
# A value of \\* indicates all namespaces. This is the default value.
#
# Multiple namespaces are separated by commas (,).
self.policy_scope = policy_scope # type: str
# The severity level of the policy.
self.policy_severity = policy_severity # type: str
# The total number of deployments that match the policy in the associated cluster, including the deployments that are blocked and the deployments that have triggered alerting.
self.total_violations = total_violations # type: long
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyInstancesResponseBodyPolicies, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.instance_name is not None:
result['InstanceName'] = self.instance_name
if self.policy_action is not None:
result['PolicyAction'] = self.policy_action
if self.policy_category is not None:
result['PolicyCategory'] = self.policy_category
if self.policy_description is not None:
result['PolicyDescription'] = self.policy_description
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
if self.policy_parameters is not None:
result['PolicyParameters'] = self.policy_parameters
if self.policy_scope is not None:
result['PolicyScope'] = self.policy_scope
if self.policy_severity is not None:
result['PolicySeverity'] = self.policy_severity
if self.total_violations is not None:
result['TotalViolations'] = self.total_violations
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('InstanceName') is not None:
self.instance_name = m.get('InstanceName')
if m.get('PolicyAction') is not None:
self.policy_action = m.get('PolicyAction')
if m.get('PolicyCategory') is not None:
self.policy_category = m.get('PolicyCategory')
if m.get('PolicyDescription') is not None:
self.policy_description = m.get('PolicyDescription')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
if m.get('PolicyParameters') is not None:
self.policy_parameters = m.get('PolicyParameters')
if m.get('PolicyScope') is not None:
self.policy_scope = m.get('PolicyScope')
if m.get('PolicySeverity') is not None:
self.policy_severity = m.get('PolicySeverity')
if m.get('TotalViolations') is not None:
self.total_violations = m.get('TotalViolations')
return self
class DescribePolicyInstancesResponseBody(TeaModel):
def __init__(self, policies=None, request_id=None):
# A list of policy instances.
self.policies = policies # type: list[DescribePolicyInstancesResponseBodyPolicies]
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.policies:
for k in self.policies:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyInstancesResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Policies'] = []
if self.policies is not None:
for k in self.policies:
result['Policies'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.policies = []
if m.get('Policies') is not None:
for k in m.get('Policies'):
temp_model = DescribePolicyInstancesResponseBodyPolicies()
self.policies.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribePolicyInstancesResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribePolicyInstancesResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribePolicyInstancesResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribePolicyInstancesResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribePolicyInstancesStatusRequest(TeaModel):
def __init__(self, cluster_id=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyInstancesStatusRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
return self
class DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstancesPolicyClusters(TeaModel):
def __init__(self, cluster_id=None, status=None):
# The cluster ID.
self.cluster_id = cluster_id # type: str
# The status of the policy deployment.
self.status = status # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstancesPolicyClusters, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.status is not None:
result['Status'] = self.status
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('Status') is not None:
self.status = m.get('Status')
return self
class DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstances(TeaModel):
def __init__(self, policy_category=None, policy_clusters=None, policy_description=None,
policy_instances_count=None, policy_name=None, policy_severity=None):
# The type of the policy.
self.policy_category = policy_category # type: str
# The associated clusters in which the policy instances are deployed.
self.policy_clusters = policy_clusters # type: list[DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstancesPolicyClusters]
# The description of the policy.
self.policy_description = policy_description # type: str
# The number of policy instances that are deployed. If this parameter is left empty, no policy instance is deployed.
self.policy_instances_count = policy_instances_count # type: long
# The policy name.
self.policy_name = policy_name # type: str
# The severity level of the policy.
self.policy_severity = policy_severity # type: str
def validate(self):
if self.policy_clusters:
for k in self.policy_clusters:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstances, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policy_category is not None:
result['PolicyCategory'] = self.policy_category
result['PolicyClusters'] = []
if self.policy_clusters is not None:
for k in self.policy_clusters:
result['PolicyClusters'].append(k.to_map() if k else None)
if self.policy_description is not None:
result['PolicyDescription'] = self.policy_description
if self.policy_instances_count is not None:
result['PolicyInstancesCount'] = self.policy_instances_count
if self.policy_name is not None:
result['PolicyName'] = self.policy_name
if self.policy_severity is not None:
result['PolicySeverity'] = self.policy_severity
return result
def from_map(self, m=None):
m = m or dict()
if m.get('PolicyCategory') is not None:
self.policy_category = m.get('PolicyCategory')
self.policy_clusters = []
if m.get('PolicyClusters') is not None:
for k in m.get('PolicyClusters'):
temp_model = DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstancesPolicyClusters()
self.policy_clusters.append(temp_model.from_map(k))
if m.get('PolicyDescription') is not None:
self.policy_description = m.get('PolicyDescription')
if m.get('PolicyInstancesCount') is not None:
self.policy_instances_count = m.get('PolicyInstancesCount')
if m.get('PolicyName') is not None:
self.policy_name = m.get('PolicyName')
if m.get('PolicySeverity') is not None:
self.policy_severity = m.get('PolicySeverity')
return self
class DescribePolicyInstancesStatusResponseBodyPoliciesSeverityInfo(TeaModel):
def __init__(self, severity_count=None, severity_type=None):
# The number of policy instances.
self.severity_count = severity_count # type: str
# The severity level of the policy.
self.severity_type = severity_type # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponseBodyPoliciesSeverityInfo, self).to_map()
if _map is not None:
return _map
result = dict()
if self.severity_count is not None:
result['SeverityCount'] = self.severity_count
if self.severity_type is not None:
result['SeverityType'] = self.severity_type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('SeverityCount') is not None:
self.severity_count = m.get('SeverityCount')
if m.get('SeverityType') is not None:
self.severity_type = m.get('SeverityType')
return self
class DescribePolicyInstancesStatusResponseBodyPolicies(TeaModel):
def __init__(self, policy_instances=None, severity_info=None):
# The number of policy instances of each policy type.
self.policy_instances = policy_instances # type: list[DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstances]
# The number of policy instances that are deployed in the cluster.
self.severity_info = severity_info # type: list[DescribePolicyInstancesStatusResponseBodyPoliciesSeverityInfo]
def validate(self):
if self.policy_instances:
for k in self.policy_instances:
if k:
k.validate()
if self.severity_info:
for k in self.severity_info:
if k:
k.validate()
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponseBodyPolicies, self).to_map()
if _map is not None:
return _map
result = dict()
result['PolicyInstances'] = []
if self.policy_instances is not None:
for k in self.policy_instances:
result['PolicyInstances'].append(k.to_map() if k else None)
result['SeverityInfo'] = []
if self.severity_info is not None:
for k in self.severity_info:
result['SeverityInfo'].append(k.to_map() if k else None)
return result
def from_map(self, m=None):
m = m or dict()
self.policy_instances = []
if m.get('PolicyInstances') is not None:
for k in m.get('PolicyInstances'):
temp_model = DescribePolicyInstancesStatusResponseBodyPoliciesPolicyInstances()
self.policy_instances.append(temp_model.from_map(k))
self.severity_info = []
if m.get('SeverityInfo') is not None:
for k in m.get('SeverityInfo'):
temp_model = DescribePolicyInstancesStatusResponseBodyPoliciesSeverityInfo()
self.severity_info.append(temp_model.from_map(k))
return self
class DescribePolicyInstancesStatusResponseBody(TeaModel):
def __init__(self, policies=None, request_id=None):
# The number of policy instances of each policy type.
self.policies = policies # type: DescribePolicyInstancesStatusResponseBodyPolicies
# The request ID.
self.request_id = request_id # type: str
def validate(self):
if self.policies:
self.policies.validate()
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.policies is not None:
result['Policies'] = self.policies.to_map()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Policies') is not None:
temp_model = DescribePolicyInstancesStatusResponseBodyPolicies()
self.policies = temp_model.from_map(m['Policies'])
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribePolicyInstancesStatusResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribePolicyInstancesStatusResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribePolicyInstancesStatusResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribePolicyInstancesStatusResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeRegionsRequest(TeaModel):
def __init__(self, language=None):
# The language. Valid values: zh and en.
self.language = language # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeRegionsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.language is not None:
result['Language'] = self.language
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Language') is not None:
self.language = m.get('Language')
return self
class DescribeRegionsResponseBodyRegions(TeaModel):
def __init__(self, local_name=None, region_id=None):
# The name of the region.
self.local_name = local_name # type: str
# The ID of the region.
self.region_id = region_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeRegionsResponseBodyRegions, self).to_map()
if _map is not None:
return _map
result = dict()
if self.local_name is not None:
result['LocalName'] = self.local_name
if self.region_id is not None:
result['RegionId'] = self.region_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('LocalName') is not None:
self.local_name = m.get('LocalName')
if m.get('RegionId') is not None:
self.region_id = m.get('RegionId')
return self
class DescribeRegionsResponseBody(TeaModel):
def __init__(self, regions=None, request_id=None):
# A list of available regions that are returned.
self.regions = regions # type: list[DescribeRegionsResponseBodyRegions]
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
if self.regions:
for k in self.regions:
if k:
k.validate()
def to_map(self):
_map = super(DescribeRegionsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Regions'] = []
if self.regions is not None:
for k in self.regions:
result['Regions'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.regions = []
if m.get('Regions') is not None:
for k in m.get('Regions'):
temp_model = DescribeRegionsResponseBodyRegions()
self.regions.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeRegionsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeRegionsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeRegionsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeRegionsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DescribeUserPermissionsRequest(TeaModel):
def __init__(self, user_id=None):
# The ID of the RAM user that you want to query.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeUserPermissionsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class DescribeUserPermissionsResponseBodyPermissions(TeaModel):
def __init__(self, resource_id=None, resource_type=None, role_name=None, role_type=None):
# The authorization setting. Valid values:
#
# * {cluster_id} is returned if the permissions are scoped to a cluster.
# * {cluster_id}/{namespace} is returned if the permissions are scoped to a namespace of a cluster.
# * all-clusters is returned if the permissions are scoped to all clusters.
self.resource_id = resource_id # type: str
# The authorization type. Valid values:
#
# * cluster: indicates that the permissions are scoped to a cluster.
# * namespace: indicates that the permissions are scoped to a namespace of a cluster.
self.resource_type = resource_type # type: str
# The name of the custom role. If a custom role is assigned, the value is the name of the assigned custom role.
self.role_name = role_name # type: str
# The type of predefined role. Valid values:
#
# * admin: administrator
# * dev: developer
self.role_type = role_type # type: str
def validate(self):
pass
def to_map(self):
_map = super(DescribeUserPermissionsResponseBodyPermissions, self).to_map()
if _map is not None:
return _map
result = dict()
if self.resource_id is not None:
result['ResourceId'] = self.resource_id
if self.resource_type is not None:
result['ResourceType'] = self.resource_type
if self.role_name is not None:
result['RoleName'] = self.role_name
if self.role_type is not None:
result['RoleType'] = self.role_type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ResourceId') is not None:
self.resource_id = m.get('ResourceId')
if m.get('ResourceType') is not None:
self.resource_type = m.get('ResourceType')
if m.get('RoleName') is not None:
self.role_name = m.get('RoleName')
if m.get('RoleType') is not None:
self.role_type = m.get('RoleType')
return self
class DescribeUserPermissionsResponseBody(TeaModel):
def __init__(self, permissions=None, request_id=None):
# The details about the permissions of the RAM user.
self.permissions = permissions # type: list[DescribeUserPermissionsResponseBodyPermissions]
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
if self.permissions:
for k in self.permissions:
if k:
k.validate()
def to_map(self):
_map = super(DescribeUserPermissionsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
result['Permissions'] = []
if self.permissions is not None:
for k in self.permissions:
result['Permissions'].append(k.to_map() if k else None)
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
self.permissions = []
if m.get('Permissions') is not None:
for k in m.get('Permissions'):
temp_model = DescribeUserPermissionsResponseBodyPermissions()
self.permissions.append(temp_model.from_map(k))
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class DescribeUserPermissionsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DescribeUserPermissionsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DescribeUserPermissionsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DescribeUserPermissionsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class DetachClusterFromHubRequest(TeaModel):
def __init__(self, cluster_id=None, cluster_ids=None, detach_from_mesh=None):
# The ID of the request.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The operation that you want to perform. Set the value to **DetachClusterFromHub**.
#
# This parameter is required.
self.cluster_ids = cluster_ids # type: str
# Example 1
self.detach_from_mesh = detach_from_mesh # type: bool
def validate(self):
pass
def to_map(self):
_map = super(DetachClusterFromHubRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.cluster_ids is not None:
result['ClusterIds'] = self.cluster_ids
if self.detach_from_mesh is not None:
result['DetachFromMesh'] = self.detach_from_mesh
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ClusterIds') is not None:
self.cluster_ids = m.get('ClusterIds')
if m.get('DetachFromMesh') is not None:
self.detach_from_mesh = m.get('DetachFromMesh')
return self
class DetachClusterFromHubResponseBody(TeaModel):
def __init__(self, cluster_id=None, managed_cluster_ids=None, request_id=None, task_id=None):
# Zhishi
self.cluster_id = cluster_id # type: str
self.managed_cluster_ids = managed_cluster_ids # type: list[str]
# You can call the DetachClusterFromHub operation to disassociate clusters from a master instance.
self.request_id = request_id # type: str
self.task_id = task_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(DetachClusterFromHubResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.managed_cluster_ids is not None:
result['ManagedClusterIds'] = self.managed_cluster_ids
if self.request_id is not None:
result['RequestId'] = self.request_id
if self.task_id is not None:
result['TaskId'] = self.task_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('ManagedClusterIds') is not None:
self.managed_cluster_ids = m.get('ManagedClusterIds')
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
if m.get('TaskId') is not None:
self.task_id = m.get('TaskId')
return self
class DetachClusterFromHubResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: DetachClusterFromHubResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(DetachClusterFromHubResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = DetachClusterFromHubResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class GrantUserPermissionRequest(TeaModel):
def __init__(self, cluster_id=None, is_ram_role=None, namespace=None, role_name=None, role_type=None,
user_id=None):
# The cluster ID.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The entity to which the permissions are granted. A value of `true` indicates that the permissions are granted to a RAM user. A value of `false` indicates that the permissions are granted to a RAM role.
self.is_ram_role = is_ram_role # type: bool
# The name of the namespace.
#
# * If **RoleType** is set to **cluster**, you do not need to specify this parameter.
# * This parameter is required if **RoleType** is set to **namespace**.
# * If **RoleType** is set to **namespace** and **RoleName** is set to **gitops-dev**, this parameter is required and must be set to **argocd**.
self.namespace = namespace # type: str
# The predefined role. Valid values:
#
# * admin: administrator
# * dev: developer
# * gitops-dev: GitOps developer. The parameter is available only for Fleet instances.
#
# The value of RoleName and that of RoleType must meet the following requirements:
#
# * If **RoleType** is set to **cluster**, this parameter must be set to **admin**.
# * If **RoleType** is set to **namespace**, this parameter must be set to **dev** or **gitops-dev**.
#
# This parameter is required.
self.role_name = role_name # type: str
# The authorization type. Valid values:
#
# * cluster: The permissions are granted to a cluster.
# * namespace: The permissions are granted to a namespace of a cluster.
#
# This parameter is required.
self.role_type = role_type # type: str
# The ID of the RAM user or RAM role.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(GrantUserPermissionRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.is_ram_role is not None:
result['IsRamRole'] = self.is_ram_role
if self.namespace is not None:
result['Namespace'] = self.namespace
if self.role_name is not None:
result['RoleName'] = self.role_name
if self.role_type is not None:
result['RoleType'] = self.role_type
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('IsRamRole') is not None:
self.is_ram_role = m.get('IsRamRole')
if m.get('Namespace') is not None:
self.namespace = m.get('Namespace')
if m.get('RoleName') is not None:
self.role_name = m.get('RoleName')
if m.get('RoleType') is not None:
self.role_type = m.get('RoleType')
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class GrantUserPermissionResponseBody(TeaModel):
def __init__(self, request_id=None):
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(GrantUserPermissionResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class GrantUserPermissionResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: GrantUserPermissionResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(GrantUserPermissionResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = GrantUserPermissionResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class GrantUserPermissionsRequestPermissions(TeaModel):
def __init__(self, cluster_id=None, is_ram_role=None, namespace=None, role_name=None, role_type=None):
# The master instance ID.
#
# * When the role_type parameter is set to all-clusters, set the parameter to an empty string.
self.cluster_id = cluster_id # type: str
# The entity to which the permissions are granted. A value of `true` indicates that the permissions are granted to a RAM user. A value of `false` indicates that the permissions are granted to a RAM role.
self.is_ram_role = is_ram_role # type: bool
# The namespace to which the permissions are scoped. By default, this parameter is empty when you set RoleType to cluster.
self.namespace = namespace # type: str
# The predefined role that you want to assign. Valid values:
#
# * admin: the administrator role.
# * dev: the developer role.
#
# This parameter is required.
self.role_name = role_name # type: str
# The authorization type. Valid values:
#
# * cluster: specifies that the permissions are scoped to a master instance.
# * namespace: specifies that the permissions are scoped to a namespace of a cluster.
# * all-clusters: specifies that the permissions are scoped to all master instances.
#
# This parameter is required.
self.role_type = role_type # type: str
def validate(self):
pass
def to_map(self):
_map = super(GrantUserPermissionsRequestPermissions, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.is_ram_role is not None:
result['IsRamRole'] = self.is_ram_role
if self.namespace is not None:
result['Namespace'] = self.namespace
if self.role_name is not None:
result['RoleName'] = self.role_name
if self.role_type is not None:
result['RoleType'] = self.role_type
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('IsRamRole') is not None:
self.is_ram_role = m.get('IsRamRole')
if m.get('Namespace') is not None:
self.namespace = m.get('Namespace')
if m.get('RoleName') is not None:
self.role_name = m.get('RoleName')
if m.get('RoleType') is not None:
self.role_type = m.get('RoleType')
return self
class GrantUserPermissionsRequest(TeaModel):
def __init__(self, permissions=None, user_id=None):
# The list of permissions that you want to grant to the RAM user.
self.permissions = permissions # type: list[GrantUserPermissionsRequestPermissions]
# The ID of the RAM user.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
if self.permissions:
for k in self.permissions:
if k:
k.validate()
def to_map(self):
_map = super(GrantUserPermissionsRequest, self).to_map()
if _map is not None:
return _map
result = dict()
result['Permissions'] = []
if self.permissions is not None:
for k in self.permissions:
result['Permissions'].append(k.to_map() if k else None)
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
self.permissions = []
if m.get('Permissions') is not None:
for k in m.get('Permissions'):
temp_model = GrantUserPermissionsRequestPermissions()
self.permissions.append(temp_model.from_map(k))
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class GrantUserPermissionsShrinkRequest(TeaModel):
def __init__(self, permissions_shrink=None, user_id=None):
# The list of permissions that you want to grant to the RAM user.
self.permissions_shrink = permissions_shrink # type: str
# The ID of the RAM user.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(GrantUserPermissionsShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.permissions_shrink is not None:
result['Permissions'] = self.permissions_shrink
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('Permissions') is not None:
self.permissions_shrink = m.get('Permissions')
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class GrantUserPermissionsResponseBody(TeaModel):
def __init__(self, request_id=None):
# The request ID.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(GrantUserPermissionsResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class GrantUserPermissionsResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: GrantUserPermissionsResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(GrantUserPermissionsResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = GrantUserPermissionsResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class UpdateHubClusterFeatureRequest(TeaModel):
def __init__(self, access_control_list=None, api_server_eip_id=None, argo_cdenabled=None,
argo_cdhaenabled=None, argo_events_enabled=None, argo_server_enabled=None, audit_log_enabled=None, cluster_id=None,
deletion_protection=None, enable_mesh=None, gateway_enabled=None, monitor_enabled=None, name=None, price_limit=None,
public_access_enabled=None, public_api_server_enabled=None, v_switches=None, workflow_schedule_mode=None):
# The Internet access control list (ACL). This parameter takes effect only if PublicAccessEnabled is set to true.
self.access_control_list = access_control_list # type: list[str]
# The ID of the EIP.
self.api_server_eip_id = api_server_eip_id # type: str
# Specifies whether to enable Argo CD. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_cdenabled = argo_cdenabled # type: bool
# Specifies whether to enable high availability for Argo CD. Valid values:
#
# * true
# * false
self.argo_cdhaenabled = argo_cdhaenabled # type: bool
# Specifies whether to enable ArgoEvents. Valid values:
#
# - true
# - false
self.argo_events_enabled = argo_events_enabled # type: bool
# Specifies whether to enable the workflow instance UI. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_server_enabled = argo_server_enabled # type: bool
# Specifies whether to enable the audit logging feature. Valid values:
#
# * true: enables the audit logging feature.
# * false: disables the audit logging feature.
self.audit_log_enabled = audit_log_enabled # type: bool
# The cluster ID.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# Specifies whether to enable the deletion protection feature for the cluster. After you enable the deletion protection feature for the cluster, you cannot delete the cluster in the console or by calling the DeleteHubCluster operation. Valid values:
#
# * true
# * false
#
# Default value: false.
self.deletion_protection = deletion_protection # type: bool
# Specifies whether to enable Service Mesh (ASM). Valid values:
#
# * true
# * false
self.enable_mesh = enable_mesh # type: bool
# Specifies whether to enable Gateway. Valid values:
# - true
# - false
self.gateway_enabled = gateway_enabled # type: bool
# Specifies whether to enable the monitoring dashboard feature for the workflow instance. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.monitor_enabled = monitor_enabled # type: bool
# The name of the master instance. The name must be 1 to 63 characters in length. It must start with a letter, and can contain letters, digits, underscores (_), and hyphens (-).
self.name = name # type: str
# The limit on the prices of containers in the workflow. This parameter takes effect only if the WorkflowScheduleMode parameter is set to cost-optimized.
self.price_limit = price_limit # type: str
# Specifies whether to enable public domain name resolution in the Argo CD or Argo Workflow console. Valid values:
#
# * true
# * false
self.public_access_enabled = public_access_enabled # type: bool
# Specifies whether to associate an elastic IP address (EIP) with the API server. Valid values:
#
# * true: associates an EIP with the API server. You can specify ApiServerEipId. If you do not specify ApiServerEipId, the system automatically creates an EIP.
# * false: disassociates an EIP from the API server.
self.public_api_server_enabled = public_api_server_enabled # type: bool
# The vSwitches.
self.v_switches = v_switches # type: list[str]
# The scheduling mode of the workflow. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * cost-optimized: cost-prioritized scheduling mode.
# * stock-optimized: inventory-prioritized scheduling mode.
self.workflow_schedule_mode = workflow_schedule_mode # type: str
def validate(self):
pass
def to_map(self):
_map = super(UpdateHubClusterFeatureRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.access_control_list is not None:
result['AccessControlList'] = self.access_control_list
if self.api_server_eip_id is not None:
result['ApiServerEipId'] = self.api_server_eip_id
if self.argo_cdenabled is not None:
result['ArgoCDEnabled'] = self.argo_cdenabled
if self.argo_cdhaenabled is not None:
result['ArgoCDHAEnabled'] = self.argo_cdhaenabled
if self.argo_events_enabled is not None:
result['ArgoEventsEnabled'] = self.argo_events_enabled
if self.argo_server_enabled is not None:
result['ArgoServerEnabled'] = self.argo_server_enabled
if self.audit_log_enabled is not None:
result['AuditLogEnabled'] = self.audit_log_enabled
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.deletion_protection is not None:
result['DeletionProtection'] = self.deletion_protection
if self.enable_mesh is not None:
result['EnableMesh'] = self.enable_mesh
if self.gateway_enabled is not None:
result['GatewayEnabled'] = self.gateway_enabled
if self.monitor_enabled is not None:
result['MonitorEnabled'] = self.monitor_enabled
if self.name is not None:
result['Name'] = self.name
if self.price_limit is not None:
result['PriceLimit'] = self.price_limit
if self.public_access_enabled is not None:
result['PublicAccessEnabled'] = self.public_access_enabled
if self.public_api_server_enabled is not None:
result['PublicApiServerEnabled'] = self.public_api_server_enabled
if self.v_switches is not None:
result['VSwitches'] = self.v_switches
if self.workflow_schedule_mode is not None:
result['WorkflowScheduleMode'] = self.workflow_schedule_mode
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AccessControlList') is not None:
self.access_control_list = m.get('AccessControlList')
if m.get('ApiServerEipId') is not None:
self.api_server_eip_id = m.get('ApiServerEipId')
if m.get('ArgoCDEnabled') is not None:
self.argo_cdenabled = m.get('ArgoCDEnabled')
if m.get('ArgoCDHAEnabled') is not None:
self.argo_cdhaenabled = m.get('ArgoCDHAEnabled')
if m.get('ArgoEventsEnabled') is not None:
self.argo_events_enabled = m.get('ArgoEventsEnabled')
if m.get('ArgoServerEnabled') is not None:
self.argo_server_enabled = m.get('ArgoServerEnabled')
if m.get('AuditLogEnabled') is not None:
self.audit_log_enabled = m.get('AuditLogEnabled')
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('DeletionProtection') is not None:
self.deletion_protection = m.get('DeletionProtection')
if m.get('EnableMesh') is not None:
self.enable_mesh = m.get('EnableMesh')
if m.get('GatewayEnabled') is not None:
self.gateway_enabled = m.get('GatewayEnabled')
if m.get('MonitorEnabled') is not None:
self.monitor_enabled = m.get('MonitorEnabled')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('PriceLimit') is not None:
self.price_limit = m.get('PriceLimit')
if m.get('PublicAccessEnabled') is not None:
self.public_access_enabled = m.get('PublicAccessEnabled')
if m.get('PublicApiServerEnabled') is not None:
self.public_api_server_enabled = m.get('PublicApiServerEnabled')
if m.get('VSwitches') is not None:
self.v_switches = m.get('VSwitches')
if m.get('WorkflowScheduleMode') is not None:
self.workflow_schedule_mode = m.get('WorkflowScheduleMode')
return self
class UpdateHubClusterFeatureShrinkRequest(TeaModel):
def __init__(self, access_control_list_shrink=None, api_server_eip_id=None, argo_cdenabled=None,
argo_cdhaenabled=None, argo_events_enabled=None, argo_server_enabled=None, audit_log_enabled=None, cluster_id=None,
deletion_protection=None, enable_mesh=None, gateway_enabled=None, monitor_enabled=None, name=None, price_limit=None,
public_access_enabled=None, public_api_server_enabled=None, v_switches_shrink=None, workflow_schedule_mode=None):
# The Internet access control list (ACL). This parameter takes effect only if PublicAccessEnabled is set to true.
self.access_control_list_shrink = access_control_list_shrink # type: str
# The ID of the EIP.
self.api_server_eip_id = api_server_eip_id # type: str
# Specifies whether to enable Argo CD. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_cdenabled = argo_cdenabled # type: bool
# Specifies whether to enable high availability for Argo CD. Valid values:
#
# * true
# * false
self.argo_cdhaenabled = argo_cdhaenabled # type: bool
# Specifies whether to enable ArgoEvents. Valid values:
#
# - true
# - false
self.argo_events_enabled = argo_events_enabled # type: bool
# Specifies whether to enable the workflow instance UI. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.argo_server_enabled = argo_server_enabled # type: bool
# Specifies whether to enable the audit logging feature. Valid values:
#
# * true: enables the audit logging feature.
# * false: disables the audit logging feature.
self.audit_log_enabled = audit_log_enabled # type: bool
# The cluster ID.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# Specifies whether to enable the deletion protection feature for the cluster. After you enable the deletion protection feature for the cluster, you cannot delete the cluster in the console or by calling the DeleteHubCluster operation. Valid values:
#
# * true
# * false
#
# Default value: false.
self.deletion_protection = deletion_protection # type: bool
# Specifies whether to enable Service Mesh (ASM). Valid values:
#
# * true
# * false
self.enable_mesh = enable_mesh # type: bool
# Specifies whether to enable Gateway. Valid values:
# - true
# - false
self.gateway_enabled = gateway_enabled # type: bool
# Specifies whether to enable the monitoring dashboard feature for the workflow instance. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * true
# * false
self.monitor_enabled = monitor_enabled # type: bool
# The name of the master instance. The name must be 1 to 63 characters in length. It must start with a letter, and can contain letters, digits, underscores (_), and hyphens (-).
self.name = name # type: str
# The limit on the prices of containers in the workflow. This parameter takes effect only if the WorkflowScheduleMode parameter is set to cost-optimized.
self.price_limit = price_limit # type: str
# Specifies whether to enable public domain name resolution in the Argo CD or Argo Workflow console. Valid values:
#
# * true
# * false
self.public_access_enabled = public_access_enabled # type: bool
# Specifies whether to associate an elastic IP address (EIP) with the API server. Valid values:
#
# * true: associates an EIP with the API server. You can specify ApiServerEipId. If you do not specify ApiServerEipId, the system automatically creates an EIP.
# * false: disassociates an EIP from the API server.
self.public_api_server_enabled = public_api_server_enabled # type: bool
# The vSwitches.
self.v_switches_shrink = v_switches_shrink # type: str
# The scheduling mode of the workflow. This parameter takes effect only if Profile is set to XFlow. Valid values:
#
# * cost-optimized: cost-prioritized scheduling mode.
# * stock-optimized: inventory-prioritized scheduling mode.
self.workflow_schedule_mode = workflow_schedule_mode # type: str
def validate(self):
pass
def to_map(self):
_map = super(UpdateHubClusterFeatureShrinkRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.access_control_list_shrink is not None:
result['AccessControlList'] = self.access_control_list_shrink
if self.api_server_eip_id is not None:
result['ApiServerEipId'] = self.api_server_eip_id
if self.argo_cdenabled is not None:
result['ArgoCDEnabled'] = self.argo_cdenabled
if self.argo_cdhaenabled is not None:
result['ArgoCDHAEnabled'] = self.argo_cdhaenabled
if self.argo_events_enabled is not None:
result['ArgoEventsEnabled'] = self.argo_events_enabled
if self.argo_server_enabled is not None:
result['ArgoServerEnabled'] = self.argo_server_enabled
if self.audit_log_enabled is not None:
result['AuditLogEnabled'] = self.audit_log_enabled
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.deletion_protection is not None:
result['DeletionProtection'] = self.deletion_protection
if self.enable_mesh is not None:
result['EnableMesh'] = self.enable_mesh
if self.gateway_enabled is not None:
result['GatewayEnabled'] = self.gateway_enabled
if self.monitor_enabled is not None:
result['MonitorEnabled'] = self.monitor_enabled
if self.name is not None:
result['Name'] = self.name
if self.price_limit is not None:
result['PriceLimit'] = self.price_limit
if self.public_access_enabled is not None:
result['PublicAccessEnabled'] = self.public_access_enabled
if self.public_api_server_enabled is not None:
result['PublicApiServerEnabled'] = self.public_api_server_enabled
if self.v_switches_shrink is not None:
result['VSwitches'] = self.v_switches_shrink
if self.workflow_schedule_mode is not None:
result['WorkflowScheduleMode'] = self.workflow_schedule_mode
return result
def from_map(self, m=None):
m = m or dict()
if m.get('AccessControlList') is not None:
self.access_control_list_shrink = m.get('AccessControlList')
if m.get('ApiServerEipId') is not None:
self.api_server_eip_id = m.get('ApiServerEipId')
if m.get('ArgoCDEnabled') is not None:
self.argo_cdenabled = m.get('ArgoCDEnabled')
if m.get('ArgoCDHAEnabled') is not None:
self.argo_cdhaenabled = m.get('ArgoCDHAEnabled')
if m.get('ArgoEventsEnabled') is not None:
self.argo_events_enabled = m.get('ArgoEventsEnabled')
if m.get('ArgoServerEnabled') is not None:
self.argo_server_enabled = m.get('ArgoServerEnabled')
if m.get('AuditLogEnabled') is not None:
self.audit_log_enabled = m.get('AuditLogEnabled')
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('DeletionProtection') is not None:
self.deletion_protection = m.get('DeletionProtection')
if m.get('EnableMesh') is not None:
self.enable_mesh = m.get('EnableMesh')
if m.get('GatewayEnabled') is not None:
self.gateway_enabled = m.get('GatewayEnabled')
if m.get('MonitorEnabled') is not None:
self.monitor_enabled = m.get('MonitorEnabled')
if m.get('Name') is not None:
self.name = m.get('Name')
if m.get('PriceLimit') is not None:
self.price_limit = m.get('PriceLimit')
if m.get('PublicAccessEnabled') is not None:
self.public_access_enabled = m.get('PublicAccessEnabled')
if m.get('PublicApiServerEnabled') is not None:
self.public_api_server_enabled = m.get('PublicApiServerEnabled')
if m.get('VSwitches') is not None:
self.v_switches_shrink = m.get('VSwitches')
if m.get('WorkflowScheduleMode') is not None:
self.workflow_schedule_mode = m.get('WorkflowScheduleMode')
return self
class UpdateHubClusterFeatureResponseBody(TeaModel):
def __init__(self, request_id=None):
# The request ID.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(UpdateHubClusterFeatureResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class UpdateHubClusterFeatureResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: UpdateHubClusterFeatureResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(UpdateHubClusterFeatureResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = UpdateHubClusterFeatureResponseBody()
self.body = temp_model.from_map(m['body'])
return self
class UpdateUserPermissionRequest(TeaModel):
def __init__(self, cluster_id=None, namespace=None, role_name=None, role_type=None, user_id=None):
# The ID of the master instance.
#
# This parameter is required.
self.cluster_id = cluster_id # type: str
# The namespace to which the permissions are scoped. By default, this parameter is empty when you set RoleType to cluster.
self.namespace = namespace # type: str
# Specifies the predefined role that you want to assign. Valid values:
#
# * admin: the administrator role.
# * dev: the developer role.
#
# This parameter is required.
self.role_name = role_name # type: str
# The authorization type. Valid values:
#
# * cluster: specifies that the permissions are scoped to a master instance.
# * namespace: specifies that the permissions are scoped to a namespace of a cluster.
#
# This parameter is required.
self.role_type = role_type # type: str
# The ID of the RAM user.
#
# This parameter is required.
self.user_id = user_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(UpdateUserPermissionRequest, self).to_map()
if _map is not None:
return _map
result = dict()
if self.cluster_id is not None:
result['ClusterId'] = self.cluster_id
if self.namespace is not None:
result['Namespace'] = self.namespace
if self.role_name is not None:
result['RoleName'] = self.role_name
if self.role_type is not None:
result['RoleType'] = self.role_type
if self.user_id is not None:
result['UserId'] = self.user_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('ClusterId') is not None:
self.cluster_id = m.get('ClusterId')
if m.get('Namespace') is not None:
self.namespace = m.get('Namespace')
if m.get('RoleName') is not None:
self.role_name = m.get('RoleName')
if m.get('RoleType') is not None:
self.role_type = m.get('RoleType')
if m.get('UserId') is not None:
self.user_id = m.get('UserId')
return self
class UpdateUserPermissionResponseBody(TeaModel):
def __init__(self, request_id=None):
# The ID of the request.
self.request_id = request_id # type: str
def validate(self):
pass
def to_map(self):
_map = super(UpdateUserPermissionResponseBody, self).to_map()
if _map is not None:
return _map
result = dict()
if self.request_id is not None:
result['RequestId'] = self.request_id
return result
def from_map(self, m=None):
m = m or dict()
if m.get('RequestId') is not None:
self.request_id = m.get('RequestId')
return self
class UpdateUserPermissionResponse(TeaModel):
def __init__(self, headers=None, status_code=None, body=None):
self.headers = headers # type: dict[str, str]
self.status_code = status_code # type: int
self.body = body # type: UpdateUserPermissionResponseBody
def validate(self):
if self.body:
self.body.validate()
def to_map(self):
_map = super(UpdateUserPermissionResponse, self).to_map()
if _map is not None:
return _map
result = dict()
if self.headers is not None:
result['headers'] = self.headers
if self.status_code is not None:
result['statusCode'] = self.status_code
if self.body is not None:
result['body'] = self.body.to_map()
return result
def from_map(self, m=None):
m = m or dict()
if m.get('headers') is not None:
self.headers = m.get('headers')
if m.get('statusCode') is not None:
self.status_code = m.get('statusCode')
if m.get('body') is not None:
temp_model = UpdateUserPermissionResponseBody()
self.body = temp_model.from_map(m['body'])
return self