diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/cs/2015-12-15/api-docs.php | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/cs/2015-12-15/api-docs.php')
| -rw-r--r-- | data/en_us/cs/2015-12-15/api-docs.php | 28900 |
1 files changed, 28900 insertions, 0 deletions
diff --git a/data/en_us/cs/2015-12-15/api-docs.php b/data/en_us/cs/2015-12-15/api-docs.php new file mode 100644 index 0000000..061feee --- /dev/null +++ b/data/en_us/cs/2015-12-15/api-docs.php @@ -0,0 +1,28900 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'ROA', + 'product' => 'CS', + 'version' => '2015-12-15', + ], + 'directories' => [ + 'OpenAckService', + 'DescribeRegions', + [ + 'id' => 159670, + 'title' => 'Cluster', + 'type' => 'directory', + 'children' => [ + 'CreateCluster', + 'DeleteCluster', + 'ModifyCluster', + 'UpgradeCluster', + 'DescribeClustersV1', + 'DescribeClustersForRegion', + 'DescribeClusterDetail', + 'DescribeClusterResources', + 'DescribeKubernetesVersionMetadata', + 'DescribeUserClusterNamespaces', + 'DescribeClusterLogs', + 'DescribeUserQuota', + 'MigrateCluster', + 'DescribeClusterUserKubeconfig', + 'DescribeSubaccountK8sClusterUserConfig', + 'ListUserKubeConfigStates', + 'ListClusterKubeconfigStates', + 'UpdateK8sClusterUserConfigExpire', + 'RevokeK8sClusterKubeConfig', + 'CleanClusterUserPermissions', + 'CleanUserPermissions', + ], + ], + [ + 'id' => 159698, + 'title' => 'Node Pool', + 'type' => 'directory', + 'children' => [ + 'CreateClusterNodePool', + 'DeleteClusterNodepool', + 'DescribeClusterNodePoolDetail', + 'DescribeClusterNodePools', + 'DescribeNodePoolVuls', + 'ModifyClusterNodePool', + 'ScaleClusterNodePool', + 'AttachInstancesToNodePool', + 'RemoveNodePoolNodes', + 'UpgradeClusterNodepool', + 'RepairClusterNodePool', + 'FixNodePoolVuls', + 'ModifyNodePoolNodeConfig', + 'SyncClusterNodePool', + 'DescribeClusterAttachScripts', + 'CreateAutoscalingConfig', + ], + ], + [ + 'id' => 159692, + 'title' => 'Node', + 'type' => 'directory', + 'children' => [ + 'DescribeClusterNodes', + 'DeleteClusterNodes', + 'AttachInstances', + ], + ], + [ + 'id' => 159734, + 'title' => 'Add-ons', + 'type' => 'directory', + 'children' => [ + 'InstallClusterAddons', + 'UnInstallClusterAddons', + 'ListAddons', + 'ListClusterAddonInstances', + 'GetClusterAddonInstance', + 'DescribeAddon', + 'ModifyClusterAddon', + 'UpgradeClusterAddons', + 'ListClusterAddonInstanceResources', + ], + ], + [ + 'id' => 159660, + 'title' => 'Permissions', + 'type' => 'directory', + 'children' => [ + 'DescribeUserPermission', + 'GrantPermissions', + 'UpdateUserPermissions', + 'CheckServiceRole', + ], + ], + [ + 'id' => 159706, + 'title' => 'Security', + 'type' => 'directory', + 'children' => [ + 'ScanClusterVuls', + 'DescribeClusterVuls', + 'UpdateResourcesDeleteProtection', + 'DescribeResourcesDeleteProtection', + 'DeployPolicyInstance', + 'ModifyPolicyInstance', + 'DeletePolicyInstance', + 'DescribePolicies', + 'DescribePolicyDetails', + 'DescribePolicyGovernanceInCluster', + 'DescribePolicyInstances', + 'DescribePolicyInstancesStatus', + ], + ], + [ + 'id' => 204201, + 'title' => 'Cluster inspection and diagnostics', + 'type' => 'directory', + 'children' => [ + 'RunClusterCheck', + 'ListClusterChecks', + 'GetClusterCheck', + 'CreateClusterInspectConfig', + 'UpdateClusterInspectConfig', + 'GetClusterInspectConfig', + 'RunClusterInspect', + 'ListClusterInspectReports', + 'GetClusterInspectReportDetail', + 'DeleteClusterInspectConfig', + 'CreateClusterDiagnosis', + 'GetClusterDiagnosisResult', + 'GetClusterDiagnosisCheckItems', + ], + ], + [ + 'id' => 159720, + 'title' => 'Template', + 'type' => 'directory', + 'children' => [ + 'CreateTemplate', + 'DescribeTemplateAttribute', + 'DescribeTemplates', + 'UpdateTemplate', + 'DeleteTemplate', + ], + ], + [ + 'id' => 159726, + 'title' => 'Trigger', + 'type' => 'directory', + 'children' => [ + 'CreateTrigger', + 'DeleteTrigger', + 'DescribeTrigger', + ], + ], + [ + 'id' => 159745, + 'title' => 'Labels', + 'type' => 'directory', + 'children' => [ + 'ListTagResources', + 'TagResources', + 'UntagResources', + 'ModifyClusterTags', + ], + ], + [ + 'id' => 159654, + 'title' => 'Alarm', + 'type' => 'directory', + 'children' => [ + 'StartAlert', + 'UpdateContactGroupForAlert', + 'StopAlert', + 'DeleteAlertContact', + 'DeleteAlertContactGroup', + ], + ], + [ + 'id' => 188651, + 'title' => 'Logs', + 'type' => 'directory', + 'children' => [ + 'UpdateControlPlaneLog', + 'CheckControlPlaneLogEnable', + 'GetClusterAuditProject', + 'UpdateClusterAuditLogConfig', + ], + ], + [ + 'id' => 159652, + 'title' => 'Event', + 'type' => 'directory', + 'children' => [ + 'DescribeEventsForRegion', + 'DescribeEvents', + 'DescribeClusterEvents', + ], + ], + [ + 'id' => 187251, + 'title' => 'Task', + 'type' => 'directory', + 'children' => [ + 'DescribeTaskInfo', + 'PauseTask', + 'ResumeTask', + 'CancelTask', + 'DescribeClusterTasks', + ], + ], + [ + 'id' => 208849, + 'title' => 'Maintenance schedule', + 'type' => 'directory', + 'children' => [ + 'ListOperationPlansForRegion', + 'ListOperationPlans', + 'CancelOperationPlan', + ], + ], + [ + 'id' => 187255, + 'title' => 'Others', + 'type' => 'directory', + 'children' => [ + 'GetUpgradeStatus', + 'PauseClusterUpgrade', + 'CancelClusterUpgrade', + 'ResumeUpgradeCluster', + 'DescribeAddons', + 'DescribeClusterAddonsVersion', + 'DescribeClusterAddonInstance', + 'DescribeClusterAddonMetadata', + 'DescribeClusterAddonsUpgradeStatus', + 'UpdateNodePoolComponent', + 'InstallNodePoolComponents', + ], + ], + [ + 'id' => 188712, + 'title' => 'Deprecated', + 'type' => 'directory', + 'children' => [ + 'DescribeExternalAgent', + 'CreateKubernetesTrigger', + 'ResumeComponentUpgrade', + 'PauseComponentUpgrade', + 'GetKubernetesTrigger', + 'DescribeClusters', + 'DescribeClusterV2UserKubeconfig', + 'DescribeClusterAddonUpgradeStatus', + 'CancelComponentUpgrade', + 'DeleteKubernetesTrigger', + ], + ], + [ + 'id' => 0, + 'title' => '其它', + 'type' => 'directory', + 'children' => [ + 'CreateAutoRepairPolicy', + 'DeleteAutoRepairPolicy', + 'ModifyAutoRepairPolicy', + 'DescribeAutoRepairPolicy', + 'ListAutoRepairPolicies', + ], + ], + ], + 'components' => [ + 'schemas' => [ + 'addon' => [ + 'title' => '', + 'description' => 'The configurations of cluster components.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '', + 'description' => 'The component name.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'nginx-ingress-controller', + 'backendName' => 'name', + ], + 'config' => [ + 'title' => '', + 'description' => 'The configuration of the component.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => '{\\"IngressSlbNetworkType\\":\\"internet\\"}', + 'backendName' => 'config', + ], + 'disabled' => [ + 'title' => '', + 'description' => 'Specifies whether to disable automatic installation. When you create a cluster, some additional log components are automatically installed in addition to the required components. You can disable the automatic installations of a component and install the component later by calling the component API or in the corresponding console. Valid values:'."\n" + ."\n" + .'* `true`: disables the automatic installation of a component.'."\n" + .'* `false`: allows the automatic installation of a component.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'disabled', + ], + 'version' => [ + 'title' => '', + 'description' => 'The version of the component.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'v1.9.3-aliyun.1', + 'backendName' => 'version', + ], + ], + ], + 'containerd_config' => [ + 'title' => 'Insecure image repositories that skipped the TLS certificate verification.'."\n", + 'description' => 'The containerd runtime configuration.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'registryMirrors' => [ + 'title' => '', + 'description' => 'The image accelerator configuration.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The URL of the image accelerator.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'https://example.com', + 'extendType' => 'true', + ], + 'backendName' => 'registryMirrors', + ], + 'insecureRegistries' => [ + 'title' => '', + 'description' => 'Insecure image repositories that skipped the TLS certificate verification.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The URLs of image repositories that skipped the TLS certificate verification.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'example.com', + 'extendType' => 'true', + ], + 'backendName' => 'insecureRegistries', + ], + ], + ], + 'data_disk' => [ + 'title' => '', + 'description' => 'The configurations of the node data disk.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'category' => [ + 'title' => '', + 'description' => 'The category of data disk. Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk.'."\n" + .'* `cloud_efficiency`: ultra disk'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise ESSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n" + .'* `elastic_ephemeral_disk_premium`: premium elastic ephemeral disk.'."\n" + .'* `elastic_ephemeral_disk_standard`: standard elastic ephemeral disk.'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'cloud_ssd', + 'backendName' => 'category', + ], + 'size' => [ + 'title' => '', + 'description' => 'The size of the data disk. Unit: GiB.'."\n" + ."\n" + .'Valid values: 40 to 32768.'."\n" + ."\n" + .'Default value: `120`.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '40', + 'backendName' => 'size', + ], + 'encrypted' => [ + 'title' => '', + 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'* `true`: encrypts the data disk.'."\n" + .'* `false`: does not encrypt the data disk.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'true', + 'backendName' => 'encrypted', + ], + 'kms_key_id' => [ + 'title' => '', + 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the data disk.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + 'backendName' => 'kms_key_id', + ], + 'auto_snapshot_policy_id' => [ + 'title' => '', + 'description' => 'The ID of the automatic snapshot policy. The system performs automatic backup for a cloud disk based on the specified automatic snapshot policy.'."\n" + ."\n" + .'By default, this parameter is empty, which indicates that automatic backup is disabled.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'sp-2zej1nogjvovnz4z****', + 'backendName' => 'auto_snapshot_policy_id', + ], + 'performance_level' => [ + 'title' => '', + 'description' => 'The performance level (PL) of the data disk. This parameter takes effect only for an ESSD. This parameter is related to the disk size. For more information, see [ESSDs](~~122389~~).'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'PL1', + 'backendName' => 'performance_level', + ], + 'provisioned_iops' => [ + 'title' => '', + 'description' => 'The preset IOPS of the data disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.'."\n" + ."\n" + .'This parameter is available only if `DiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + 'backendName' => 'provisioned_iops', + ], + 'bursting_enabled' => [ + 'title' => '', + 'description' => 'Specifies whether to enable the burst feature for the data disk. Valid values:'."\n" + ."\n" + .'* `true`: enables the burst feature.'."\n" + .'* `false`: disables the burst feature for the data disk.'."\n" + ."\n" + .'This parameter is available only if `DiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'bursting_enabled', + ], + 'auto_format' => [ + 'title' => '', + 'description' => 'Specifies whether to automatically mount the data disk.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'auto_format', + ], + 'file_system' => [ + 'title' => '', + 'description' => 'The file system that is mounted. This parameter takes effect only if auto_format is set to true. Valid values: ext4 and xfs.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'ext4', + 'backendName' => 'file_system', + ], + 'mount_target' => [ + 'title' => '', + 'description' => 'The path to which the data disk is mounted. You must specify a valid path.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => '/mnt/path1', + 'backendName' => 'mount_target', + ], + 'disk_name' => [ + 'title' => '', + 'description' => 'The data disk name. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'DataDiskName', + 'backendName' => 'disk_name', + ], + 'device' => [ + 'title' => '', + 'description' => 'The mount target of the data disk. If you do not specify this parameter, the system automatically assigns a mount target when you create an Elastic Compute Service (ECS) instance. Valid values: /dev/xvdb to /dev/xvdz.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '/dev/xvdb', + 'backendName' => 'device', + ], + 'snapshot_id' => [ + 'title' => '', + 'description' => 'The ID of the snapshot that you want to use to create the data disk. If this parameter is specified, the specified size of the data disk is ignored. The size of the disk equals the size of the specified snapshot. If the snapshot was created on or before July 15, 2013, the API request is rejected and the InvalidSnapshot.TooOld message is returned.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 's-280s7****', + 'backendName' => 'snapshot_id', + ], + ], + ], + 'InstanceMetadataOptions' => [ + 'description' => '', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'http_tokens' => [ + 'title' => '', + 'description' => '', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'optional', + 'backendName' => 'httpTokens', + 'default' => 'optional', + 'enum' => [ + 'optional', + 'required', + ], + ], + ], + ], + 'instance_patterns' => [ + 'title' => 'The minimum required number of IPv4 addresses per ENI.'."\n", + 'description' => 'The instance attribute configuration object.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'cores' => [ + 'title' => 'The maximum allowed number of GPUs per instance.'."\n", + 'description' => 'The number of vCPU cores for the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + 'backendName' => 'cores', + ], + 'memory' => [ + 'title' => '', + 'description' => 'The memory size of the instance type. Unit: GiB.'."\n", + 'visibility' => 'Public', + 'type' => 'number', + 'format' => 'float', + 'example' => '8', + 'backendName' => 'memory', + ], + 'instance_family_level' => [ + 'title' => '', + 'description' => 'The instance family level.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'EnterpriseLevel', + 'backendName' => 'instance_family_level', + ], + 'excluded_instance_types' => [ + 'title' => '', + 'description' => 'The instance type that you want to exclude.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type that you want to exclude.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ecs.c6.large', + 'extendType' => 'true', + ], + 'backendName' => 'excluded_instance_types', + ], + 'min_cpu_cores' => [ + 'title' => '', + 'description' => 'The minimum vCPU cores required for the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + 'backendName' => 'min_cpu_cores', + ], + 'max_cpu_cores' => [ + 'title' => '', + 'description' => 'The maximum vCPU cores allowed for the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '8', + 'backendName' => 'max_cpu_cores', + ], + 'min_memory_size' => [ + 'title' => '', + 'description' => 'The minimum required memory size. Unit: GiB.'."\n", + 'visibility' => 'Public', + 'type' => 'number', + 'format' => 'float', + 'example' => '8', + 'backendName' => 'min_memory_size', + ], + 'max_memory_size' => [ + 'title' => '', + 'description' => 'The maximum allowed memory size. Unit: GiB.'."\n", + 'visibility' => 'Public', + 'type' => 'number', + 'format' => 'float', + 'example' => '16', + 'backendName' => 'max_memory_size', + ], + 'instance_categories' => [ + 'title' => '', + 'description' => 'The type of the instance.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the instance.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'General-purpose', + 'extendType' => 'true', + ], + 'backendName' => 'instance_categories', + ], + 'cpu_architectures' => [ + 'title' => '', + 'description' => 'The CPU architecture of the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The CPU architecture of the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'X86', + 'extendType' => 'true', + ], + 'backendName' => 'cpu_architectures', + ], + 'core' => [ + 'title' => '', + 'description' => '\\[This parameter is deprecated and replaced by cores] The number of vCores provided by the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '4', + 'backendName' => 'core', + ], + 'max_price' => [ + 'title' => '', + 'description' => '\\[This parameter is deprecated] The maximum hourly price of the instance.'."\n", + 'visibility' => 'Public', + 'type' => 'number', + 'format' => 'float', + 'deprecated' => true, + 'example' => '2', + 'backendName' => 'max_price', + ], + 'architectures' => [ + 'title' => '', + 'description' => '\\[This parameter is deprecated and replaced by cpu_architectures] The architectures of instance types.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => '\\[This parameter is deprecated and replaced by cpu_architectures] The architecture of the instance type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'X86', + 'extendType' => 'true', + ], + 'deprecated' => true, + 'backendName' => 'architectures', + ], + 'burst_performance_option' => [ + 'title' => '', + 'description' => '\\[This parameter is deprecated] Specifies whether to include burstable instance types.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'Exclude', + 'backendName' => 'burst_performance_option', + ], + 'instance_type_families' => [ + 'title' => '', + 'description' => 'The specified instance family.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The specified instance family.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ecs.c6', + 'extendType' => 'true', + ], + 'backendName' => 'instance_type_families', + ], + 'minimum_eni_quantity' => [ + 'title' => '', + 'description' => 'The minimum required number of elastic network interfaces (ENIs) per instance.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + 'backendName' => 'minimum_eni_quantity', + ], + 'minimum_eni_private_ip_address_quantity' => [ + 'title' => '', + 'description' => 'The minimum required number of IPv4 addresses per ENI.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'minimum_eni_private_ip_address_quantity', + ], + 'minimum_eni_ipv6_address_quantity' => [ + 'title' => '', + 'description' => 'The minimum required number of IPv6 addresses per ENI.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'backendName' => 'minimum_eni_ipv6_address_quantity', + ], + 'maximum_gpu_amount' => [ + 'title' => '', + 'description' => 'The maximum allowed number of GPUs per instance.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '8', + 'backendName' => 'maximum_gpu_amount', + ], + ], + ], + 'kubelet_config' => [ + 'title' => 'Feature gates for enabling experimental features.'."\n", + 'description' => 'The supported kubelet configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'registryPullQPS' => [ + 'title' => 'The whitelisted unsafe sysctl parameters.'."\n", + 'description' => 'The maximum queries per second (QPS) of the image repository.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'backendName' => 'registryPullQPS', + ], + 'registryBurst' => [ + 'title' => 'A whitelisted unsafe sysctl parameter.'."\n", + 'description' => 'The maximum number of images that can be pulled from bursty image pulls.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'registryBurst', + ], + 'eventRecordQPS' => [ + 'title' => 'A list of memory reservations for non-uniform memory access (NUMA) nodes.'."\n", + 'description' => 'Specifies the maximum number of events that can be generated per second.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'backendName' => 'eventRecordQPS', + ], + 'eventBurst' => [ + 'title' => 'The NUMA node identifier.'."\n", + 'description' => 'The maximum number of burst peaks for the event records.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'eventBurst', + ], + 'kubeAPIQPS' => [ + 'title' => 'The name of the policy to be used by the memory manager.'."\n", + 'description' => 'The QPS when kubelet communicates with the Kubernetes API server.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'backendName' => 'kubeAPIQPS', + ], + 'kubeAPIBurst' => [ + 'title' => 'The duration for the CPU CFS quota.'."\n", + 'description' => 'The maximum number of burst requests sent to the API server per second.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'kubeAPIBurst', + ], + 'serializeImagePulls' => [ + 'title' => 'The percentage of disk usage below which image garbage collection never runs.'."\n", + 'description' => 'Specifies whether to pull one image at a time.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'serializeImagePulls', + ], + 'cpuManagerPolicy' => [ + 'title' => 'The name of the Topology Manager policy used.'."\n", + 'description' => 'The CPU management policy used by kubelet.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'none', + 'backendName' => 'cpuManagerPolicy', + ], + 'evictionHard' => [ + 'title' => 'A DNS server IP address.'."\n", + 'description' => 'A set of eviction thresholds that will trigger a pod eviction if met.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'evictionHard', + ], + 'evictionSoft' => [ + 'title' => 'The collector endpoint for tracing data.'."\n", + 'description' => 'A set of eviction thresholds that will trigger a pod eviction if met over a corresponding grace period.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'evictionSoft', + ], + 'evictionSoftGracePeriod' => [ + 'title' => 'The maximum number of concurrent programs for log rotation.'."\n", + 'description' => 'A set of grace periods for eviction thresholds.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'evictionSoftGracePeriod', + ], + 'systemReserved' => [ + 'title' => '', + 'description' => 'A set of configurations that specify reserved resources for the system.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'systemReserved', + ], + 'kubeReserved' => [ + 'title' => '', + 'description' => 'A set of configurations that specify resources reserved for the Kubernetes system.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'kubeReserved', + ], + 'readOnlyPort' => [ + 'title' => '', + 'description' => 'The read-only port.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'readOnlyPort', + ], + 'maxPods' => [ + 'title' => '', + 'description' => 'The maximum number of running pods.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '110', + 'backendName' => 'maxPods', + ], + 'containerLogMaxSize' => [ + 'title' => '', + 'description' => 'The maximum size that a log file can reach before it is rotated.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '10Mi', + 'backendName' => 'containerLogMaxSize', + ], + 'containerLogMaxFiles' => [ + 'title' => '', + 'description' => 'The maximum number of log files that can be stored in each container.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'backendName' => 'containerLogMaxFiles', + ], + 'featureGates' => [ + 'title' => '', + 'description' => 'A feature gate that is used to enable an experimental feature.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'backendName' => 'featureGates', + ], + 'allowedUnsafeSysctls' => [ + 'title' => '', + 'description' => 'The whitelisted unsafe sysctls.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The whitelisted unsafe sysctls.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'net.core.somaxconn', + 'extendType' => 'true', + ], + 'backendName' => 'allowedUnsafeSysctls', + ], + 'reservedMemory' => [ + 'title' => '', + 'description' => 'A list of configurations that specify memory reservations for non-uniform memory access (NUMA) nodes.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The memory limit.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'numaNode' => [ + 'title' => '', + 'description' => 'The NUMA node identifier.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'backendName' => 'numaNode', + ], + 'limits' => [ + 'title' => '', + 'description' => 'The memory limit.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'example' => '{"memory": "1Gi"}', + 'backendName' => 'limits', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'reservedMemory', + ], + 'memoryManagerPolicy' => [ + 'title' => '', + 'description' => 'The name of the policy to be used by the memory manager.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'none', + 'backendName' => 'memoryManagerPolicy', + ], + 'cpuCFSQuota' => [ + 'title' => '', + 'description' => 'Specifies whether to use Completely Fair Scheduler (CFS) quota to enforce pod CPU limits.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'cpuCFSQuota', + ], + 'cpuCFSQuotaPeriod' => [ + 'title' => '', + 'description' => 'The duration for the CPU CFS quota.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '100ms', + 'backendName' => 'cpuCFSQuotaPeriod', + ], + 'imageGCHighThresholdPercent' => [ + 'title' => '', + 'description' => 'The percentage of disk usage after which image garbage collection always runs.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '85', + 'backendName' => 'imageGCHighThresholdPercent', + ], + 'imageGCLowThresholdPercent' => [ + 'title' => '', + 'description' => 'The percentage of disk usage before which image garbage collection never runs.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'backendName' => 'imageGCLowThresholdPercent', + ], + 'podPidsLimit' => [ + 'title' => '', + 'description' => 'The maximum number of processes per pod.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '-1', + 'backendName' => 'podPidsLimit', + ], + 'topologyManagerPolicy' => [ + 'title' => '', + 'description' => 'The name of the Topology Manager policy that you want to use.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'restricted', + 'backendName' => 'topologyManagerPolicy', + ], + 'clusterDNS' => [ + 'title' => '', + 'description' => 'The list of IP addresses of the DNS servers.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'A DNS server IP address.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '127.0.xx.xx', + 'extendType' => 'true', + ], + 'backendName' => 'clusterDNS', + ], + 'tracing' => [ + 'title' => '', + 'description' => 'The versioned configuration information for the Managed Service for OpenTelemetry client.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'endpoint' => [ + 'title' => '', + 'description' => 'The endpoint of the collector.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'localhost:4317', + 'backendName' => 'endpoint', + ], + 'samplingRatePerMillion' => [ + 'title' => '', + 'description' => 'The number of samples to be collected per million spans.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200000', + 'backendName' => 'samplingRatePerMillion', + ], + ], + 'backendName' => 'tracing', + ], + 'containerLogMaxWorkers' => [ + 'title' => '', + 'description' => 'The maximum number of concurrent programs that rotate logs'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'backendName' => 'containerLogMaxWorkers', + ], + 'containerLogMonitorInterval' => [ + 'title' => '', + 'description' => 'The duration at which the container logs are monitored for rotating logs.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '10s', + 'backendName' => 'containerLogMonitorInterval', + ], + ], + ], + 'maintenance_window' => [ + 'title' => '', + 'description' => 'The configurations of the cluster maintenance window.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '', + 'description' => 'Specifies whether to enable the cluster maintenance window. Valid values:'."\n" + ."\n" + .'* `true`: enables the cluster maintenance window.'."\n" + .'* `false`: disables the cluster maintenance window.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'enable', + ], + 'maintenance_time' => [ + 'title' => '', + 'description' => 'The start time of the cluster maintenance window. The value follows a standard time format in Golang. Example: 15:04:05Z.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => '03:00:00Z', + 'backendName' => 'maintenance_time', + ], + 'duration' => [ + 'title' => '', + 'description' => 'The duration of the cluster maintenance window. '."\n" + ."\n" + .'Valid values: 1 to 24. '."\n" + ."\n" + .'Unit: hours.'."\n" + ."\n" + .'Default value: 3.', + 'visibility' => 'public', + 'type' => 'string', + 'example' => '3h', + 'backendName' => 'duration', + ], + 'weekly_period' => [ + 'title' => '', + 'description' => 'The day of the week when maintenance is performed. Separate multiple days with commas (,). '."\n" + ."\n" + .'Valid values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday.'."\n" + ."\n" + .'Default value: `Thursday`.', + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'Monday,Thursday', + 'backendName' => 'weekly_period', + ], + 'recurrence' => [ + 'title' => '', + 'description' => 'Defines a maintenance window recurrence rule by using the RFC5545 recurrence rule. Currently, only FREQ=WEEKLY is supported, and you cannot specify COUNT or UNTIL.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'FREQ=WEEKLY;INTERVAL=4;BYDAY=MO,TU', + 'backendName' => 'recurrence', + ], + ], + ], + 'nodepool' => [ + 'title' => '', + 'description' => 'The node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'auto_scaling' => [ + 'title' => '', + 'description' => 'The auto scaling configurations of the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '', + 'description' => 'Specifies whether to enable auto scaling for the node pool. Valid values:'."\n" + ."\n" + .'* `true`: enables auto scaling for the node pool.'."\n" + .'* `false`: disables auto scaling for the node pool. If you set this parameter to false, other parameters in the `auto_scaling` section do not take effect.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + 'backendName' => 'enable', + ], + 'max_instances' => [ + 'title' => '', + 'description' => 'The maximum number of instances that can be created in a scaling group.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10', + 'backendName' => 'max_instances', + ], + 'min_instances' => [ + 'title' => '', + 'description' => 'The minimum number of instances that must be kept in a scaling group.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '0', + 'backendName' => 'min_instances', + ], + 'type' => [ + 'title' => '', + 'description' => 'The instance types that can be used for the auto scaling of the node pool. Valid values:'."\n" + ."\n" + .'* `cpu`: regular instance.'."\n" + .'* `gpu`: GPU-accelerated instance.'."\n" + .'* `gpushare`: shared GPU-accelerated instance.'."\n" + .'* `spot`: preemptible instance.'."\n" + ."\n" + .'Default value: `cpu`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'cpu', + 'backendName' => 'type', + ], + 'is_bond_eip' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'Specifies whether to associate an elastic IP Address (EIP) with the node pool. Valid values:'."\n" + ."\n" + .'* `true`: associates an EIP with the node pool.'."\n" + .'* `false`: does not associate an EIP with the node pool.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'deprecated' => true, + 'example' => 'true', + 'backendName' => 'is_bond_eip', + ], + 'eip_internet_charge_type' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n" + ."\n" + .'Default value: PayByBandwidth.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'PayByBandwidth', + 'backendName' => 'eip_internet_charge_type', + ], + 'eip_bandwidth' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '5', + 'backendName' => 'eip_bandwidth', + ], + ], + 'backendName' => 'auto_scaling', + ], + 'kubernetes_config' => [ + 'title' => '', + 'description' => 'The configurations of the cluster.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'cms_enabled' => [ + 'title' => '', + 'description' => 'Specifies whether to install the CloudMonitor agent on Elastic Compute Service (ECS) nodes. After the CloudMonitor agent is installed on ECS nodes, you can view the monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`: installs the CloudMonitor agent on ECS nodes.'."\n" + .'* `false`: does not install the CloudMonitor agent on ECS nodes.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'cms_enabled', + ], + 'cpu_policy' => [ + 'title' => '', + 'description' => 'The CPU management policy of nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n" + ."\n" + .'Default value: `none`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'none', + 'backendName' => 'cpu_policy', + ], + 'labels' => [ + 'title' => '', + 'description' => 'The labels of the nodes in the node pool. You can add labels to the nodes in a Kubernetes cluster.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The node label.'."\n", + 'visibility' => 'public', + 'extendType' => 'true', + '$ref' => '#/components/schemas/tag', + ], + 'backendName' => 'labels', + ], + 'runtime' => [ + 'title' => '', + 'description' => 'The container runtime. Valid values:'."\n" + ."\n" + .'* `containerd`: supports all Kubernetes versions. We recommend that you set the parameter to this value.'."\n" + .'* `Sandboxed-Container.runv`: Sandboxed container provides higher isolation and supports Kubernetes 1.24 and earlier.'."\n" + .'* `docker`: supports Kubernetes 1.22 and earlier.'."\n" + ."\n" + .'Default value: `containerd`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => true, + 'example' => 'containerd', + 'backendName' => 'runtime', + ], + 'runtime_version' => [ + 'title' => '', + 'description' => 'The version of the container runtime.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => true, + 'example' => '1.6.20', + 'backendName' => 'runtime_version', + ], + 'taints' => [ + 'title' => '', + 'description' => 'The configurations of the taints.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the taints.'."\n", + 'visibility' => 'public', + 'extendType' => 'true', + '$ref' => '#/components/schemas/taint', + ], + 'backendName' => 'taints', + ], + 'user_data' => [ + 'title' => '', + 'description' => 'The user data on the node.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'MXM=', + 'backendName' => 'user_data', + ], + 'node_name_mode' => [ + 'title' => '', + 'description' => 'The custom node name. A custom node name consists of a prefix, a node IP address, and a suffix.'."\n" + ."\n" + .'* The prefix and the suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.'."\n" + .'* The node IP address is the complete private IP address of the node.'."\n" + ."\n" + .'Set the parameter to a value that is in the customized,aliyun,ip,com format. The value consists of four parts that are separated by commas (,). customized and ip are fixed content. aliyun is the prefix and com is the suffix. Example: aliyun.192.168.xxx.xxx.com.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'customized,aliyun,ip,com', + 'backendName' => 'node_name_mode', + ], + ], + 'backendName' => 'kubernetes_config', + ], + 'nodepool_info' => [ + 'title' => '', + 'description' => 'The configuration of a node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '', + 'description' => 'The name of the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => true, + 'example' => 'np-test', + 'backendName' => 'name', + ], + 'resource_group_id' => [ + 'title' => '', + 'description' => 'The ID of the resource group to which the node pool belongs.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmyvw3wjm****', + 'backendName' => 'resource_group_id', + ], + 'type' => [ + 'title' => '', + 'description' => 'The type of node pool. Valid values:'."\n" + ."\n" + .'* `ess`: node pool.'."\n" + .'* `edge`: edge node pool.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'ess', + 'backendName' => 'type', + ], + ], + 'backendName' => 'nodepool_info', + ], + 'scaling_group' => [ + 'title' => '', + 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'auto_renew' => [ + 'title' => '', + 'description' => 'Specifies whether to enable auto-renewal for the node pool. This parameter takes effect only if you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `true`'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'auto_renew', + ], + 'auto_renew_period' => [ + 'title' => '', + 'description' => 'The auto-renewal duration of the nodes in the node pool. This parameter is available and required only if you set `instance_charge_type` to `PrePaid`.'."\n" + ."\n" + .'If you set `period_unit` to Month, the valid values of auto_renew_period are 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'auto_renew_period', + ], + 'data_disks' => [ + 'title' => '', + 'description' => 'The configurations of the data disks that you want to attach to the nodes in the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the data disks that you want to attach to the nodes in the node pool.'."\n", + 'visibility' => 'public', + 'extendType' => 'true', + '$ref' => '#/components/schemas/data_disk', + ], + 'backendName' => 'data_disks', + ], + 'image_id' => [ + 'title' => '', + 'description' => 'The custom image ID. By default, the image provided by ACK is used.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200904.vhd', + 'backendName' => 'image_id', + ], + 'instance_charge_type' => [ + 'title' => '', + 'description' => 'The billing method of the nodes in the node pool. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: `PostPaid`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => true, + 'example' => 'PostPaid', + 'backendName' => 'instance_charge_type', + ], + 'instance_types' => [ + 'title' => '', + 'description' => 'The instance type.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'ecs.n1.medium', + 'extendType' => 'true', + ], + 'required' => true, + 'backendName' => 'instance_types', + ], + 'key_pair' => [ + 'title' => '', + 'description' => 'The name of the key pair. You must specify this parameter or the `login_password` parameter.'."\n" + ."\n" + .'> If you want to create a managed node pool, you must specify `key_pair`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => false, + 'example' => 'np-key', + 'backendName' => 'key_pair', + ], + 'login_password' => [ + 'title' => '', + 'description' => 'The password for SSH logon. You must specify this parameter or the `key_pair` parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => false, + 'example' => 'Hello1234', + 'backendName' => 'login_password', + ], + 'login_as_non_root' => [ + 'title' => '', + 'description' => 'Specifies whether to allow a non-root user to log on to an ECS instance that is added to the node pool.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'login_as_non_root', + ], + 'period' => [ + 'title' => '', + 'description' => 'The subscription duration of the nodes in the node pool. This parameter takes effect and is required only if you set `instance_charge_type` to `PrePaid`. If you set `period_unit` to Month, the valid values of `period` are 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'period', + ], + 'period_unit' => [ + 'title' => '', + 'description' => 'The billing cycle of the nodes in the node pool. This parameter is required if you set `instance_charge_type` to `PrePaid`.'."\n" + ."\n" + .'Valid value: `Month`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'Month', + 'backendName' => 'period_unit', + ], + 'platform' => [ + 'title' => '', + 'description' => 'The distribution of the operating system. Valid values:'."\n" + ."\n" + .'* `CentOS`'."\n" + .'* `AliyunLinux`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n" + ."\n" + .'Default value: `AliyunLinux`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'AliyunLinux', + 'backendName' => 'platform', + ], + 'rds_instances' => [ + 'title' => '', + 'description' => 'A list of ApsaraDB RDS instances.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ApsaraDB RDS instance.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'rm-2zey3t89t6280****', + 'extendType' => 'true', + ], + 'backendName' => 'rds_instances', + ], + 'spot_strategy' => [ + 'title' => '', + 'description' => 'The type of preemptible instance. Valid values:'."\n" + ."\n" + .'* NoSpot: non-preemptible.'."\n" + .'* SpotWithPriceLimit: a preemptible instance that is configured with the highest bid price.'."\n" + .'* SpotAsPriceGo: bids based on the up-to-date market price are submitted.'."\n" + ."\n" + .'For more information, see [Preemptible Instance](~~157759~~).'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'NoSpot', + 'backendName' => 'spot_strategy', + ], + 'spot_price_limit' => [ + 'title' => '', + 'description' => 'The instance type of preemptible instances and the price cap for the instance type.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'instance_type' => [ + 'title' => '', + 'description' => 'The instance type of preemptible instances.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'ecs.c6.large', + 'backendName' => 'instance_type', + ], + 'price_limit' => [ + 'title' => '', + 'description' => 'The price cap of a preemptible instance.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => '0.39', + 'backendName' => 'price_limit', + ], + ], + 'extendType' => 'true', + 'description' => '', + ], + 'backendName' => 'spot_price_limit', + ], + 'scaling_policy' => [ + 'title' => '', + 'description' => 'The scaling mode of the scaling group. Valid values:'."\n" + ."\n" + .'* `release`: the standard mode. ECS instances are created and released based on resource usage.'."\n" + .'* `recycle`: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached with local disks.'."\n" + ."\n" + .'Default value: `release`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'release', + 'backendName' => 'scaling_policy', + ], + 'security_group_id' => [ + 'title' => '', + 'description' => 'The ID of the security group to which you want to add the node pool. You must specify this parameter or the `security_group_ids` parameter. We recommend that you specify `security_group_ids`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-2zeihch86ooz9io4****', + 'backendName' => 'security_group_id', + ], + 'security_group_ids' => [ + 'title' => '', + 'description' => 'The IDs of security groups. You must specify this parameter or `security_group_id`. We recommend that you specify `security_group_ids`. If you specify both `security_group_id` and `security_group_ids`, `security_group_ids` is used.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the security group.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'sg-2zeihch86ooz9io4****', + 'extendType' => 'true', + ], + 'backendName' => 'security_group_ids', + ], + 'system_disk_category' => [ + 'title' => '', + 'description' => 'The type of the system disk. Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD'."\n" + .'* `cloud_essd`: Enterprise SSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'cloud_efficiency', + 'backendName' => 'system_disk_category', + ], + 'system_disk_categories' => [ + 'title' => '', + 'description' => 'The system disk types. The system creates system disks of a disk type with a lower priority if the disk type with a higher priority is unavailable. Valid values: cloud (basic disk), cloud_efficiency (ultra disk), cloud_ssd (standard SSD), and cloud_essd: (ESSD).'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The system disk type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'extendType' => 'true', + ], + 'required' => false, + 'maxItems' => 10, + 'backendName' => 'system_disk_categories', + ], + 'system_disk_size' => [ + 'title' => '', + 'description' => 'The size of the system disk. Unit: GiB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '120', + 'backendName' => 'system_disk_size', + ], + 'system_disk_performance_level' => [ + 'title' => '', + 'description' => 'The performance level (PL) of the system disk. This parameter takes effect only for an ESSD. Valid values:'."\n" + ."\n" + .'* PL0: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL1: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL2: high maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'PL1', + 'backendName' => 'system_disk_performance_level', + ], + 'system_disk_encrypted' => [ + 'title' => '', + 'description' => 'Specifies whether to encrypt the system disk. Valid values: true: encrypts the system disk. false: does not encrypt the system disk.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'system_disk_encrypted', + ], + 'system_disk_kms_key_id' => [ + 'title' => '', + 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the system disk.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + 'backendName' => 'system_disk_kms_key_id', + ], + 'system_disk_encrypt_algorithm' => [ + 'title' => '', + 'description' => 'The algorithm that you want to use to encrypt the system disk. Set the value to aes-256.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'aes-256', + 'backendName' => 'system_disk_encrypt_algorithm', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '', + 'description' => 'The preset read/write IOPS of the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS} Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.'."\n" + ."\n" + .'This parameter is available only if `SystemDiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + 'backendName' => 'system_disk_provisioned_iops', + ], + 'system_disk_bursting_enabled' => [ + 'title' => '', + 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* true: enables the burst feature.'."\n" + .'* false: disables the burst feature.'."\n" + ."\n" + .'This parameter is available only if `SystemDiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'system_disk_bursting_enabled', + ], + 'tags' => [ + 'title' => '', + 'description' => 'The labels that you want to add only to ECS instances.'."\n" + ."\n" + .'The tag key must be unique and can be up to 128 characters in length. The tag key and value must not start with aliyun or acs: or contain https:// or http://.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'title' => 'key', + 'description' => 'The key of the label.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'key', + 'backendName' => 'key', + ], + 'value' => [ + 'title' => 'value', + 'description' => 'The value of the label.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'value', + 'backendName' => 'value', + ], + ], + 'extendType' => 'true', + 'description' => '', + ], + 'backendName' => 'tags', + ], + 'vswitch_ids' => [ + 'title' => '', + 'description' => 'The IDs of vSwitches.'."\n", + 'visibility' => 'public', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of vSwitches.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'vsw-2ze0fmpbwo140ahni****', + 'extendType' => 'true', + ], + 'required' => true, + 'backendName' => 'vswitch_ids', + ], + 'multi_az_policy' => [ + 'title' => '', + 'description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* `PRIORITY`: ECS instances are scaled based on the VSwitchIds.N parameter. If an ECS instance cannot be created in the zone in which the vSwitch that has the highest priority resides, Auto Scaling creates the ECS instance in the zone in which the vSwitch that has the next highest priority resides.'."\n" + ."\n" + .'* `COST_OPTIMIZED`: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created if preemptible instance types are specified in the scaling configurations. You can set `CompensateWithOnDemand` to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** `COST_OPTIMIZED` is valid only when multiple instance types are specified or at least one preemptible instance type is specified.'."\n" + ."\n" + .'* `BALANCE`: ECS instances are evenly distributed across multiple zones specified by the scaling group. If the distribution of ECS instances across zones is not balanced due to reasons such as insufficient inventory, you can call the RebalanceInstances operation to evenly distribute the ECS instances across zones. For more information, see [RebalanceInstances](~~71516~~)'."\n" + ."\n" + .'Default value: `PRIORITY`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'COST_OPTIMIZED', + 'backendName' => 'multi_az_policy', + ], + 'on_demand_base_capacity' => [ + 'title' => '', + 'description' => 'The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is smaller than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'on_demand_base_capacity', + ], + 'on_demand_percentage_above_base_capacity' => [ + 'title' => '', + 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by `on_demand_base_capacity`. Valid values: 0 to 100.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'backendName' => 'on_demand_percentage_above_base_capacity', + ], + 'spot_instance_pools' => [ + 'title' => '', + 'description' => 'The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'backendName' => 'spot_instance_pools', + ], + 'spot_instance_remedy' => [ + 'title' => '', + 'description' => 'Indicates whether preemptible instances can be supplemented. If you set this parameter to true, when the scaling group receives a system message indicating that a preemptible instance is to be reclaimed, the scaling group creates a new instance to replace this instance. Valid values:'."\n" + ."\n" + .'* `true`: supplements preemptible instances.'."\n" + .'* `false`: does not supplement preemptible instances.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'spot_instance_remedy', + ], + 'compensate_with_on_demand' => [ + 'title' => '', + 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect if you set `multi_az_policy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* `true`: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created'."\n" + .'* `false`: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'compensate_with_on_demand', + ], + 'internet_charge_type' => [ + 'title' => '', + 'description' => 'The billing method of the public IP address. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'PayByBandwidth', + 'backendName' => 'internet_charge_type', + ], + 'internet_max_bandwidth_out' => [ + 'title' => '', + 'description' => 'The maximum outbound bandwidth of the public IP address. Unit: Mbit/s. Valid values: 1 to 100.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'internet_max_bandwidth_out', + ], + 'image_type' => [ + 'title' => '', + 'description' => 'The type of the operating system image. You must specify this parameter or the platform parameter. Valid values:'."\n" + ."\n" + .'* `AliyunLinux`: Alibaba Cloud Linux 2.'."\n" + .'* `AliyunLinux3`: Alibaba Cloud Linux 3'."\n" + .'* `AliyunLinux3Arm64`: Alibaba Cloud Linux 3 (ARM).'."\n" + .'* `AliyunLinuxUEFI`: Alibaba Cloud Linux UEFI 2.'."\n" + .'* `CentOS`: CentOS.'."\n" + .'* `Windows`: Windows.'."\n" + .'* `WindowsCore`: Windows Core.'."\n" + .'* `ContainerOS`: ContainerOS.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'AliyunLinux', + 'backendName' => 'image_type', + ], + 'deploymentset_id' => [ + 'title' => '', + 'description' => 'The ID of the deployment set.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', + 'backendName' => 'deploymentset_id', + ], + 'desired_size' => [ + 'title' => '', + 'description' => 'The expected number of nodes in the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + 'backendName' => 'desired_size', + ], + 'private_pool_options' => [ + 'title' => '', + 'description' => 'The configurations of the private node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '', + 'description' => 'The ID of the private node pool.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + 'backendName' => 'id', + ], + 'match_criteria' => [ + 'title' => '', + 'description' => 'The type of the private node pool. This parameter specifies the type of the private node pool that you want to use to create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. The system selects a private pool to start instances. Valid values:'."\n" + ."\n" + .'* `Open`: specifies an open private node pool. The system selects an open private pool to start instances. If no matching open private pools are available, the resources in the public pool are used.'."\n" + .'* `Target`: specifies a private node pool. The system uses the resources of the specified private pool to start instances. If the specified private pool is unavailable, instances cannot be started.'."\n" + .'* `None`: does not use private pools. The resources of private node pools are not used to launch instances.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'Open', + 'backendName' => 'match_criteria', + ], + ], + 'backendName' => 'private_pool_options', + ], + 'ram_role_name' => [ + 'title' => '', + 'description' => 'The name of the worker Resource Access Management (RAM) role. This parameter is available only to users in the whitelist. To use this parameter, submit a ticket.'."\n" + ."\n" + .'> You can configure this parameter when you create a node pool only for an ACK managed cluster that runs Kubernetes 1.22 or later.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'example-role', + 'backendName' => 'ram_role_name', + ], + ], + 'backendName' => 'scaling_group', + ], + 'tee_config' => [ + 'title' => '', + 'description' => 'The configurations of confidential computing.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'tee_enable' => [ + 'title' => '', + 'description' => 'Specifies whether to enable confidential computing for the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'required' => true, + 'example' => 'false', + 'backendName' => 'tee_enable', + ], + ], + 'backendName' => 'tee_config', + ], + 'management' => [ + 'title' => '', + 'description' => 'The configurations of the managed node pool feature.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '', + 'description' => 'Indicates whether the managed node pool feature is enabled. Valid values:'."\n" + ."\n" + .'* `true`: enables the managed node pool feature.'."\n" + .'* `false`: disables the managed node pool feature. Other parameters in this section take effect only if you set `enable` to true.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'enable', + ], + 'auto_repair' => [ + 'title' => '', + 'description' => 'Specifies whether to enable auto repair. This parameter takes effect only when you specify `enable=true`.'."\n" + ."\n" + .'* `true`: enables auto repair'."\n" + .'* `false`: disables auto repair.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'auto_repair', + ], + 'upgrade_config' => [ + 'title' => '', + 'description' => 'The configurations of auto update. This parameter takes effect only if `enable` is set to true.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'auto_upgrade' => [ + 'title' => '', + 'description' => 'Specifies whether to enable auto update. Valid values:'."\n" + ."\n" + .'* `true`: enables auto update.'."\n" + .'* `false`: disables auto update.'."\n", + 'visibility' => 'public', + 'type' => 'boolean', + 'example' => 'false', + 'backendName' => 'auto_upgrade', + ], + 'surge' => [ + 'title' => '', + 'description' => 'The number of additional nodes.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'surge', + ], + 'surge_percentage' => [ + 'title' => '', + 'description' => 'The percentage of additional nodes to the nodes in the node pool. You must specify this parameter or the `surge` parameter.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'surge_percentage', + ], + 'max_unavailable' => [ + 'title' => '', + 'description' => 'The maximum number of unavailable nodes. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + 'backendName' => 'max_unavailable', + ], + ], + 'deprecated' => true, + 'backendName' => 'upgrade_config', + ], + 'auto_repair_policy' => [ + 'title' => '', + 'description' => 'The auto node repair policy.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '', + 'description' => 'Indicates whether node restart is allowed.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'restart_node', + ], + ], + 'backendName' => 'auto_repair_policy', + ], + 'auto_vul_fix' => [ + 'title' => '', + 'description' => 'Indicates whether CVE vulnerabilities are automatically patched.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'auto_vul_fix', + ], + 'auto_vul_fix_policy' => [ + 'title' => '', + 'description' => 'The automatic CVE patching policy.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '', + 'description' => 'Indicates whether node restart is allowed.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'restart_node', + ], + 'vul_level' => [ + 'title' => '', + 'description' => 'The severity level of CVEs that can be automatically patched. Separate multiple levels with commas (,).'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'asap,nntf', + 'backendName' => 'vul_level', + ], + ], + 'backendName' => 'auto_vul_fix_policy', + ], + 'auto_upgrade' => [ + 'title' => '', + 'description' => 'Indicates whether auto update is enabled.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'auto_upgrade', + ], + 'auto_upgrade_policy' => [ + 'title' => '', + 'description' => 'The auto update policy.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'auto_upgrade_kubelet' => [ + 'title' => '', + 'description' => 'Indicates whether the kubelet is automatically updated.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'auto_upgrade_kubelet', + ], + ], + 'backendName' => 'auto_upgrade_policy', + ], + ], + 'backendName' => 'management', + ], + 'count' => [ + 'title' => '', + 'description' => 'This parameter is deprecated. Use desired_size instead.'."\n" + ."\n" + .'The number of nodes in the node pool.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '1', + 'backendName' => 'count', + ], + 'interconnect_mode' => [ + 'title' => '', + 'description' => 'The network type of the edge node pool. This parameter takes effect only if you set the `type` of the node pool to `edge`. Valid values:'."\n" + ."\n" + .'* `basic`: basic'."\n" + .'* `private`: dedicated Only Kubernetes 1.22 and later support this value.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'basic', + 'backendName' => 'interconnect_mode', + ], + 'interconnect_config' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The configurations of the edge node pool.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'cen_id' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'cen-ey9k9nfhz0f*******', + 'backendName' => 'cen_id', + ], + 'ccn_id' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'ccn-qm5i0i0q9yi*******', + 'backendName' => 'ccn_id', + ], + 'ccn_region_id' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The region in which the CCN instance that is associated with the enhanced edge node pool resides.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'cn-shanghai', + 'backendName' => 'ccn_region_id', + ], + 'bandwidth' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The bandwidth of the enhanced edge node pool. Unit: Mbit/s.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '10', + 'backendName' => 'bandwidth', + ], + 'improved_period' => [ + 'title' => '', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The subscription duration of the enhanced edge node pool. The duration is measured in months.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'deprecated' => true, + 'example' => '1', + 'backendName' => 'improved_period', + ], + ], + 'deprecated' => true, + 'backendName' => 'interconnect_config', + ], + 'max_nodes' => [ + 'title' => '', + 'description' => 'The maximum number of nodes that can be created in the edge node pool. The value of this parameter must be greater than or equal to 0. A value of 0 indicates that the number of nodes in the node pool is limited only by the quota of nodes in the cluster. In most cases, this parameter is set to a value larger than 0 for edge node pools. This parameter is set to 0 for node pools whose type is ess or default edge node pools.'."\n", + 'visibility' => 'public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'backendName' => 'max_nodes', + ], + 'node_config' => [ + 'title' => '', + 'description' => 'The node configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'kubelet_configuration' => [ + 'title' => '', + 'description' => 'The parameter settings of the kubelet.'."\n", + 'visibility' => 'Public', + 'backendName' => 'kubelet_configuration', + '$ref' => '#/components/schemas/kubelet_config', + ], + ], + 'backendName' => 'node_config', + ], + ], + ], + 'runtime' => [ + 'title' => '', + 'description' => 'The container engine.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '', + 'description' => 'The name of a container runtime. The following types of runtime are supported by Container Service for Kubernetes (ACK).'."\n" + ."\n" + .'* `containerd`: supports all Kubernetes versions. We recommend that you set the parameter to this value.'."\n" + .'* `Sandboxed-Container.runv`: Sandboxed container provides enhanced isolation and supports Kubernetes 1.24 and earlier.'."\n" + .'* `docker`: supports Kubernetes 1.22 and earlier.'."\n" + ."\n" + .'Default value: `containerd`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'docker', + 'backendName' => 'name', + ], + 'version' => [ + 'title' => '', + 'description' => 'The version of the container runtime. By default, the latest version is used.'."\n" + ."\n" + .'For more information about the changes to Sandboxed-Container, see [Sandboxed-Container release notes](~~160312~~).'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => '19.03.5', + 'backendName' => 'version', + ], + ], + ], + 'tag' => [ + 'title' => '', + 'description' => 'The configuration of the label.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'title' => '', + 'description' => 'The `key` of the label.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'env', + 'backendName' => 'key', + ], + 'value' => [ + 'title' => '', + 'description' => 'The `value` of the label.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'prod', + 'backendName' => 'value', + ], + ], + ], + 'taint' => [ + 'title' => '', + 'description' => 'The configuration of the node taint.'."\n", + 'visibility' => 'public', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'title' => '', + 'description' => 'The `key` of the taint.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'key', + 'backendName' => 'key', + ], + 'value' => [ + 'title' => '', + 'description' => 'The `value` of the taint.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'value', + 'backendName' => 'value', + ], + 'effect' => [ + 'title' => '', + 'description' => 'The scheduling policy. Valid values:'."\n" + ."\n" + .'* `NoSchedule`: This taint is not tolerated. However, pods that are already scheduled to the node are not affected.'."\n" + .'* `NoExecute`: Pods that do not tolerate this taint are evicted after this taint is added to the node.'."\n" + .'* `PreferNoSchedule`: This value specifies a soft limit on pods. Existing pods on the node are not affected. The scheduler attempts to avoid scheduling pods that cannot tolerate the taint to the node.'."\n" + ."\n" + .'Default value: `NoSchedule`.'."\n", + 'visibility' => 'public', + 'type' => 'string', + 'example' => 'NoSchedule', + 'backendName' => 'effect', + ], + ], + ], + ], + ], + 'apis' => [ + 'OpenAckService' => [ + 'summary' => 'When using Container Service for Kubernetes (ACK) for the first time, you must call the OpenAckService operation to activate the service.', + 'path' => '/service/open', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '11154', + 'abilityTreeNodes' => [ + 'FEATUREcskJEIDU7', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => [ + 'title' => '要开通的服务类型', + 'description' => 'The type of service that you want to activate. Valid values:'."\n" + ."\n" + .'* `propayasgo`: ACK clusters (including ACK managed clusters and ACK dedicated clusters), ACK Serverless clusters, and registered clusters.'."\n" + .'* `edgepayasgo`: ACK Edge clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'propayasgo', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '20758A-585D-4A41-A9B2-28DA8F4F534F', + ], + 'order_id' => [ + 'title' => '开通服务的订单号。', + 'description' => 'The ID of the order.'."\n", + 'type' => 'string', + 'example' => '2067*******0374', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"20758A-585D-4A41-A9B2-28DA8F*******\\",\\n \\"order_id\\": \\"2067*******0374\\"\\n}","errorExample":""},{"type":"xml","example":"<request_id>20758A-585D-4A41-A9B2-28DA8F4F534F</request_id>\\n<order_id>2067*******0374</order_id>","errorExample":""}]', + 'title' => 'OpenAckService', + 'description' => '* You can activate ACK by using Alibaba Cloud accounts.'."\n" + .'* To activate ACK by using RAM users, you need to grant the AdministratorAccess permission to the RAM users.'."\n", + ], + 'DescribeRegions' => [ + 'summary' => '查询地域列表', + 'path' => '/regions', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254114', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'clusterType', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ExternalKubernetes' => '', + 'ManagedKubernetes' => '', + 'Kubernetes' => '', + ], + 'example' => 'ManagedKubernetes', + 'enum' => [ + 'Kubernetes', + 'ManagedKubernetes', + 'ExternalKubernetes', + ], + ], + ], + [ + 'name' => 'profile', + 'in' => 'query', + 'schema' => [ + 'title' => '集群场景。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'Lingjun' => '', + 'Serverless' => '', + 'Default' => '', + 'Edge' => '', + ], + 'example' => 'Default', + 'enum' => [ + 'Default', + 'Serverless', + 'Edge', + 'Lingjun', + ], + ], + ], + [ + 'name' => 'acceptLanguage', + 'in' => 'query', + 'schema' => [ + 'title' => '根据汉语、英语筛选返回结果。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + 'enum' => [ + 'zh-CN', + 'en-US', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => 'Id of the request', + 'description' => '', + 'type' => 'string', + 'example' => 'CE0F23E3-C5F5-5FB3-AA9F-134093C49C60', + ], + 'regions' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'regionId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'localName' => [ + 'description' => '', + 'type' => 'string', + 'example' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE0F23E3-C5F5-5FB3-AA9F-134093C49C60\\",\\n \\"regions\\": [\\n {\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"localName\\": \\"华东1(杭州)\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'CreateCluster' => [ + 'summary' => 'Creates a Container Service for Kubernetes (ACK) cluster. For example, you can create an ACK managed cluster, ACK Serverless cluster, ACK Edge cluster, or registered cluster. When you create an ACK cluster, you need to configure the cluster information, components, and cloud resources used by ACK.', + 'path' => '/clusters', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '411', + 'abilityTreeNodes' => [ + 'FEATUREcskJEIDU7', + ], + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '集群名称。', + 'description' => 'The cluster name.'."\n" + ."\n" + .'The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). The name cannot start with a hyphen (-).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cluster-demo', + ], + 'region_id' => [ + 'title' => '地域ID', + 'description' => 'The ID of the region in which the cluster is deployed. For more information about the regions supported by ACK, see [Regions supported by ACK](~~216938~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + 'cluster_type' => [ + 'title' => '集群类型', + 'description' => '* `Kubernetes`: ACK dedicated cluster.'."\n" + .'* `ManagedKubernetes`: ACK managed cluster. ACK managed clusters include ACK Basic clusters, ACK Pro clusters, ACK Serverless clusters (Basic Edition and Pro Edition), ACK Edge clusters (Basic Edition and Pro Edition), and ACK Lingjun clusters (Pro Edition).'."\n" + .'* `ExternalKubernetes`: registered cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Kubernetes', + ], + 'cluster_spec' => [ + 'title' => '托管版集群类型', + 'description' => 'If you set `cluster_type` to `ManagedKubernetes` and specify `profile`, you can further specify the edition of the cluster. Valid values:'."\n" + ."\n" + .'* `ack.pro.small`: Pro Edition.'."\n" + .'* `ack.standard`: Basic Edition. If you leave the parameter empty, an ACK Basic cluster is created.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack.pro.small', + ], + 'profile' => [ + 'title' => '面向场景时的集群类型。 Default:非边缘场景集群。 Edge:边缘场景集群。', + 'description' => 'If you set `cluster_type` to `ManagedKubernetes`, an ACK managed cluster is created. In this case, you can further specify the cluster edition. Valid values:'."\n" + ."\n" + .'* `Default`: ACK managed cluster. ACK managed clusters include ACK Basic clusters and ACK Pro clusters.'."\n" + .'* `Edge`: ACK Edge cluster. ACK Edge clusters include ACK Edge Basic clusters and ACK Edge Pro clusters.'."\n" + .'* `Serverless`: ACK Serverless cluster. ACK Serverless clusters include ACK Serverless Basic clusters and ACK Serverless Pro clusters.'."\n" + .'* `Lingjun`: ACK Lingjun Pro cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + 'kubernetes_version' => [ + 'title' => '集群版本', + 'description' => 'The Kubernetes version of the cluster. The Kubernetes versions supported by ACK are the same as the Kubernetes versions supported by open source Kubernetes. We recommend that you specify the latest Kubernetes version. If you do not specify this parameter, the latest Kubernetes version is used.'."\n" + ."\n" + .'You can create ACK clusters of the latest three Kubernetes versions in the ACK console. If you want to create clusters that run earlier Kubernetes versions, use the ACK API. For more information about the Kubernetes versions supported by ACK, see [Support for Kubernetes versions](~~185269~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.16.9-aliyun.1', + ], + 'auto_mode' => [ + 'title' => '智能托管模式配置。', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'type' => 'boolean', + ], + ], + ], + 'tags' => [ + 'title' => '集群标签', + 'description' => 'The labels that you want to add to nodes. You must add labels based on the following rules:'."\n" + ."\n" + .'* A label is a case-sensitive key-value pair. You can add up to 20 labels.'."\n" + .'* When you add a label, you must specify a unique key, but you can leave the value empty. A key cannot exceed 64 characters in length, and a value cannot exceed 128 characters in length. Keys and values cannot start with aliyun, acs:, https://, or http://. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node label. You must add the label based on the following rules:'."\n" + ."\n" + .'* A label is a case-sensitive key-value pair. You can add up to 20 labels.'."\n" + .'* When you add a label, you must specify a unique key, but you can leave the value empty. A key cannot exceed 64 characters in length, and a value cannot exceed 128 characters in length. Keys and values cannot start with aliyun, acs:, https://, or http://. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + 'resource_group_id' => [ + 'title' => '集群所属资源组ID', + 'description' => 'The ID of the resource group to which the cluster belongs. You can use resource groups to isolate clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfm3mkrure****', + ], + 'deletion_protection' => [ + 'title' => '集群删除保护', + 'description' => 'Specifies whether to enable cluster deletion protection. If you enable this option, the cluster cannot be deleted in the console or by calling API operations. Valid values:'."\n" + ."\n" + .'* `true`: enables cluster deletion protection.'."\n" + .'* `false`: disables cluster deletion protection.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'zone_ids' => [ + 'title' => '专有网络虚拟交换机所在的可用区,使用自动创建专有网络创建ACK集群时指定,最多支持5个不同的可用区。', + 'description' => 'The IDs of the zone in which the cluster is deployed. This parameter is specific to ACK managed clusters.'."\n" + ."\n" + .'When you create an ACK managed cluster, you must set the `zone_id` parameter if `vpc_id` and `vswitch_ids` are not specified. This way, the system automatically creates a VPC in the specified zone. This parameter is invalid if you specify the `vpc_id` and `vswitch_ids` parameters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the zone in which the cluster is deployed. A vSwitch is automatically created in this zone.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing-h', + ], + 'required' => false, + ], + 'vpcid' => [ + 'title' => '集群专有网络ID,非自动创建专有网络时必填。', + 'description' => 'The virtual private cloud (VPC) in which you want to deploy the cluster. This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-2zeik9h3ahvv2zz95****', + ], + 'vswitch_ids' => [ + 'title' => '集群控制面虚拟交换机。非自动创建专有网络时必填。', + 'description' => 'The vSwitches for nodes in the cluster. This parameter is required if you create an ACK managed cluster that does not contain nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch for nodes in the cluster. This parameter is required if you create an ACK managed cluster that does not contain nodes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze3ds0mdip0hdz8i****', + ], + 'required' => false, + ], + 'ip_stack' => [ + 'title' => '集群的IP协议栈,可取值:'."\n" + .'- ipv4:创建仅支持IPv4协议栈的集群;'."\n" + .'- dual:创建支持IPv4/IPv6双栈的集群。', + 'description' => 'The IP stack of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Optional value: ipv4 (Single stack) or ipv6 (Dual Stack)'."\n" + .'Default value: IPV4', + 'default' => 'ipv4', + 'enum' => [ + 'ipv4', + 'dual', + ], + ], + 'pod_vswitch_ids' => [ + 'title' => '创建Terway网络类型的集群时,需要为pod指定单独的虚拟交换机', + 'description' => 'If you select Terway as the network plug-in, you must allocate vSwitches to pods. For each vSwitch that allocates IP addresses to worker nodes, you must select a vSwitch in the same zone to allocate IP addresses to pods.'."\n" + ."\n" + .'> We recommend that you select pod vSwitches whose subnet masks do not exceed 19 bits in length. The maximum subnet mask length of a pod vSwitch is 25 bits. If you select a pod vSwitch whose subnet mask exceeds 25 bits in length, the IP addresses that can be allocated to pods may be insufficient.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'If you select Terway as the network plug-in, you must allocate vSwitches to pods. For each vSwitch that allocates IP addresses to worker nodes, you must select a vSwitch in the same zone to allocate IP addresses to pods.'."\n" + ."\n" + .'> We recommend that you select pod vSwitches whose subnet masks do not exceed 19 bits in length. The maximum subnet mask length of a pod vSwitch is 25 bits. If you select a pod vSwitch whose subnet mask exceeds 25 bits in length, the IP addresses that can be allocated to pods may be insufficient.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze97jwri7cei0mpw****', + ], + 'required' => false, + 'deprecated' => true, + ], + 'container_cidr' => [ + 'title' => 'POD网络网段', + 'description' => 'The pod CIDR block. You can specify 10.0.0.0/8, 172.16-31.0.0/12-16, 192.168.0.0/16, or their subnets as the pod CIDR block. The pod CIDR block cannot overlap with the CIDR block of the VPC in which the cluster is deployed and the CIDR blocks of existing clusters in the VPC. You cannot modify the pod CIDR block after you create the cluster.'."\n" + ."\n" + .'For more information about how to plan the network of an ACK cluster, see [Plan the network of an ACK cluster](~~86500~~).'."\n" + ."\n" + .'> This parameter is required if the cluster uses the Flannel plug-in.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.20.0.0/16', + ], + 'service_cidr' => [ + 'title' => '服务网络网段', + 'description' => 'The Service CIDR block. Valid values: 10.0.0.0/16-24, 172.16-31.0.0/16-24, and 192.168.0.0/16-24. The Service CIDR block cannot overlap with the VPC CIDR block (10.1.0.0/21) or the CIDR blocks of existing clusters in the VPC. You cannot modify the Service CIDR block after the cluster is created.'."\n" + ."\n" + .'By default, the Service CIDR block is set to 172.19.0.0/20.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.21.0.0/20', + ], + 'security_group_id' => [ + 'title' => '安全组ID,和is_enterprise_security_group二选一', + 'description' => 'The ID of an existing security group. You must specify this parameter or `is_enterprise_security_group`. Cluster nodes are automatically added to the security group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1bdue0qc1g7k****', + ], + 'is_enterprise_security_group' => [ + 'title' => '自动创建企业安全组', + 'description' => 'Specifies whether to create an advanced security group. This parameter takes effect only if `security_group_id` is left empty.'."\n" + ."\n" + .'> To use a basic security group, make sure that the sum of the number of nodes in the cluster and the number of pods that use Terway does not exceed 2,000. Therefore, we recommend that you specify an advanced security group for a cluster that uses Terway.'."\n" + ."\n" + .'* `true`: creates an advanced security group.'."\n" + .'* `false`: does not create an advanced security group.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'snat_entry' => [ + 'title' => '若您集群内的节点、应用等需要访问公网,勾选该项后我们将为您创建 NAT 网关并自动配置 SNAT 规则', + 'description' => 'Specifies whether to configure SNAT rules for the VPC in which your cluster is deployed. Valid values:'."\n" + ."\n" + .'* `true`: automatically creates a NAT gateway and configures SNAT rules. Set the value to `true` if nodes and applications in the cluster need to access the Internet.'."\n" + .'* `false`: does not create a NAT gateway or configure SNAT rules. In this case, nodes and applications in the cluster cannot access the Internet.'."\n" + ."\n" + .'> If this feature is disabled when you create the cluster, you can also manually enable this feature after you create the cluster. For more information, see [Enable an existing ACK cluster to access the Internet](~~178480~~).'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'control_plane_endpoints_config' => [ + 'title' => '集群连接配置。指定该字段时,endpoint_public_access、load_balancer_id参数不生效。如需要指定CLB/NLB,需要使用load_balancers_config指定对应实例ID。', + 'type' => 'object', + 'properties' => [ + 'internal_dns_config' => [ + 'title' => '集群内部域名配置,适用于ACK托管集群。集群内部域名用于 kubelet、kube-proxy 等节点侧系统组件访问 API Server;未开启集群内部域名访问时,节点侧系统组件将通过 CLB IP 方式访问。', + 'type' => 'object', + 'properties' => [ + 'bind_vpcs' => [ + 'title' => '集群内部域名记录解析生效的 VPC 范围,默认包括集群所在 VPC。', + 'type' => 'array', + 'items' => [ + 'title' => '集群内部域名生效的VPC。', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + 'endpoint_public_access' => [ + 'title' => '使用EIP暴露apiServer', + 'description' => 'Specifies whether to enable Internet access for the cluster. You can use an elastic IP address (EIP) to expose the API server. This way, you can access the cluster over the Internet. Valid values:'."\n" + ."\n" + .'* `true`: enables Internet access for the cluster.'."\n" + .'* `false`: disables Internet access for the cluster. If you set the value to false, the API server cannot be accessed over the Internet.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'load_balancer_id' => [ + 'title' => '指定用于APIServer访问的CLB实例ID。指定该参数时,将不再自动创建APIServer CLB。', + 'description' => 'Specifies the ID of the CLB instance for accessing the API server. If this parameter is specified, the system does not automatically create a CLB instance for the API server.'."\n" + ."\n" + .'> Make sure that the CLB instance does not have other dependencies, such as listeners and backend servers. You cannot specify shared-resource or Internet-facing CLB instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-wz9t256gqa3vbouk****', + ], + 'ssh_flags' => [ + 'title' => '允许公网ssh登录', + 'description' => 'Specifies whether to enable SSH logon. If this parameter is set to true, you can log on to master nodes in an ACK dedicated cluster over the Internet. This parameter does not take effect for ACK managed clusters. Valid values:'."\n" + ."\n" + .'* `true`: enables SSH logon.'."\n" + .'* `false`: disables SSH logon.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'timezone' => [ + 'title' => '时区', + 'description' => 'The time zone of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Asia/Shanghai', + ], + 'node_cidr_mask' => [ + 'title' => '节点IP数量', + 'description' => 'The maximum number of IP addresses that can be assigned to each node. This number is determined by the subnet mask of the specified CIDR block. This parameter takes effect only if the cluster uses the Flannel plug-in.'."\n" + ."\n" + .'Default value: `26`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '25', + ], + 'proxy_mode' => [ + 'title' => 'Proxy代理模式,ipvs|iptables', + 'description' => 'The kube-proxy mode. Valid values:'."\n" + ."\n" + .'* `iptables`: a mature and stable mode that uses iptables rules to conduct service discovery and load balancing. The performance of this mode is limited by the size of the cluster. This mode is suitable for clusters that run a small number of Services.'."\n" + .'* `ipvs`: a mode that provides high performance and uses IP Virtual Server (IPVS) to conduct service discovery and load balancing. This mode is suitable for clusters that run a large number of Services. We recommend that you use this mode in scenarios that require high-performance load balancing.'."\n" + ."\n" + .'Default value: `ipvs`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ipvs', + ], + 'controlplane_log_ttl' => [ + 'title' => '控制平面日志', + 'description' => 'The retention period of control plane logs in days.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30', + ], + 'controlplane_log_project' => [ + 'title' => '使用已有log project时,需要指定log project', + 'description' => 'The Simple Log Service project that is used to store the logs of control plane components. You can use an existing project or create one. If you choose to create a Simple Log Service project, the created project is named in the `k8s-log-{ClusterID}` format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-log-xxx', + ], + 'controlplane_log_components' => [ + 'title' => '需要采集日志的组件', + 'description' => 'The control plane components for which you want to enable log collection.'."\n" + ."\n" + .'By default, the logs of kube-apiserver, kube-controller-manager, and kube-scheduler are collected.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The control plane component for which you want to enable log collection.'."\n" + ."\n" + .'By default, the log of kube-apiserver, kube-controller-manager, and kube-scheduler is collected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["apiserver","kcm","scheduler"]', + ], + 'required' => false, + ], + 'audit_log_config' => [ + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'type' => 'boolean', + ], + 'sls_project_name' => [ + 'type' => 'string', + ], + ], + ], + 'rrsa_config' => [ + 'title' => '配置 RRSA 功能。', + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否启用 RRSA 功能。', + 'type' => 'boolean', + ], + ], + ], + 'cluster_domain' => [ + 'title' => '集群本地域名', + 'description' => 'The domain name of the cluster.'."\n" + ."\n" + .'The domain name can contain one or more parts that are separated by periods (.). Each part cannot exceed 63 characters in length, and can contain lowercase letters, digits, and hyphens (-). Each part must start and end with a lowercase letter or digit.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster.local', + ], + 'encryption_provider_key' => [ + 'title' => 'Secret落盘加密', + 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the system disk. For more information, see [What is KMS?](~~28935~~)'."\n" + ."\n" + .'> The key can be used only in ACK Pro clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0fe64791-55eb-4fc7-84c5-c6c7cdca****', + ], + 'service_account_issuer' => [ + 'title' => 'serviceaccount token中的签发身份,即token payload中的iss字段。', + 'description' => 'Service accounts provide identities for pods when pods communicate with the `API server` of the cluster. `service-account-issuer` specifies the issuer of the `serviceaccount token`, which is specified by using the `iss` field in the `token payload`.'."\n" + ."\n" + .'For more information about `ServiceAccount`, see [Enable service account token volume projection](~~160384~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes.default.svc', + ], + 'api_audiences' => [ + 'title' => '合法的请求token身份,用于apiserver服务端认证请求token是否合法。', + 'description' => 'Service accounts provide identities for pods when pods communicate with the `API server` of the cluster. The `api-audiences` parameter validates `tokens` and is used by the `API server` to check whether the `tokens` of requests are valid. Separate multiple values with commas (,).``'."\n" + ."\n" + .'For more information about `service accounts`, see [Enable service account token volume projection](~~160384~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes.default.svc', + ], + 'extra_sans' => [ + 'title' => '自定义 API Server 证书 SAN(Subject Alternative Name)。', + 'type' => 'array', + 'items' => [ + 'title' => 'SAN。支持自定义 IP 地址或域名。', + 'type' => 'string', + 'example' => '192.168.xx.xx', + ], + ], + 'maintenance_window' => [ + 'description' => 'The configurations of the cluster maintenance window.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/maintenance_window', + ], + 'operation_policy' => [ + 'title' => '集群自动运维策略。', + 'description' => 'The automatic O\\&M policy of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_auto_upgrade' => [ + 'title' => '集群自动升级。', + 'description' => 'The configurations of auto cluster upgrade.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启集群自动升级。', + 'description' => 'Specifies whether to enable auto cluster update.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'channel' => [ + 'title' => '集群自动升级频次。可取值:'."\n" + .'- patch'."\n" + .'- stable'."\n" + .'- rapid', + 'description' => 'The automatic update frequency. Valid values:'."\n" + ."\n" + .'* patch'."\n" + .'* stable'."\n" + .'* rapid'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'patch', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'addons' => [ + 'title' => '集群组件配置', + 'description' => 'The components that you want to install in the cluster. When you create a cluster, you can configure the `addons` parameter to specify the components that you want to install.'."\n" + ."\n" + .'**Network plug-in**: required. The Flannel and Terway plug-ins are supported. Select one of the plug-ins for the cluster.'."\n" + ."\n" + .'* If you want to use the Terway component, specify the network plug-in in the \\[{"name":"flannel","config":""}] format.'."\n" + .'* If you want to use the Terway component, specify the value network plug-in in the \\[{"name": "terway-eniip","Config": ""}] format.'."\n" + ."\n" + .'**Volume plug-in**: optional. Only the `Container Storage Interface (CSI)` plug-in is supported.'."\n" + ."\n" + .'Specify the `CSI` plug-in in the following format: \\[{"name":"csi-plugin","config": ""},{"name": "csi-provisioner","config": ""}].'."\n" + ."\n" + .'**Simple Log Service component**: optional. We recommend that you enable Simple Log Service. If Simple Log Service is disabled, you cannot use the cluster auditing feature.'."\n" + ."\n" + .'* Specify an existing `Simple Log Service project` in the following format: \\[{"name": "logtail-ds","config": "{"IngressDashboardEnabled":"true","sls_project_name":"your_sls_project_name"}"}].'."\n" + .'* To create a `Simple Log Service project`, specify the component in the following format: \\[{"name": "logtail-ds","config": "{"IngressDashboardEnabled":"true"}"}].'."\n" + ."\n" + .'**Ingress controller**: optional. By default, the `nginx-ingress-controller` component is installed in ACK dedicated clusters.'."\n" + ."\n" + .'* To install nginx-ingress-controller and enable Internet access, specify the Ingress controller in the following format: \\[{"name":"nginx-ingress-controller","config":"{"IngressSlbNetworkType":"internet"}"}].'."\n" + .'* To disable the automatic installation of nginx-ingress-controller, specify the Ingress controller in the following format: \\[{"name": "nginx-ingress-controller","config": "","disabled": true}].'."\n" + ."\n" + .'**Event center**: optional. By default, the event center feature is enabled.'."\n" + ."\n" + .'You can use ACK event centers to store and query events and configure alerts. You can use the Logstores that are associated with ACK event centers free of charge within 90 days. For more information, see [Create and use an event center](~~150476~~).'."\n" + ."\n" + .'To enable the event center feature, specify the event center component in the following format: \\[{"name":"ack-node-problem-detector","config":"{"sls_project_name":"your_sls_project_name"}"}].'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The components that you want to install in the cluster. When you create a cluster, you can configure the `addons` parameter to specify the components that you want to install.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/addon', + ], + 'required' => false, + ], + 'nodepools' => [ + 'description' => 'The list of node pools.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node pool configurations.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/nodepool', + ], + 'required' => false, + ], + 'user_ca' => [ + 'title' => '自定义集群CA', + 'description' => 'The custom Certificate Authority (CA) certificate used by the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE-----****', + ], + 'control_plane_config' => [ + 'title' => '专有版集群控制面配置。', + 'description' => 'The control plane configurations of an ACK dedicated cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'charge_type' => [ + 'title' => '控制面节点付费类型。', + 'description' => 'The billing method of the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + 'period' => [ + 'title' => '控制面节点包年包月时间。', + 'description' => 'The subscription duration of the node.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '控制面节点包年包月时间单位。', + 'description' => 'The unit of the subscription duration of the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '控制面节点是否自动续费。', + 'description' => 'Specifies whether to enable auto-renewal for the node.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '控制面节点自动续费时长。', + 'description' => 'The auto-renewal duration for the node.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'instance_types' => [ + 'title' => '节点实例类型。', + 'description' => 'The instance types of the nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type of the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large'."\n", + ], + 'required' => false, + ], + 'image_type' => [ + 'title' => '操作系统镜像类型。', + 'description' => 'The type of the OS image.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunLinux3'."\n", + ], + 'image_id' => [ + 'title' => '镜像id', + 'description' => 'The image ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd'."\n", + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must set this parameter or login_password.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。密码规则为8~30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号),和key_pair二选一。', + 'description' => 'The SSH logon password. The password must be 8 to 30 characters in length and contain a minimum of three of the following character types: uppercase letters, lowercase letters, digits, and special characters. You must set this parameter or key_pair.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack@Test', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The system disk category for the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小,至少40。', + 'description' => 'The system disk size of the node. The value must be at least 40 GB.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '120', + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '节点自动快照备份策略。', + 'description' => 'The automatic snapshot policy of the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sp-2zej1nogjvovnz4z****'."\n", + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效。', + 'description' => 'The PL of the system disk that you want to use for the node. This parameter takes effect only for ESSDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS。', + 'description' => 'The preset read/write IOPS of the system disk.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发)。', + 'description' => 'Specifies whether to enable the burst feature for the system disk.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The ID of the deployment set.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp10b35imuam5amw****'."\n", + ], + 'cloud_monitor_flags' => [ + 'title' => '是否为节点安装云监控。', + 'description' => 'Specifies whether to install CloudMonitor on the node.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'instance_metadata_options' => [ + 'title' => 'ECS 实例的元数据访问配置。该参数目前仅白名单开放,如需使用,请提交工单申请。', + '$ref' => '#/components/schemas/InstanceMetadataOptions', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保安全加固。', + 'description' => 'Specifies whether to enable MLPS security hardening.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Specifies whether to enable Alibaba Cloud Linux Security Hardening.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'cpu_policy' => [ + 'title' => '节点CPU管理策略。', + 'description' => 'The CPU management policy of the node.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + 'runtime' => [ + 'title' => '运行时名称。', + 'description' => 'The container runtime.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'containerd', + ], + 'node_port_range' => [ + 'title' => '节点服务端口范围。', + 'description' => 'The node port range.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30000-32767'."\n", + ], + 'size' => [ + 'title' => '控制面节点数量。', + 'description' => 'The number of control plane nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + 'required' => false, + ], + 'custom_san' => [ + 'title' => '自定义证书SAN', + 'description' => 'The custom subject alternative names (SANs) for the API server certificate to accept requests from specified IP addresses or domain names. Separate multiple IP addresses and domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cs.aliyun.com', + 'deprecated' => true, + ], + 'runtime' => [ + 'title' => '该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.runtime及runtime_version,节点池请使用kubernetes_config.runtime及runtime_version。', + 'description' => 'The container runtime. The default container runtime is Docker. containerd and Sandboxed-Container are also supported.'."\n" + ."\n" + .'For more information about how to select a proper container runtime, see [Comparison among Docker, containerd, and Sandboxed-Container](~~160313~~).'."\n", + 'required' => false, + '$ref' => '#/components/schemas/runtime', + 'deprecated' => true, + ], + 'node_name_mode' => [ + 'title' => '自定义节点名称。该参数已废弃,节点池请使用kubernetes_config.node_name_mode。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `node_name_mode` parameter of the `kubernetes_config` field in the `nodepool` section instead.'."\n" + ."\n" + .'The custom node name.'."\n" + ."\n" + .'A custom node name consists of a prefix, a node IP address, and a suffix.'."\n" + ."\n" + .'* The prefix and suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-), and must start and end with a lowercase letter or digit.'."\n" + .'* The IP substring length specifies the number of digits to be truncated from the end of the node IP address. The IP substring length ranges from 5 to 12.'."\n" + ."\n" + .'For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will aliyun.com00055test.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'aliyun.com00055test', + ], + 'user_data' => [ + 'title' => '节点自定义数据', + 'description' => 'The user data of nodes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFD****', + 'deprecated' => true, + ], + 'image_id' => [ + 'title' => '自定义镜像。该参数已废弃,Kubernetes类型集群控制面节点请使用control_plane_config.image_id,节点池请使用scaling_group.image_id。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `image_id` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `image_id` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The custom image for nodes. By default, the image provided by ACK is used. You can select a custom image to replace the default image. For more information, see [Use a custom image to create an ACK cluster](~~146647~~).'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'm-bp16z7xko3vvv8gt****', + ], + 'rds_instances' => [ + 'title' => 'RDS白名单。该参数已废弃,节点池请使用scaling_group.rds_instances。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `rds_instances` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The ApsaraDB RDS instances. The pod CIDR block and node CIDR block are added to the whitelists of the ApsaraDB RDS instances. We recommend that you add the pod CIDR block and node CIDR block to the whitelists of the ApsaraDB RDS instances in the ApsaraDB RDS console. If the RDS instances are not in the Running state, new nodes cannot be added to the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ApsaraDB RDS instances. The pod CIDR block and node CIDR block are added to the whitelists of the ApsaraDB RDS instances. We recommend that you add the pod CIDR block and node CIDR block to the whitelists of the ApsaraDB RDS instances in the ApsaraDB RDS console. If the RDS instances are not in the Running state, new nodes cannot be added to the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rm-2zev748xi27xc****', + ], + 'deprecated' => true, + 'required' => false, + ], + 'taints' => [ + 'title' => '节点污点信息。该参数已废弃,节点池请使用kubernetes_config.taints。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `taints` parameter of the `kubernetes_config` field in the `nodepool` section instead.'."\n" + ."\n" + .'The taints that you want to add to nodes. Taints can be used together with tolerations to avoid scheduling pods to specific nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The taint. Taints can be used together with tolerations to avoid scheduling pods to specified nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).'."\n", + 'required' => false, + '$ref' => '#/components/schemas/taint', + ], + 'deprecated' => true, + 'required' => false, + ], + 'cloud_monitor_flags' => [ + 'title' => '为ECS安装云监控。该参数已废弃,Kubernetes类型集群控制面节点请使用control_plane_config.cloud_monitor_flags,节点池请使用kubernetes_config.cms_enabled。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `cloud_monitor_flags` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `cms_enabled` parameter of the `kubernetes_config` field in the nodepool section instead.'."\n" + ."\n" + .'Specifies whether to install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`: installs the CloudMonitor agent.'."\n" + .'* `false`: does not install the CloudMonitor agent.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'platform' => [ + 'title' => '操作系统发行版。该参数已废弃,节点池请使用scaling_group.os_type。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `platform` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The OS distribution that is used. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* AliyunLinux'."\n" + .'* QbootAliyunLinux'."\n" + .'* Qboot'."\n" + .'* Windows'."\n" + .'* WindowsCore'."\n" + ."\n" + .'Default value: `CentOS`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'CentOS', + ], + 'os_type' => [ + 'title' => '操作系统平台类型。该参数已废弃,Kubernetes类型集群控制面节点请使用control_plane_config.image_type,节点池请使用scaling_group.image_type。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `image_type` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `image_type` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The type of OS. Valid values:'."\n" + ."\n" + .'* Windows'."\n" + .'* Linux'."\n" + ."\n" + .'Default value: `Linux`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Linux', + ], + 'soc_enabled' => [ + 'title' => '等保安全加固。该参数已废弃,Kubernetes类型集群控制面节点请使用control_plane_config.soc_enabled,节点池请使用scaling_group.soc_enabled。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `soc_enabled` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `soc_enabled` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'Specifies whether to enable Multi-Level Protection Scheme (MLPS) security hardening. For more information, see [ACK security hardening based on MLPS](~~196148~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `true`: enables MLPS security hardening.'."\n" + .'* `false`: disables MLPS security hardening.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.security_hardening_os,节点池请使用scaling_group.security_hardening_os。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `security_hardening_os` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `security_hardening_os` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'Specifies whether to enable Alibaba Cloud Linux Security Hardening. Valid values:'."\n" + ."\n" + .'* `true`: enables Alibaba Cloud Linux Security Hardening.'."\n" + .'* `false`: disables Alibaba Cloud Linux Security Hardening.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'cis_enabled' => [ + 'title' => '【已废弃】该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.security_hardening_os,节点池请使用scaling_group.security_hardening_os。', + 'description' => '\\[Deprecated] When you configure the control plane, use the `security_hardening_os` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `security_hardening_os` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'cpu_policy' => [ + 'title' => '该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.cpu_policy,节点池请使用kubernetes_config.cpu_policy。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `cpu_policy` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `cpu_policy` parameter of the `kubernetes_config` field in the `nodepool` section instead.'."\n" + ."\n" + .'The CPU management policy of the node. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n" + ."\n" + .'Default value: `none`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'none', + ], + 'node_port_range' => [ + 'title' => '节点服务端口范围', + 'description' => 'The node port range. Valid values: 30000 to 65535.'."\n" + ."\n" + .'Default value: `30000-32767`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30000~32767 ', + 'deprecated' => true, + ], + 'master_vswitch_ids' => [ + 'title' => '集群Master节点使用的虚拟交换机。该参数已废弃,请使用vswitch_ids。', + 'description' => '\\[**Deprecated**] Use the `vswitch_ids` parameter instead.'."\n" + ."\n" + .'The IDs of the vSwitches that are specified for master nodes. You can specify up to three vSwitches. We recommend that you specify three vSwitches in different zones to ensure high availability.'."\n" + ."\n" + .'The number of vSwitches must be the same as the value of the `master_count` parameter and also the same as the number of vSwitches specified in the `master_vswitch_ids` parameter.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the vSwitches that are specified for master nodes. You can specify up to three vSwitches. We recommend that you specify three vSwitches in different zones to ensure high availability.'."\n" + ."\n" + .'The number of vSwitches must be the same as the value of the `master_count` parameter and also the same as the number of vSwitches specified in the `master_vswitch_ids` parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze3ds0mdip0hdz8i****', + ], + 'deprecated' => true, + 'required' => false, + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.key_pair,节点池请使用scaling_group.key_pair。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `key_pair` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `key_pair` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The name of the key pair. You must configure this parameter or `login_password`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'secrity-key', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。密码规则为8~30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号),和key_pair二选一。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.login_password,节点池请使用scaling_group.login_password。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `login_password` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `login_password` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The password for SSH logon. You must set this parameter or `key_pair`. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Hello@1234', + ], + 'master_count' => [ + 'title' => '集群Master节点数量。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.size。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `size` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The number of master nodes. Valid values: `3` and `5`.'."\n" + ."\n" + .'Default value: `3`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '3', + ], + 'master_instance_types' => [ + 'title' => '集群Master节点类型。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.instance_types。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `instance_types` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The instance types of master nodes. For more information, see [Overview of instance families](~~25378~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance types of master nodes. The number of instance types must be the same as the value of the `master_count` parameter and also the same as the number of instance types specified in the `master_instance_types` parameter. For more information, see [Instance families](~~25378~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.n4.xlarge', + ], + 'deprecated' => true, + 'required' => false, + ], + 'master_system_disk_category' => [ + 'title' => '集群Master节点系统盘类型。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.system_disk_category。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `system_disk_category` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The system disk category of master nodes. Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise SSD (ESSD).'."\n" + ."\n" + .'Default value: `cloud_ssd`. The default value may vary in different zones.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'master_system_disk_size' => [ + 'title' => '集群Master节点系统盘大小,至少40。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.system_disk_size。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `system_disk_disk` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The system disk size of master nodes. Valid values: 40 to 500. Unit: GiB.'."\n" + ."\n" + .'Default value: `120`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '120', + ], + 'master_system_disk_performance_level' => [ + 'title' => 'Master节点系统盘磁盘性能,只针对ESSD磁盘生效。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.system_disk_performance_level。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `system_disk_performance_level` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The performance level (PL) of the system disk that you want to use for master nodes. This parameter takes effect only for ESSDs. For more information about the relationship between disk PLs and disk sizes, see [ESSDs](~~122389~~).'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PL1', + ], + 'master_system_disk_snapshot_policy_id' => [ + 'title' => '集群Master节点自动快照备份策略。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.system_disk_snapshot_policy_id。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `system_disk_snapshot_policy_id` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The ID of the automatic snapshot policy that is used by the system disk specified for master nodes.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sp-2zej1nogjvovnz4z****', + ], + 'master_instance_charge_type' => [ + 'title' => '集群Master节点付费类型。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.instance_charge_type。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `instance_charge_type` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The billing method of master nodes. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: `PostPaid`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PrePaid', + ], + 'master_period_unit' => [ + 'title' => '集群Master节点包年包月周期。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.period_unit。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `period_unit` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The billing cycle of the master nodes in the cluster. This parameter is required if master_instance_charge_type is set to `PrePaid`.'."\n" + ."\n" + .'Valid value: `Month`, which indicates that master nodes are billed only on a monthly basis.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Month', + ], + 'master_period' => [ + 'title' => '集群Master节点包年包月时长。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.period。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `unit` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The subscription duration of master nodes. This parameter takes effect and is required only when `master_instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'Valid values: 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'master_auto_renew' => [ + 'title' => '集群Master节点是否自动续费。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.auto_renew。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `auto-renew` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'Specifies whether to enable auto-renewal for master nodes. This parameter takes effect only when `master_instance_charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'master_auto_renew_period' => [ + 'title' => '集群Master节点自动续费时长。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.auto_renew_period。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `auto-renew_period` parameter in the `control_plane_config` section instead.'."\n" + ."\n" + .'The auto-renewal duration. This parameter takes effect and is required only when the subscription billing method is selected for master nodes.'."\n" + ."\n" + .'Valid values: 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'num_of_nodes' => [ + 'title' => '集群Worker节点数量。该参数已废弃,请使用节点池scaling_group.desired_size。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `desired_size` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The number of worker nodes. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '3', + ], + 'worker_vswitch_ids' => [ + 'title' => '集群Worker节点所在虚拟交换机。该参数已废弃,请使用节点池scaling_group.vswitch_ids。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `vswitch_ids` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The vSwitches for worker nodes. Each worker node is allocated a vSwitch.'."\n" + ."\n" + .'`worker_vswitch_ids` is optional, but `vswitch_ids` is required if you create an ACK managed cluster that does not contain nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitches for worker nodes. You can specify 1 to 20 vSwitches. We recommend that you select vSwitches in different zones to ensure high availability.'."\n" + ."\n" + .'`worker_vswitch_ids` is optional but `vswitch_ids` is required if you create an ACK managed cluster that does not contain nodes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze3ds0mdip0hdz8i****', + ], + 'deprecated' => true, + 'required' => false, + ], + 'worker_instance_types' => [ + 'title' => '集群Worker节点类型。该参数已废弃,请使用节点池scaling_group.instance_types。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `instance_types` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The instance configurations of worker nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance types of worker nodes. You must specify at least one instance type. For more information, see [Overview of instance families](~~25378~~).'."\n" + ."\n" + .'> The instance types are listed in descending order of priority. If the system fails to create worker nodes with the instance type of the highest priority, the system attempts to create worker nodes with the instance type of the next highest priority.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.n4.large', + ], + 'deprecated' => true, + 'required' => false, + ], + 'worker_system_disk_category' => [ + 'title' => '集群Worker节点系统盘类型。该参数已废弃,请使用节点池scaling_group.system_disk_category。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `system_disk_category` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The system disk category of worker nodes. For more information, see [Elastic Block Storage devices](~~63136~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + ."\n" + .'Default value: `cloud_ssd`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'cloud_efficiency', + ], + 'worker_system_disk_size' => [ + 'title' => '集群Worker节点系统盘大小。该参数已废弃,请使用节点池scaling_group.system_disk_size。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `system_disk_size` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The system disk size of worker nodes. Unit: GiB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'The value of this parameter must be at least 40 and greater than or equal to the image size.'."\n" + ."\n" + .'Default value: `120`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '120', + ], + 'worker_system_disk_snapshot_policy_id' => [ + 'title' => '集群Worker节点系统盘快照备份策略。该参数已废弃,请使用节点池scaling_group.system_disk_snapshot_policy_id。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `system_disk_snapshot_policy_id` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The ID of the automatic snapshot policy that is used by the system disk specified for worker nodes.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sp-2zej1nogjvovnz4z****', + ], + 'worker_system_disk_performance_level' => [ + 'title' => '集群Worker节点磁盘性能,只对ESSD类型磁盘生效。该参数已废弃,请使用节点池scaling_group.system_disk_performance_level。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `system_disk_performance_level` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'If the system disk is an ESSD, you can specify the PL of the ESSD. For more information, see [Enterprise SSDs](~~122389~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* PL0'."\n" + .'* PL1'."\n" + .'* PL2'."\n" + .'* PL3'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PL1', + ], + 'worker_data_disks' => [ + 'title' => '集群Worker节点数据盘配置。该参数已废弃,请使用节点池scaling_group.data_disks。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `data_disks` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The configurations of the data disks that you want to mount to worker nodes. The configurations include the disk category and disk size.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of data disks.'."\n", + 'type' => 'object', + 'properties' => [ + 'category' => [ + 'title' => '集群Worker节点数据盘类型', + 'description' => 'The data disk category.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cloud_essd', + ], + 'encrypted' => [ + 'title' => '集群Worker节点数据盘是否加密', + 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'* `true`: encrypts the data disk.'."\n" + .'* `false`: does not encrypt the data disk.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + 'size' => [ + 'title' => '集群Worker节点数据盘大小', + 'description' => 'The data disk size. Valid values: 40 to 32767. Unit: GiB.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '120', + ], + 'performance_level' => [ + 'title' => '集群Worker节点数据盘磁盘性能等级,仅对ESSD磁盘生效', + 'description' => 'The PL of the data disk. This parameter takes effect only for ESSDs. You can specify a higher PL if you increase the size of a data disk. For more information, see [Enterprise SSDs](~~122389~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + 'required' => false, + ], + 'deprecated' => true, + 'required' => false, + ], + 'worker_instance_charge_type' => [ + 'title' => '集群Worker节点付费类型。该参数已废弃,请使用节点池scaling_group.instance_charge_type。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `instance_charge_type` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The billing method of worker nodes. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: PostPaid.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PrePaid', + ], + 'worker_period_unit' => [ + 'title' => '集群Worker节点包年包月周期。该参数已废弃,请使用节点池scaling_group.period_unit。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `period_unit` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The billing cycle of worker nodes. This parameter is required if worker_instance_charge_type is set to `PrePaid`.'."\n" + ."\n" + .'Valid value: `Month`, which indicates that worker nodes are billed only on a monthly basis.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Month', + ], + 'worker_period' => [ + 'title' => '集群Worker节点包年包月时长。该参数已废弃,请使用节点池scaling_group.period。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `period` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The subscription duration of worker nodes. This parameter takes effect and is required only when `worker_instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'Valid values: 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'worker_auto_renew' => [ + 'title' => '集群Worker节点到期是否自动续费。该参数已废弃,请使用节点池scaling_group.auto_renew。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `auto_renew` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'Specifies whether to enable auto-renewal for worker nodes. This parameter takes effect and is required only when `worker_instance_charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'worker_auto_renew_period' => [ + 'title' => '集群Worker节点自动续费时长。该参数已废弃,请使用节点池scaling_group.auto_renew_period。', + 'description' => '\\[**Deprecated**] When you configure a node pool, use the `auto_renew_period` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The auto-renewal duration of worker nodes. This parameter takes effect and is required only if the subscription billing method is selected for worker nodes.'."\n" + ."\n" + .'Valid values: 1, 2, 3, 6, and 12.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'instances' => [ + 'title' => '使用已有节点创建集群时,已有实例列表。该参数已废弃,请先创建节点池,并通过AttachInstancesToNodePool操作', + 'description' => '\\[**Deprecated**] When you configure a node pool, you cannot add existing nodes to the cluster. If you want to add existing nodes, you must first create a node pool and then call the [AttachInstancesToNodePool](~~2667920~~) operation.'."\n" + ."\n" + .'The existing ECS instances that are specified as worker nodes for the cluster.'."\n" + ."\n" + .'> This parameter is required if you create worker nodes on existing ECS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The existing ECS instances that are specified as worker nodes for the cluster.'."\n" + ."\n" + .'> This parameter is required if you create worker nodes on existing ECS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-2ze4zxnm36vq00xn****', + ], + 'deprecated' => true, + 'required' => false, + ], + 'format_disk' => [ + 'title' => '使用已有节点创建集群时,是否格式化已有实例的磁盘。该参数已废弃,请先创建节点池,并通过AttachInstancesToNodePool操作', + 'description' => '\\[**Deprecated**] When you configure a node pool, you cannot add existing nodes to the cluster. If you want to add existing nodes, you must first create a node pool and then call the [AttachInstancesToNodePool](~~2667920~~) operation.'."\n" + ."\n" + .'Specifies whether to mount a data disk to a node that is created based on an existing ECS instance. Valid values:'."\n" + ."\n" + .'* `true`: stores the data of containers and images on a data disk. The existing data stored in the data disk is lost. Back up the existing data first.'."\n" + .'* `false`: does not store the data of containers and images on a data disk.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'How data disks are mounted:'."\n" + ."\n" + .'* If an ECS instance has data disks mounted and the file system of the last data disk is not initialized, the system automatically formats the data disk to ext4. Then, the system mounts the data disk to /var/lib/docker and /var/lib/kubelet.'."\n" + .'* If no data disk is mounted to the ECS instance, the system does not purchase a new data disk.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'keep_instance_name' => [ + 'title' => '使用已有节点创建集群时,是否保留实例名称。该参数已废弃,请先创建节点池,并通过AttachInstancesToNodePool操作', + 'description' => '\\[**Deprecated**] When you configure a node pool, you cannot add existing nodes to the cluster. If you want to add existing nodes, you must first create a node pool and then call the [AttachInstancesToNodePool](~~2667920~~) operation.'."\n" + ."\n" + .'Specifies whether to retain the names of existing ECS instances that are used in the cluster. Valid values:'."\n" + ."\n" + .'* `true`: retains the names.'."\n" + .'* `false`: does not retain the names. The system assigns new names.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'service_discovery_types' => [ + 'title' => '创建ACK Serverless集群时,服务发现类型。', + 'description' => 'The methods for implementing service discovery in `ACK Serverless` clusters.'."\n" + ."\n" + .'* `CoreDNS`: a standard service discovery plug-in that is provided by open source Kubernetes. To use DNS resolution, you must provision pods. By default, two elastic container instances are used. The specification of each instance is 0.25 vCores and 512 MiB of memory.'."\n" + .'* `PrivateZone`: a DNS resolution service provided by Alibaba Cloud. You must activate Alibaba Cloud DNS PrivateZone before you can use it for service discovery.'."\n" + ."\n" + .'By default, this parameter is not specified.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The methods for implementing service discovery in `ACK Serverless` clusters.'."\n" + ."\n" + .'* `CoreDNS`: a standard service discovery plug-in provided by open source Kubernetes. To use DNS resolution, you must provision pods. By default, two elastic container instances are used. The specification of each instance is 0.25 vCores and 512 MiB of memory.'."\n" + .'* `PrivateZone`: a DNS resolution service provided by Alibaba Cloud. You must activate Alibaba Cloud DNS PrivateZone before you can use it for service discovery.'."\n" + ."\n" + .'By default, this parameter is not specified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrivateZone', + ], + 'required' => false, + 'deprecated' => true, + ], + 'nat_gateway' => [ + 'title' => '使用自动创建专有网络创建ACK Serverless集群时,是否在vpc中创建Nat网关并配置SNAT规则。', + 'description' => '\\[Deprecated] Use the `snat_entry` parameter instead.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'deprecated' => true, + ], + 'zone_id' => [ + 'title' => '使用自动创建专有网络创建ACK集群时,需要指定专有网络的可用区。该参数已废弃,请使用zone_ids指定可用区。', + 'description' => '\\[Deprecated] Use the `zone_ids` parameter instead.'."\n" + ."\n" + .'The ID of the zone to which the cluster belongs. This parameter is specific to ACK Serverless clusters.'."\n" + ."\n" + .'When you create an ACK managed cluster, you must set the `zone_id` parameter if `vpc_id` and `vswitch_ids` are not specified. This way, the system automatically creates a VPC in the specified zone. This parameter is invalid if you specify the `vpc_id` and `vswitch_ids` parameters.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'cn-beiji****', + ], + 'logging_type' => [ + 'title' => 'ASK 集群开启日志服务', + 'description' => 'Enables Simple Log Service for the cluster. This parameter takes effect only for ACK Serverless clusters. Set the value to `SLS`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SLS', + 'deprecated' => true, + ], + 'disable_rollback' => [ + 'title' => '该参数已废弃,集群创建失败时默认不会进行回滚操作,您需要自行清理失败的集群。', + 'description' => '\\[**Deprecated**] By default, the system does not perform a rollback when the cluster fails to be created. You must manually delete the cluster that fails to be created.'."\n" + ."\n" + .'Specifies whether to perform a rollback when the cluster fails to be created. Valid values:'."\n" + ."\n" + .'* `true`: performs a rollback when the cluster fails to be created.'."\n" + .'* `false`: does not perform a rollback when the cluster fails to be created.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'timeout_mins' => [ + 'title' => '集群创建超时时间。该参数已废弃。', + 'description' => '\\[**Deprecated**] By default, the system does not perform a rollback when the cluster fails to be created. You must manually delete the cluster that fails to be created.'."\n" + ."\n" + .'Specifies the timeout period of cluster creation. Unit: minutes.'."\n" + ."\n" + .'Default value: `60`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '60', + ], + 'image_type' => [ + 'title' => '操作系统镜像类型。该参数已废弃,Kubernetes类型集群控制面请使用control_plane_config.image_type,节点池请使用scaling_group.image_type。', + 'description' => '\\[**Deprecated**] When you configure the control plane, use the `image_type` parameter in the `control_plane_config` section instead. When you configure a node pool, use the `image_type` parameter of the `scaling_group` field in the `nodepool` section instead.'."\n" + ."\n" + .'The type of OS distribution that you want to use. To specify the node OS, we recommend that you use this parameter. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* AliyunLinux'."\n" + .'* AliyunLinux Qboot'."\n" + .'* AliyunLinuxUEFI'."\n" + .'* AliyunLinux3'."\n" + .'* Windows'."\n" + .'* WindowsCore'."\n" + .'* AliyunLinux3Arm64'."\n" + .'* ContainerOS'."\n" + ."\n" + .'Default value: `CentOS`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'AliyunLinux', + ], + 'load_balancer_spec' => [ + 'title' => '负载均衡规格。【已废弃】CLB按使用量计费,该参数不生效。', + 'description' => '\\[**Deprecated**] The pay-as-you-go billing method is used by Classic Load Balancer (CLB) instances. This parameter does not take effect.'."\n" + ."\n" + .'The specification of the Server Load Balancer (SLB) instance. Valid values:'."\n" + ."\n" + .'* slb.s1.small'."\n" + .'* slb.s2.small'."\n" + .'* slb.s2.medium'."\n" + .'* slb.s3.small'."\n" + .'* slb.s3.medium'."\n" + .'* slb.s3.large'."\n" + ."\n" + .'Default value: `slb.s2.small`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'slb.s2.small', + ], + 'enable_rrsa' => [ + 'title' => '启用 RRSA 功能', + 'description' => 'Specifies whether to enable the RAM Roles for Service Accounts (RRSA) feature.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'deprecated' => true, + ], + 'charge_type' => [ + 'title' => '付费类型。', + 'description' => '\\[**Deprecated**]'."\n" + ."\n" + .'The billing method of the CLB instance that is used by the API server. Default value: PostPaid. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go.'."\n" + .'* PrePaid: subscription. This billing method is not supported by newly created CLB instances. Existing CLB instances are not affected.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter was changed on October 15, 2024. For more information, see [Announcement on changes to the parameter behavior of the CreateCluster operation](~~2849194~~).'."\n" + ."\n" + .'* Starting from December 1, 2024, newly created CLB instances no longer support the subscription billing method, and an instance fee will be charged for newly created CLB instances'."\n" + ."\n" + .'For more information, see [CLB billing adjustments](~~2839797~~).'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '包年包月时间单位。', + 'description' => '\\[**Deprecated**]'."\n" + ."\n" + .'The billing cycle. This parameter is required if charge_type is set to PrePaid.'."\n" + ."\n" + .'Valid value: Month, which indicates that resources are billed only on a monthly basis.'."\n" + ."\n" + .'This parameter was changed on October 15, 2024. For more information, see [Announcement on changes to the parameter behavior of the CreateCluster operation](~~2849194~~).'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Month', + ], + 'period' => [ + 'title' => '包年包月时间。', + 'description' => '\\[**Deprecated**]'."\n" + ."\n" + .'The subscription duration. This parameter takes effect and is required only when you set charge_type to PrePaid.'."\n" + ."\n" + .'Valid values: 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'This parameter was changed on October 15, 2024. For more information, see [Announcement on changes to the parameter behavior of the CreateCluster operation](~~2849194~~).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => 'FY2023', + ], + 'auto_renew' => [ + 'title' => '是否开启自动续费。', + 'description' => '\\[**Deprecated**]'."\n" + ."\n" + .'Specifies whether to enable auto-renewal. This parameter takes effect only when `charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'This parameter was changed on October 15, 2024. For more information, see [Announcement on changes to the parameter behavior of the CreateCluster operation](~~2849194~~).'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '自动续费周期。', + 'description' => '\\[**Deprecated**]'."\n" + ."\n" + .'The auto-renewal duration. This parameter takes effect only if charge_type is set to PrePaid and auto_renew is set to true. If you set `period_unit` to Month, the valid values of auto_renew_period are 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'This parameter was changed on October 15, 2024. For more information, see [Announcement on changes to the parameter behavior of the CreateCluster operation](~~2849194~~).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'access_control_list' => [ + 'description' => 'The network access control list (ACL) rule of the SLB instance associated with the API server if the cluster is a registered cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ACL rule of the SLB instance associated with the API server if the cluster is a registered cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.1.0/24'."\n", + ], + 'required' => false, + 'deprecated' => true, + ], + ], + 'required' => false, + 'example' => 'cluster-demo', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314A1E1', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea00002f', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea****\\"\\n}","errorExample":""},{"type":"xml","example":"<cluster_id>cb95aa626a47740afbf6aa099b650****</cluster_id>\\n<task_id>T-5a54309c80282e39ea00002f</task_id>\\n<request_id>687C5BAA-D103-4993-884B-C35E4314A1E1</request_id>","errorExample":""}]', + 'title' => 'CreateCluster', + 'description' => '### [](#-openapi-)Generate API request parameters through the ACK console'."\n" + ."\n" + .'When calling the CreateCluster operation to create a cluster, if the API call fails due to invalid parameter settings, you can generate valid request parameters through the ACK console. Follow these steps:'."\n" + ."\n" + .'1. Log on to the [ACK console](https://csnew.console.aliyun.com). In the left-side navigation pane, click **Clusters**.'."\n" + ."\n" + .'2. On the **Clusters** page, click **Cluster Templates**.'."\n" + ."\n" + .'3. In the Select Cluster Template dialog box, select the type of cluster you want to create and click Create. Then, configure the cluster parameters.'."\n" + ."\n" + .'4. In the **Confirm** step, click **Generate API Request Parameters**.'."\n" + ."\n" + .' The API request parameters are displayed in the API Request Parameters dialog box.'."\n", + 'translator' => 'machine', + ], + 'DeleteCluster' => [ + 'summary' => 'You can call the DeleteCluster operation to delete a cluster and specify whether to delete or retain the relevant cluster resources. Before you delete a cluster, you must manually delete workloads in the cluster, such as Deployments, StatefulSets, Jobs, and CronJobs. Otherwise, you may fail to delete the cluster.', + 'path' => '/clusters/{ClusterId}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '409', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c905d1364c2dd4b6284a3f41790c4****', + ], + ], + [ + 'name' => 'retain_all_resources', + 'in' => 'query', + 'schema' => [ + 'title' => '是否保留所有资源,如果设置了该值,将会忽略retain_resources。默认值:false。', + 'description' => 'Specifies whether to retain all resources. If you set the parameter to `true`, the `retain_resources` parameter is ignored. The cloud resources that are created by the cluster are retained. You can call the `DescribeClusterResources` operation to query cloud resources created by the cluster. If you set the parameter to `false`, resources to be retained by default in the `delete_options` parameter are still retained. To delete these resources, set `delete_mode` to `delete` in `delete_options`.'."\n" + ."\n" + .'* `true`: retains all resources, including cloud resources created by the cluster.'."\n" + .'* `false`: does not retain all resources. Resources to be retained by default in the `delete_options` parameter are retained. For example, `ALB` instances are retained when this parameter is set to `false`.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'keep_slb', + 'in' => 'query', + 'schema' => [ + 'title' => '是否保留通过service创建的负载均衡SLB实例。默认值:false。'."\n" + .'已废弃,建议使用delete_options替代。', + 'description' => 'Specifies whether to retain the Server Load Balancer (SLB) resources that are created by the cluster.'."\n" + ."\n" + .'* `true`: retains the SLB instances that are created by the cluster.'."\n" + .'* `false`: does not retain the SLB instances that are created by the cluster.'."\n" + ."\n" + .'Default value: `false`. Set resource_type to `SLB` in the `delete_options` parameter to manage SLB instances.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'retain_resources', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '要保留的资源列表。', + 'description' => 'The list of resources. To retain resources when you delete a cluster, you need to specify the IDs of the resources to be retained.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sg-2ze6ess9kho6fdn9****', + ], + 'required' => false, + ], + ], + [ + 'name' => 'delete_options', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '集群关联资源的删除选项。', + 'description' => 'The type of cluster resource that you want to delete or retain.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '特定类型资源的删除选项。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'resource_type' => [ + 'title' => '资源类型,可取值:'."\n" + .'- SLB:通过service创建的SLB资源,默认删除,可选择保留'."\n" + .'- ALB:ALB Ingress Controller创建的ALB资源,默认保留,可选择删除'."\n" + .'- SLS_Data:集群日志功能所使用的日志服务Project,默认保留,可选择删除'."\n" + .'- SLS_ControlPlane:托管版集群控制平面日志所使用的日志服务Project,默认保留,可选择删除'."\n" + .'- PrivateZone:ACK Serverless集群创建的PrivateZone资源,默认保留,可选择删除', + 'description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'* SLB: SLB resources created for Services. By default, the SLB resources are automatically deleted.'."\n" + .'* ALB: Application Load Balancer (ALB) resources created by the ALB Ingress controller. By default, the ALB resources are retained.'."\n" + .'* SLS_Data: Simple Log Service projects used by the cluster logging feature. By default, the Simple Log Service projects are retained.'."\n" + .'* SLS_ControlPlane: Simple Log Service projects used to store the logs of control planes in ACK managed clusters. By default, the Simple Log Service projects are retained.'."\n" + .'* PrivateZone: PrivateZone resources created by ACK Serverless clusters. By default, the PrivateZone resources are retained.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SLS_Data', + ], + 'delete_mode' => [ + 'title' => '该类型资源的删除策略,可取值:'."\n" + .'- delete:删除该类资源'."\n" + .'- retain:保留该类资源', + 'description' => 'The deletion policy for the specified type of resource. Valid values:'."\n" + ."\n" + .'* delete: deletes the specified type of resource.'."\n" + .'* retain: retains the specified type of resource.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'delete', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea****', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteClusterResponse>\\n <task_id>T-5a54309c80282e39ea****</task_id>\\n</DeleteClusterResponse>","errorExample":""}]', + 'title' => 'DeleteCluster', + 'description' => 'Warning:'."\n" + ."\n" + .'* Subscription ECS instances and Lingjun nodes in a cluster cannot be automatically released. To avoid unnecessary costs, we recommend that you manually release the resources. For more information, see \\<a href="{0}" target="\\_blank">Rules for deleting clusters and releasing nodes\\</a>.'."\n" + .'* If the SLB instance of the API server uses the subscription billing method, it cannot be automatically released. To avoid unnecessary costs, we recommend that you manually release it.'."\n" + .'* By default, virtual private clouds (VPCs), vSwitches, security groups, and RAM roles are retained if they are used by other resources. To avoid unnecessary costs, we recommend that you manually release the resources.'."\n" + .'* Elastic container instances created on virtual nodes are automatically released.'."\n" + .'* Some resources created together with a cluster are not automatically released when the cluster is deleted. After the cluster is deleted, you are still charged for the resources. Release or retain the resources based on your actual needs. The resources include Simple Log Service projects automatically created by the cluster and dynamically provisioned disks.'."\n", + ], + 'ModifyCluster' => [ + 'summary' => 'You can call the ModifyCluster operation to modify the cluster configurations by cluster ID.', + 'path' => '/api/v2/clusters/{ClusterId}', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '384', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cb95aa626a47740afbf6aa099b65****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'api_server_eip' => [ + 'title' => '集群是否绑定EIP,用于公网访问API Server。 true | false', + 'description' => 'Specifies whether to associate an elastic IP address (EIP) with the cluster. This EIP is used to enable access to the API server over the Internet. Valid values:'."\n" + ."\n" + .'* `true`: associates an EIP with the cluster.'."\n" + .'* `false`: does not associate an EIP with the cluster.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'api_server_eip_id' => [ + 'title' => '集群API Server 公网连接端点。', + 'description' => 'The ID of the EIP that you want to associate with the API server of the cluster. This parameter takes effect when `api_server_eip` is set to `true`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eip-wz9fnasl6dsfhmvci****', + ], + 'deletion_protection' => [ + 'title' => '集群是否开启删除保护。默认值false。', + 'description' => 'Specifies whether to enable cluster deletion protection. If you enable this option, the cluster cannot be deleted in the console or by calling API operations. Valid values:'."\n" + ."\n" + .'* `true`: enables cluster deletion protection.'."\n" + .'* `false`: disables cluster deletion protection.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'resource_group_id' => [ + 'title' => '集群资源组ID。', + 'description' => 'The resource group ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmyvw3wjm****', + ], + 'maintenance_window' => [ + 'description' => 'The cluster maintenance window. This feature takes effect only for ACK Pro clusters.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/maintenance_window', + ], + 'enable_rrsa' => [ + 'title' => '启用或禁用 RRSA 功能(只有托管版集群支持配置该参数)。true: 启用,false: 禁用', + 'description' => 'Specifies whether to enable the RAM Roles for Service Accounts (RRSA) feature. This parameter is available only for ACK managed clusters. Valid values:'."\n" + ."\n" + .'* `true`: enables the RRSA feature.'."\n" + .'* `false`: disables the RRSA feature.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'access_control_list' => [ + 'description' => 'The network access control list (ACL) of the SLB instance associated with the API server if the cluster is a registered cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ACL of the SLB instance associated with the API server if the cluster is a registered cluster.'."\n" + ."\n" + .'**Note**: Do not specify the 0.0.0.0/0 CIDR block.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.1.0/24', + ], + 'required' => false, + 'deprecated' => true, + ], + 'cluster_name' => [ + 'title' => '集群名称。', + 'description' => 'The cluster name.'."\n" + ."\n" + .'The cluster name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). The cluster name cannot start with a hyphen (-).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster-new-name', + ], + 'system_events_logging' => [ + 'title' => '系统事件存储配置。', + 'description' => 'The storage configurations of system events.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启系统事件存储。', + 'description' => 'Specifies whether to enable system event storage.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'logging_project' => [ + 'title' => '系统事件存储的LogProject名称。', + 'description' => 'The name of the Simple Log Service project that stores system events.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-log-cb95aa626a47740afbf6aa099b65****', + ], + ], + 'required' => false, + ], + 'operation_policy' => [ + 'title' => '集群自动运维策略。', + 'description' => 'The automatic O\\&M policy of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_auto_upgrade' => [ + 'title' => '集群自动升级。', + 'description' => 'The configurations of automatic update.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启集群自动升级。', + 'description' => 'Specifies whether to enable automatic update.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'channel' => [ + 'title' => '集群自动升级频次。可取值:'."\n" + .'- patch'."\n" + .'- stable'."\n" + .'- rapid', + 'description' => 'The frequency of auto cluster update. For more information, see [Update frequency](~~2712866~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* patch: the latest patch version.'."\n" + .'* stables: the second-latest minor version.'."\n" + .'* rapid: the latest minor version.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'patch', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'api_server_custom_cert_sans' => [ + 'title' => '自定义ApiServer证书SAN(只有托管版集群支持配置该参数)。', + 'description' => 'The custom subject alternative names (SANs) for the API server certificate to accept requests from specified IP addresses or domain names. This parameter is available only for ACK managed clusters.'."\n", + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'title' => '覆盖或追加SAN配置。overwrite: 覆盖,append: 追加', + 'description' => 'Specifies whether to overwrite or add SANs. Valid values:'."\n" + ."\n" + .'* overwrite: overwrites SANs.'."\n" + .'* append: adds SANs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'append', + 'enum' => [ + 'append', + 'overwrite', + ], + ], + 'subject_alternative_names' => [ + 'title' => 'SAN列表', + 'description' => 'The list of SANs.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => 'SAN', + 'description' => 'The SAN.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.119', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'vswitch_ids' => [ + 'title' => '控制面交换机。适用于托管类集群,请注意以下事项:'."\n" + .'- 该参数为覆盖更新,需完全指定目标交换机列表。'."\n" + .'- 变更过程控制面组件会短暂重启,请谨慎操作。'."\n" + .'- 请确保集群所有安全组(包括控制面安全组、所有节点池的安全组、容器网络使用的安全组)的出入方向已放行新的虚拟交换机的 IP 网段,避免节点与容器无法连接 API server。'."\n" + .'- 如新的控制面交换机配置了 ACL 规则,请确保该 ACL 规则已经放行其与集群节点、容器网络等 IP 网段的通信。', + 'description' => 'The vSwitches of the control plane. This parameter can be used to change the vSwitches of the control plane in an ACK managed cluster. Take note of the following items:'."\n" + ."\n" + .'* This parameter overwrites the existing configuration. You must specify all vSwitches of the control plane.'."\n" + .'* The control plane components restarts during the change process. Exercise caution when you perform this operation.'."\n" + .'* Ensure that all security groups of the cluster, including the security groups of the control plane, all node pools, and container network, are allowed to access the CIDR blocks of the new vSwitches. This ensures that the nodes and containers can connect to the API server.'."\n" + .'* If the new vSwitches of the control plane are configured with an ACL, ensure that the ACL allows communication between the new vSwitches and CIDR blocks such as those of the cluster nodes and the container network.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitches of the control plane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze4jvvvade1yk899****', + ], + 'required' => false, + ], + 'control_plane_config' => [ + 'title' => '专有版集群控制面配置。', + 'description' => 'The control plane configurations of an ACK dedicated cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'charge_type' => [ + 'title' => '控制面节点付费类型。', + 'description' => 'The billing method of control plane nodes. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: `PostPaid`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + 'period' => [ + 'title' => '节点包年包月时间。', + 'description' => 'The subscription duration of the instance. This parameter takes effect and is required only when `charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'If `PeriodUnit=Month` is specified, the valid values are 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '节点包年包月时间单位。', + 'description' => 'The billing cycle of control plane nodes. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'Set the value to `Month`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点是否自动续费。', + 'description' => 'Specifies whether to enable auto-renewal for control plane nodes. This parameter takes effect only when `charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '节点自动续费时长。', + 'description' => 'The auto-renewal period of control plane nodes. Valid values: 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'instance_types' => [ + 'title' => '节点实例类型。', + 'description' => 'The type of instance. For more information, see [Overview of ECS instance families](~~25378~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + 'required' => false, + ], + 'image_type' => [ + 'title' => '操作系统镜像类型。', + 'description' => 'The type of the OS image. Valid values:'."\n" + ."\n" + .'* `AliyunLinux3`: Alibaba Cloud Linux 3.'."\n" + .'* `Custom`: the custom image.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunLinux3', + ], + 'image_id' => [ + 'title' => '镜像id', + 'description' => 'The custom image ID. You must configure this parameter if you use a custom image.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd', + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must configure either this parameter or the `login_password` parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。密码规则为8~30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号),和key_pair二选一。', + 'description' => 'The password for SSH logon. You must configure either this parameter or the `key_pair` parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. To log on with a password, you must specify this parameter during the scale-out.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Ack@2000.', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The category of the system disk for nodes. Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk.'."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise ESSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小,至少40。', + 'description' => 'The type of the system disk. Valid values: \\[40,500]. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '120', + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '节点自动快照备份策略。', + 'description' => 'The ID of the automatic snapshot policy applied to the node system disk.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sp-2zej1nogjvovnz4z****', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效。', + 'description' => 'The performance level (PL) of the system disk that you want to use for the node. This parameter is effective only for ESSDs. This parameter is related to the disk size. For more information, see [ESSDs](~~122389~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS。', + 'description' => 'The preset read/write input/output operations per second (IOPS) of the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发)。', + 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* `true`: enables the burst feature.'."\n" + .'* `false`: disables the burst feature.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The ID of the deployment set.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp10b35imuam5amw****', + ], + 'cloud_monitor_flags' => [ + 'title' => '是否为节点安装云监控。', + 'description' => 'Specifies whether to install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`: installs the CloudMonitor agent.'."\n" + .'* `false`: does not install the CloudMonitor agent.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保安全加固。', + 'description' => 'Specifies whether to enable Multi-Level Protection Scheme (MLPS) security hardening. For more information, see [ACK security hardening based on MLPS](~~196148~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `true`: enables MLPS security hardening.'."\n" + .'* `false`: disables MLPS security hardening.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Specifies whether to enable Alibaba Cloud Linux Security Hardening. Valid values:'."\n" + ."\n" + .'* `true`: enables Alibaba Cloud Linux Security Hardening.'."\n" + .'* `false`: disables Alibaba Cloud Linux Security Hardening.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'cpu_policy' => [ + 'title' => '节点CPU管理策略。', + 'description' => 'The CPU management policy of nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n" + ."\n" + .'Default value: `none`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + 'runtime' => [ + 'title' => '运行时名称。', + 'description' => 'The type of the container runtime. Valid values:'."\n" + ."\n" + .'* `containerd`: supports all Kubernetes versions. We recommend that you set the parameter to this value.'."\n" + ."\n" + .'Default value: containerd.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'containerd', + ], + 'node_port_range' => [ + 'title' => '节点服务端口范围。', + 'description' => 'The node port range.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30000-32767', + ], + 'size' => [ + 'title' => '控制面节点数量。', + 'description' => 'The number of control plane nodes. If you want to scale out the control plane in an ACK dedicated cluster, set this parameter to the desired number of nodes. This parameter must be greater than the current number of nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + ], + 'required' => false, + ], + 'security_group_id' => [ + 'title' => '控制面安全组Id。', + 'description' => 'The ID of the security group for the control plane. '."\n" + ."\n" + .'- If block rules are configured in the security group, ensure the security group rules allow traffic for protocols and ports required by the cluster. For recommended security group rules, see [Configure and manage security groups for an ACK cluster](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/user-guide/configure-security-group-rules-to-enforce-access-control-on-ack-clusters?spm=a2c63.p38356.help-menu-85222.d_2_0_4_3.43e35d09s8oSlR).'."\n" + ."\n" + .'- For non-ACK dedicated clusters: '."\n" + .' - During security group updates, the cluster control plane and managed components (e.g., terway-controlplane) will restart briefly. Perform this operation during off-peak hours.'."\n" + .' - After updating the control plane security group, the Elastic Network Interfaces (ENIs) used by the control plane and managed components will automatically join the new security group.'."\n" + ."\n" + .'- For ACK dedicated clusters:'."\n" + .' - After updating the control plane security group, newly scaled-out master nodes will automatically apply the new security group. Existing control plane nodes remain unaffected.', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1h6rk3pgct2a08***', + ], + 'timezone' => [ + 'title' => '集群时区。', + 'description' => 'The time zone configuration for the cluster.'."\n" + ."\n" + .'- After modifying the time zone, cluster inspection configurations will adopt the new time zone.'."\n" + ."\n" + .'- For ACK managed clusters:'."\n" + .' - During time zone updates, the cluster control plane and managed components (e.g., terway-controlplane) will restart briefly. Perform this operation during off-peak hours.'."\n" + .' - After updating the time zone:'."\n" + .' - Newly scaled-out nodes will automatically apply the new time zone.'."\n" + .' - Existing nodes remain unaffected. Reset the node to apply changes to existing nodes.'."\n" + ."\n" + .'- For ACK dedicated clusters:'."\n" + .' - After updating the time zone:'."\n" + .' - Newly scaled-out nodes (including control plane nodes) automatically apply the new time zone.'."\n" + .' - Existing nodes (including control plane nodes) remain unaffected. Reset the node to apply changes to existing nodes.'."\n" + .' - For control plane nodes, perform a scale-out followed by a scale-in to apply the new time zone to all control plane nodes.', + 'type' => 'string', + 'required' => false, + 'example' => 'Asia/Shanghai', + ], + 'control_plane_endpoints_config' => [ + 'title' => '集群连接配置。', + 'type' => 'object', + 'properties' => [ + 'internal_dns_config' => [ + 'title' => '集群内部域名配置,适用于ACK托管集群。集群内部域名用于 kubelet、kube-proxy 等节点侧系统组件访问 API Server;未开启集群内部域名访问时,节点侧系统组件将通过 CLB IP 方式访问。', + 'type' => 'object', + 'properties' => [ + 'bind_vpcs' => [ + 'title' => '集群内部域名记录解析生效的 VPC 范围,默认包括集群所在 VPC。注意:该参数为覆盖更新,需完整定义目标配置;指定为空数组(即[])时,配置清空。', + 'type' => 'array', + 'items' => [ + 'title' => '集群内部域名记录解析生效的 VPC。', + 'type' => 'string', + ], + ], + 'enabled' => [ + 'title' => '是否开启集群内部域名访问。 - true:开启集群内部域名访问,节点侧组件(kubelet、kube-proxy)将通过集群内部域名访问API Server。', + 'type' => 'boolean', + ], + ], + ], + ], + ], + 'instance_deletion_protection' => [ + 'title' => '实例删除保护,防止通过控制台或API误删除释放节点。', + 'description' => 'Specifies whether to enable instance deletion protection. If you enable this option, the instance cannot be deleted in the console or by calling API operations. Valid values:'."\n" + ."\n" + .'* `true`: enables instance deletion protection.'."\n" + .'* `false`: disables instance deletion protection.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'deprecated' => true, + ], + 'ingress_domain_rebinding' => [ + 'title' => '域名是否重新绑定到Ingress的SLB地址。', + 'description' => 'Specifies whether to remap the test domain name of the cluster. Valid values:'."\n" + ."\n" + .'* `true`: remaps the test domain name of the cluster.'."\n" + .'* `false`: does not remap the test domain name of the cluster.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'deprecated' => true, + ], + 'ingress_loadbalancer_id' => [ + 'title' => '集群的Ingress SLB的ID。', + 'description' => 'The ID of the Server Load Balancer (SLB) instance of the cluster to be modified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-wz97kes8tnndkpodw****', + 'deprecated' => true, + ], + ], + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa09****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea00****', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa09****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea00****\\"\\n}","errorExample":""},{"type":"xml","example":"<cluster_id>cb95aa626a47740afbf6aa09****</cluster_id>\\n<request_id>687C5BAA-D103-4993-884B-C35E4314****</request_id>\\n<task_id>T-5a54309c80282e39ea00****</task_id>","errorExample":""}]', + 'title' => 'ModifyCluster', + ], + 'UpgradeCluster' => [ + 'summary' => 'Outdated Kubernetes versions may have security and stability issues. We recommend that you update the Kubernetes version of your cluster at the earliest opportunity to enjoy the new features of the new Kubernetes version. You can call the UpgradeCluster operation to manually upgrade a cluster.', + 'path' => '/api/v2/clusters/{ClusterId}/upgrade', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '484', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster that you want to upgrade.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体', + 'description' => 'The request body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'component_name' => [ + 'title' => '组件名称,集群升级时取值"k8s"。', + 'description' => 'This parameter is deprecated. No need to pass values.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'k8s', + ], + 'next_version' => [ + 'title' => '目标版本。', + 'description' => 'The target Kubernetes version for cluster upgrade.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.16.9-aliyun.1', + ], + 'version' => [ + 'title' => '已废弃,无需传递,请使用 next_version 参数传入升级目标版本。', + 'description' => 'This parameter is deprecated. Use next_version to specify the upgrade target Kubernetes version.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1.14.8-aliyun.1', + ], + 'master_only' => [ + 'title' => '是否仅升级master。', + 'description' => 'Specifies whether to upgrade only master nodes. Valid values:'."\n" + ."\n" + .'* true: upgrades master nodes only.'."\n" + .'* false: upgrades both master and worker nodes.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + 'rolling_policy' => [ + 'description' => 'The rolling update configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'max_parallelism' => [ + 'description' => 'The maximum number of nodes concurrently upgraded per batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'deprecated' => true, + ], + ], + 'required' => false, + 'deprecated' => true, + ], + ], + 'required' => false, + 'example' => 'k8s', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'Cluster ID.', + 'type' => 'string', + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'Task ID.', + 'type' => 'string', + 'example' => 'T-5faa48fb31b6b8078d00****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0527ac9a-c899-4341-a21a-****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\",\\n \\"request_id\\": \\"0527ac9a-c899-4341-a21a-****\\"\\n}","type":"json"}]', + 'title' => 'UpgradeCluster', + 'description' => 'After successfully calling the UpgradeCluster interface, this API returns the `task_id` of the upgrade task. You can manage this operation task by calling the following task APIs:'."\n" + .'- [Call DescribeTaskInfo to query task details](~~2667985~~)'."\n" + .'- [Call PauseTask to pause a running task](~~2667986~~) '."\n" + .'- [Call ResumeTask to resume a task that has been paused](~~2667987~~) '."\n" + .'- [Call CancelTask to cancel a running task](~~2667988~~)', + 'translator' => 'machine', + ], + 'DescribeClustersV1' => [ + 'summary' => 'Queries the details about Container Service for Kubernetes (ACK) clusters of specified types or specifications within an account.', + 'path' => '/api/v1/clusters', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '393', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + 'FEATUREcskI1OLEY', + 'FEATUREcskZG2TSX', + 'FEATUREcskDGKERY', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => [ + 'title' => '通过集群名称进行模糊查询。', + 'description' => 'The cluster name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster-demo', + ], + ], + [ + 'name' => 'cluster_type', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => 'The type of the instance.'."\n" + ."\n" + .'* `Kubernetes`: ACK dedicated cluster.'."\n" + .'* `ManagedKubernetes`: ACK managed cluster. ACK managed clusters include ACK Basic clusters, ACK Pro clusters, ACK Serverless Basic clusters, ACK Serverless Pro clusters, ACK Edge Basic clusters, ACK Edge Pro clusters, and ACK Lingjun Pro clusters.'."\n" + .'* `ExternalKubernetes`: registered cluster'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Kubernetes', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '单页大小。', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'title' => '分页数。', + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'profile', + 'in' => 'query', + 'schema' => [ + 'title' => '集群标识。', + 'description' => 'If you set `cluster_type` to `ManagedKubernetes`, an ACK managed cluster is created. In this case, you can further specify the cluster edition. Valid values:'."\n" + ."\n" + .'* `Default`: ACK managed cluster. ACK managed clusters include ACK Basic clusters and ACK Pro clusters.'."\n" + .'* `Edge`: ACK Edge cluster. ACK Edge clusters include ACK Edge Basic clusters and ACK Edge Pro clusters.'."\n" + .'* `Serverless`: ACK Serverless cluster. ACK Serverless clusters include ACK Serverless Basic clusters and ACK Serverless Pro clusters.'."\n" + .'* `Lingjun`: ACK Lingjun Pro cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'cluster_spec', + 'in' => 'query', + 'schema' => [ + 'title' => '集群规格。', + 'description' => 'After you set `cluster_type` to `ManagedKubernetes` and configure the `profile` parameter, you can further specify the edition of the cluster. Valid values:'."\n" + ."\n" + .'* `ack.pro.small`: ACK Pro cluster.'."\n" + .'* `ack.standard`: ACK Basic cluster. If you leave the parameter empty, ACK Basic cluster is selected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack.pro.small', + ], + ], + [ + 'name' => 'region_id', + 'in' => 'query', + 'schema' => [ + 'title' => '地域。', + 'description' => 'The region ID of the clusters. You can use this parameter to query all clusters in the specified region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ca418e5e6fa2849d78301341700axxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'clusters' => [ + 'title' => '集群详情列表。', + 'description' => 'The queried cluster details.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c3fb96524f9274b4495df0f12a6b5****', + ], + 'cluster_type' => [ + 'title' => '集群类型。', + 'description' => 'The type of the instance.'."\n", + 'type' => 'string', + 'example' => 'Kubernetes', + ], + 'created' => [ + 'title' => '集群初始化时间。', + 'description' => 'The time at which the instance is created.'."\n", + 'type' => 'string', + 'example' => '2020-08-20T10:51:29+08:00', + ], + 'init_version' => [ + 'title' => '集群初始化版本。', + 'description' => 'The version of the cluster. For more information about the Kubernetes versions supported by ACK, see [Release notes for Kubernetes versions](~~185269~~).'."\n", + 'type' => 'string', + 'example' => '1.16.9-aliyun.1', + ], + 'current_version' => [ + 'title' => '集群当前版本。', + 'description' => 'The Kubernetes version of the cluster.'."\n", + 'type' => 'string', + 'example' => '1.16.9-aliyun.1', + ], + 'next_version' => [ + 'title' => '集群可升级版本。', + 'description' => 'The Kubernetes version to which the cluster can be updated.'."\n", + 'type' => 'string', + 'example' => '1.18.8-aliyun.1', + ], + 'deletion_protection' => [ + 'title' => '集群是否开启删除保护。', + 'description' => 'Specifies whether to enable cluster deletion protection. If you enable this option, the cluster cannot be deleted in the console or by calling API operations. Valid values:'."\n" + ."\n" + .'* `true`: enables deletion protection for the cluster. This way, the cluster cannot be deleted in the ACK console or by calling API operations.'."\n" + .'* `false`: disables deletion protection for the cluster. This way, the cluster can be deleted in the ACK console or by calling API operations.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'docker_version' => [ + 'title' => '集群使用的Docker版本。', + 'description' => 'The Docker version that is used by the cluster.'."\n", + 'type' => 'string', + 'example' => '19.03.5', + 'deprecated' => true, + ], + 'external_loadbalancer_id' => [ + 'title' => '集群负载均衡服务的ID。', + 'description' => 'The ID of the Server Load Balancer (SLB) instance that is used by the Ingresses of the cluster.'."\n" + ."\n" + .'The default SLB specification is slb.s1.small, which belongs to the high-performance instance type.'."\n", + 'type' => 'string', + 'example' => 'lb-2vcrbmlevo6kjpgch****', + 'deprecated' => true, + ], + 'master_url' => [ + 'title' => '集群访问地址列表。', + 'description' => 'The address of the cluster API server. It includes an internal endpoint and a public endpoint.'."\n", + 'type' => 'string', + 'example' => '{\\"api_server_endpoint\\":\\"\\",\\"intranet_api_server_endpoint\\":\\"https://192.168.0.251:6443\\"}', + ], + 'meta_data' => [ + 'title' => '集群元数据信息。', + 'description' => 'The metadata of the cluster.'."\n", + 'type' => 'string', + 'example' => '{\\"Addons\\":[{\\"config\\":***}', + ], + 'name' => [ + 'title' => '集群名称。', + 'description' => 'The cluster name.'."\n", + 'type' => 'string', + 'example' => 'cluster-demo', + ], + 'network_mode' => [ + 'title' => '集群使用的网络类型,例如:VPC网络。', + 'description' => 'The network mode of the cluster. Valid values:'."\n" + ."\n" + .'* `classic`: classic network.'."\n" + .'* `vpc`: virtual private cloud (VPC).'."\n" + .'* `overlay`: overlay network.'."\n" + .'* `calico`: network powered by Calico.'."\n", + 'type' => 'string', + 'example' => 'vpc', + 'deprecated' => true, + ], + 'private_zone' => [ + 'title' => '集群是否开启Private Zone。', + 'description' => 'Indicates whether Alibaba Cloud DNS PrivateZone is enabled. Valid values:'."\n" + ."\n" + .'* `true`: Alibaba Cloud DNS PrivateZone is enabled.'."\n" + .'* `false`: Alibaba Cloud DNS PrivateZone is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'deprecated' => true, + ], + 'profile' => [ + 'title' => '边缘集群表示,用于区分边缘托管版集群。', + 'description' => 'The subtype of the cluster.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'region_id' => [ + 'title' => '地域ID。', + 'description' => 'The region ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'resource_group_id' => [ + 'title' => '集群资源组ID。', + 'description' => 'The ID of the resource group to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjm****', + ], + 'security_group_id' => [ + 'title' => '集群安全组ID。', + 'description' => 'The ID of the security group of the cluster.'."\n", + 'type' => 'string', + 'example' => 'sg-2vcgwsrwgt5mp0yi****', + ], + 'container_cidr' => [ + 'title' => 'POD网络网段', + 'description' => 'The pod CIDR block and the configuration of the Flannel network plug-in.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.20.0.0/16', + ], + 'service_cidr' => [ + 'title' => '服务网络网段', + 'description' => 'The Service CIDR block.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '172.21.0.0/20', + ], + 'proxy_mode' => [ + 'title' => 'Proxy代理模式,ipvs|iptables', + 'description' => 'The kube-proxy mode.'."\n" + ."\n" + .'* `iptables`: a mature and stable mode that uses iptables rules to conduct service discovery and load balancing. The performance of this mode is limited by the size of the cluster. This mode is suitable for clusters that run a small number of Services.'."\n" + .'* `ipvs`: provides high performance and uses IP Virtual Server (IPVS). This allows you to configure service discovery and load balancing. This mode is suitable for clusters that are required to run a large number of services. We recommend that you use this mode in scenarios that require high load balancing performance.'."\n", + 'type' => 'string', + 'example' => 'ipvs', + ], + 'timezone' => [ + 'title' => '时区', + 'description' => 'The time zone'."\n", + 'type' => 'string', + 'example' => 'Asia/Shanghai', + ], + 'ip_stack' => [ + 'title' => '集群的IP协议栈,可取值:'."\n" + .'- ipv4:创建仅支持IPv4协议栈的集群;'."\n" + .'- dual:创建支持IPv4/IPv6双栈的集群。', + 'description' => 'The IP stack of the cluster. Valid values:'."\n" + ."\n" + .'* ipv4: creates a cluster that supports only the IPv4 protocol stack.'."\n" + .'* dual: creates a cluster that supports IPv4/IPv6 dual-stack.'."\n", + 'type' => 'string', + 'example' => 'ipv4', + 'default' => 'ipv4', + 'enum' => [ + 'ipv4', + 'dual', + ], + ], + 'cluster_domain' => [ + 'title' => '集群本地域名', + 'description' => 'The domain name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cluster.local', + ], + 'size' => [ + 'title' => '集群节点数。', + 'description' => 'The number of nodes in the cluster, including control planes and worker nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'state' => [ + 'title' => '集群运行状态。', + 'description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* `initial`: The cluster is being created.'."\n" + .'* `failed`: The cluster failed to be created.'."\n" + .'* `running`: The cluster is running.'."\n" + .'* `upgrading`: The cluster is undergoing an upgrade.'."\n" + .'* `updating`: Cluster specification changes are being applied.'."\n" + .'* `removing`: Nodes are being removed from the node pool.'."\n" + .'* `draining`: Node draining is in progress.'."\n" + .'* `scaling`: Auto-scaling operation is in progress for the cluster.'."\n" + .'* `stopped`: The cluster has stopped running.'."\n" + .'* `deleting`: The cluster is being deleted.'."\n" + .'* `deleted`: The cluster has been deleted.'."\n" + .'* `delete_failed`: The cluster failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'subnet_cidr' => [ + 'title' => 'POD网段地址。【该字段已废弃】请使用container_cidr获取Pod网络网段。', + 'description' => 'This parameter is deprecated. Use the container_cidr parameter to obtain the pod CIDR block.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => '172.21.0.0/16', + ], + 'tags' => [ + 'title' => '集群标签。', + 'description' => 'The label of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The label of the cluster.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'updated' => [ + 'title' => '集群更新时间。', + 'description' => 'The time when the cluster was updated.'."\n", + 'type' => 'string', + 'example' => '2020-09-16T11:09:55+08:00', + ], + 'vpc_id' => [ + 'title' => '集群所在的VPC ID。', + 'description' => 'The ID of the virtual private cloud (VPC) that is used by the cluster.'."\n", + 'type' => 'string', + 'example' => 'vpc-2vcg932hsxsxuqbgl****', + ], + 'vswitch_id' => [ + 'title' => '集群使用的虚拟交换ID。', + 'description' => 'The ID of the vSwitch in the cluster.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => 'vsw-2vc41xuumx5z2rdma****,vsw-2vc41xuumx5z2rdma****', + ], + 'vswitch_ids' => [ + 'title' => '集群控制面虚拟交换机。', + 'description' => 'The vSwitches of the control planes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitches of the control planes.'."\n", + 'type' => 'string', + 'example' => 'vsw-2vc41xuumx5z2rdma****', + ], + ], + 'worker_ram_role_name' => [ + 'title' => '集群Worker RAM角色。', + 'description' => 'The name of the worker Resource Access Management (RAM) role. The RAM role is assigned to the worker nodes of the cluster to allow the worker nodes to manage ECS instances.'."\n", + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****', + 'deprecated' => true, + ], + 'zone_id' => [ + 'title' => '可用区ID。', + 'description' => 'The ID of the zone where the cluster is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing-b', + 'deprecated' => true, + ], + 'cluster_spec' => [ + 'title' => '托管版集群类型,面向托管集群。 • ack.pro.small:专业托管集群。 • ack.standard :标准托管集群。', + 'description' => 'The specification of the cluster.'."\n", + 'type' => 'string', + 'example' => 'ack.standard', + ], + 'maintenance_window' => [ + 'description' => 'The maintenance window of the cluster. This feature is available only for ACK managed clusters and ACK Serverless clusters.'."\n", + '$ref' => '#/components/schemas/maintenance_window', + ], + 'operation_policy' => [ + 'title' => '集群自动运维策略。', + 'description' => 'The automatic O\\&M policy of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_auto_upgrade' => [ + 'title' => '集群自动升级。', + 'description' => 'The configurations of auto cluster update.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启集群自动升级。', + 'description' => 'Specifies whether to enable auto cluster update.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'channel' => [ + 'title' => '集群自动升级频次。可取值:'."\n" + .'- patch'."\n" + .'- stable'."\n" + .'- rapid', + 'description' => 'The frequency of auto cluster updates. For more information, see [Update frequency](~~2712866~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* patch: the latest patch version.'."\n" + .'* stables: the second-latest minor version.'."\n" + .'* rapid: the latest minor version.'."\n", + 'type' => 'string', + 'example' => 'patch', + ], + ], + ], + ], + ], + ], + ], + ], + 'page_info' => [ + 'title' => '分页信息。', + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'title' => '分页数。', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'page_size' => [ + 'title' => '单页大小。', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'total_count' => [ + 'title' => '结果总数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + ], + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"clusters\\": [\\n {\\n \\"cluster_id\\": \\"c3fb96524f9274b4495df0f12a6b5****\\",\\n \\"cluster_type\\": \\"Kubernetes\\",\\n \\"created\\": \\"2025-04-07T09:57:26+08:00\\",\\n \\"init_version\\": \\"1.32.1-aliyun.1\\",\\n \\"current_version\\": \\"1.32.1-aliyun.1\\",\\n \\"next_version\\": \\"1.xx.x-aliyun.1\\",\\n \\"deletion_protection\\": true,\\n \\"docker_version\\": \\"19.03.5\\",\\n \\"external_loadbalancer_id\\": \\"lb-2vcrbmlevo6kjpgch****\\",\\n \\"master_url\\": \\"{\\\\\\\\\\\\\\"api_server_endpoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"intranet_api_server_endpoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://192.168.xx.xx:6443\\\\\\\\\\\\\\"}\\",\\n \\"meta_data\\": \\"{\\\\\\\\\\\\\\"Addons\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"config\\\\\\\\\\\\\\":***}}\\",\\n \\"name\\": \\"cluster-demo\\",\\n \\"network_mode\\": \\"vpc\\",\\n \\"private_zone\\": false,\\n \\"profile\\": \\"Default\\",\\n \\"region_id\\": \\"cn-beijing\\",\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjm****\\",\\n \\"security_group_id\\": \\"sg-2vcgwsrwgt5mp0yi****\\",\\n \\"container_cidr\\": \\"172.20.xx.xx/16\\",\\n \\"service_cidr\\": \\"172.21.xx.xx/20\\",\\n \\"proxy_mode\\": \\"ipvs\\",\\n \\"timezone\\": \\"Asia/Shanghai\\",\\n \\"ip_stack\\": \\"ipv4\\",\\n \\"cluster_domain\\": \\"cluster.local\\",\\n \\"size\\": 5,\\n \\"state\\": \\"running\\",\\n \\"subnet_cidr\\": \\"null\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"updated\\": \\"2025-04-07T09:57:26+08:00\\",\\n \\"vpc_id\\": \\"vpc-2vcg932hsxsxuqbgl****\\",\\n \\"vswitch_id\\": \\"vsw-2vc41xuumx5z2rdma****,vsw-2vc41xuumx5z2rdma****\\",\\n \\"vswitch_ids\\": [\\n \\"vsw-2vc41xuumx5z2rdma****\\"\\n ],\\n \\"worker_ram_role_name\\": \\"KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****\\",\\n \\"zone_id\\": \\"cn-beijing-b\\",\\n \\"cluster_spec\\": \\"ack.standard\\",\\n \\"maintenance_window\\": {\\n \\"enable\\": false,\\n \\"maintenance_time\\": \\"2020-10-15T12:31:00.000+08:00\\",\\n \\"duration\\": \\"3h\\",\\n \\"weekly_period\\": \\"Monday,Thursday\\",\\n \\"recurrence\\": \\"FREQ=WEEKLY;INTERVAL=4;BYDAY=MO,TU\\"\\n },\\n \\"operation_policy\\": {\\n \\"cluster_auto_upgrade\\": {\\n \\"enabled\\": true,\\n \\"channel\\": \\"patch\\"\\n }\\n }\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_number\\": 3,\\n \\"page_size\\": 20,\\n \\"total_count\\": 50\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClustersV1Response>\\n <clusters>\\n <cluster_id>c3fb96524f9274b4495df0f12a6b5****</cluster_id>\\n <cluster_type>Kubernetes</cluster_type>\\n <created>2020-08-20T10:51:29+08:00</created>\\n <init_version>1.16.9-aliyun.1</init_version>\\n <current_version>1.16.9-aliyun.1</current_version>\\n <next_version>1.18.8-aliyun.1</next_version>\\n <deletion_protection>true</deletion_protection>\\n <docker_version>19.03.5</docker_version>\\n <external_loadbalancer_id>lb-2vcrbmlevo6kjpgch****</external_loadbalancer_id>\\n <master_url>{\\\\\\"api_server_endpoint\\\\\\":\\\\\\"\\\\\\",\\\\\\"intranet_api_server_endpoint\\\\\\":\\\\\\"https://192.168.0.251:6443\\\\\\"}</master_url>\\n <meta_data>{\\\\\\"Addons\\\\\\":[{\\\\\\"config\\\\\\":***}</meta_data>\\n <name>cluster-demo</name>\\n <network_mode>vpc</network_mode>\\n <private_zone>false</private_zone>\\n <profile>Default</profile>\\n <region_id>cn-beijing</region_id>\\n <resource_group_id>rg-acfmyvw3wjm****</resource_group_id>\\n <security_group_id>sg-2vcgwsrwgt5mp0yi****</security_group_id>\\n <size>5</size>\\n <state>running</state>\\n <subnet_cidr>172.21.0.0/16</subnet_cidr>\\n <tags>\\n <key>env</key>\\n <value>prod</value>\\n </tags>\\n <updated>2020-09-16T11:09:55+08:00</updated>\\n <vpc_id>vpc-2vcg932hsxsxuqbgl****</vpc_id>\\n <vswitch_id>vsw-2vc41xuumx5z2rdma****,vsw-2vc41xuumx5z2rdma****</vswitch_id>\\n <worker_ram_role_name>KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****</worker_ram_role_name>\\n <zone_id>cn-beijing-b</zone_id>\\n <cluster_spec>ack.standard</cluster_spec>\\n <maintenance_window>\\n <enable>false</enable>\\n <maintenance_time>03:00:00Z</maintenance_time>\\n <duration>3h</duration>\\n <weekly_period>Monday,Thursday</weekly_period>\\n </maintenance_window>\\n </clusters>\\n <page_info>\\n <page_number>3</page_number>\\n <page_size>20</page_size>\\n <total_count>50</total_count>\\n </page_info>\\n</DescribeClustersV1Response>","errorExample":""}]', + 'title' => 'DescribeClustersV1', + ], + 'DescribeClustersForRegion' => [ + 'summary' => 'Queries all clusters in a specified region.', + 'path' => '/regions/{region_id}/clusters', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249403', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + 'FEATUREcskI1OLEY', + 'FEATUREcskZG2TSX', + 'FEATUREcskDGKERY', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => [ + 'title' => '通过集群名称进行模糊查询。', + 'description' => 'Perform a fuzzy search by using the cluster name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-cluster', + ], + ], + [ + 'name' => 'cluster_type', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => 'The type of the clusters to query. Valid values:'."\n" + ."\n" + .'* Kubernetes: ACK dedicated clusters.'."\n" + .'* ManagedKubernetes: ACK managed clusters. ACK managed clusters include ACK Basic clusters, ACK Pro clusters, ACK Serverless Basic clusters, ACK Serverless Pro clusters, ACK Edge Basic clusters, ACK Edge Pro clusters, and ACK Lingjun Pro clusters.'."\n" + .'* ExternalKubernetes: registered clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ExternalKubernetes' => 'ExternalKubernetes', + 'ManagedKubernetes' => 'ManagedKubernetes', + 'Kubernetes' => 'Kubernetes', + ], + 'example' => 'Kubernetes', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '单页大小。', + 'description' => 'The number of records on each page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'title' => '分页数。', + 'description' => 'The number of pages.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'profile', + 'in' => 'query', + 'schema' => [ + 'title' => '集群标识。', + 'description' => 'The subtype of the clusters to query. Valid values:'."\n" + ."\n" + .'* Default: ACK managed clusters. ACK managed clusters include ACK Basic clusters and ACK Pro clusters.'."\n" + .'* Edge: ACK Edge clusters. ACK Edge clusters include ACK Edge Basic clusters and ACK Edge Pro clusters.'."\n" + .'* Serverless: ACK Serverless clusters. ACK Serverless clusters include ACK Serverless Basic clusters and ACK Serverless Pro clusters.'."\n" + .'* Lingjun: ACK Lingjun Pro clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'LingJun' => 'LingJun', + 'Serverless' => 'Serverless', + 'Default' => 'Default', + 'Edge' => 'Edge', + ], + 'example' => 'Serverless', + ], + ], + [ + 'name' => 'cluster_spec', + 'in' => 'query', + 'schema' => [ + 'title' => '集群规格。', + 'description' => 'The specification of the clusters to query. Valid values:'."\n" + ."\n" + .'* ack.pro.small: ACK Pro clusters.'."\n" + .'* ack.standard: ACK Basic clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ack.pro.small' => 'ack.pro.small', + 'ack.standard' => 'ack.standard', + ], + 'example' => 'ack.standard', + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'region_id', + 'in' => 'path', + 'schema' => [ + 'title' => '地域。', + 'description' => 'The region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'clusters' => [ + 'title' => '集群详情列表。', + 'description' => 'The information about the queried clusters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a queried cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c905d1364c2dd4b6284a3f41790c4****', + ], + 'cluster_type' => [ + 'title' => '集群类型。', + 'description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'* Kubernetes: ACK dedicated cluster'."\n" + .'* ManagedKubernetes: ACK managed clusters. ACK managed clusters include ACK Basic clusters, ACK Pro clusters, ACK Serverless Basic clusters, ACK Serverless Pro clusters, ACK Edge Basic clusters, ACK Edge Pro clusters, and ACK Lingjun Pro clusters.'."\n" + .'* ExternalKubernetes: registered cluster'."\n", + 'type' => 'string', + 'example' => 'ManagedKubernetes', + ], + 'created' => [ + 'title' => '集群初始化时间。', + 'description' => 'The time at which the instance is created.'."\n", + 'type' => 'string', + 'example' => '2020-12-01T20:40:40+08:00', + ], + 'init_version' => [ + 'title' => '集群初始化版本。', + 'description' => 'The initial Kubernetes version of the cluster.'."\n", + 'type' => 'string', + 'example' => '1.16.6-aliyun.1', + ], + 'current_version' => [ + 'title' => '集群当前版本。', + 'description' => 'The current Kubernetes version of the cluster.'."\n", + 'type' => 'string', + 'example' => '1.16.6-aliyun.1', + ], + 'next_version' => [ + 'title' => '集群可升级版本。', + 'description' => 'The Kubernetes version to which the cluster can be updated.'."\n", + 'type' => 'string', + 'example' => '1.18.8-aliyun.1', + ], + 'deletion_protection' => [ + 'title' => '集群是否开启删除保护。', + 'description' => 'Specifies whether to enable cluster deletion protection. If you enable this option, the cluster cannot be deleted in the console or by calling API operations. You can obtain the terminal ID by calling one of the following operations:'."\n" + ."\n" + .'* true: enables deletion protection for the cluster. This way, the cluster cannot be deleted in the ACK console or by calling API operations.'."\n" + .'* false: disables deletion protection for the cluster. This way, the cluster can be deleted in the ACK console or by calling API operations.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'name' => [ + 'title' => '集群名称。', + 'description' => 'The name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'test-cluster', + ], + 'profile' => [ + 'title' => '边缘集群表示,用于区分边缘托管版集群。', + 'description' => 'The subtype of the clusters. Valid values:'."\n" + ."\n" + .'* Default: ACK managed clusters. ACK managed clusters include ACK Basic clusters and ACK Pro clusters.'."\n" + .'* Edge: ACK Edge clusters. ACK Edge clusters include ACK Edge Basic clusters and ACK Edge Pro clusters.'."\n" + .'* Serverless: ACK Serverless clusters. ACK Serverless clusters include ACK Serverless Basic clusters and ACK Serverless Pro clusters.'."\n" + .'* Lingjun: ACK Lingjun Pro clusters.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'region_id' => [ + 'title' => '地域ID。', + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing-a', + ], + 'resource_group_id' => [ + 'title' => '集群资源组ID。', + 'description' => 'The ID of the cluster resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjm****', + ], + 'security_group_id' => [ + 'title' => '集群安全组ID。', + 'description' => 'The ID of the security group of the cluster.'."\n", + 'type' => 'string', + 'example' => 'sg-2zeihch86ooz9io4****', + ], + 'container_cidr' => [ + 'title' => 'POD网络网段', + 'description' => 'The CIDR block of pods in the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.20.0.0/16', + ], + 'service_cidr' => [ + 'title' => '服务网络网段', + 'description' => 'The CIDR block of the service network.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '172.21.0.0/20', + ], + 'proxy_mode' => [ + 'title' => 'Proxy代理模式,ipvs|iptables', + 'description' => 'The kube-proxy mode of the cluster.'."\n" + ."\n" + .'Valid value:'."\n" + ."\n" + .'* iptables: iptables.'."\n" + .'* ipvs: ipvs.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'iptables' => 'iptables', + 'ipvs' => 'ipvs', + ], + 'example' => 'ipvs', + ], + 'timezone' => [ + 'title' => '时区', + 'description' => 'The time zone.'."\n", + 'type' => 'string', + 'example' => 'Asia/Shanghai', + ], + 'ip_stack' => [ + 'title' => '集群的IP协议栈,可取值:'."\n" + .'- ipv4:创建仅支持IPv4协议栈的集群;'."\n" + .'- dual:创建支持IPv4/IPv6双栈的集群。', + 'description' => 'The IP protocol stack of the cluster.'."\n", + 'type' => 'string', + 'example' => 'ipv4', + 'default' => 'ipv4', + 'enum' => [ + 'ipv4', + 'dual', + ], + ], + 'cluster_domain' => [ + 'title' => '集群本地域名', + 'description' => 'The domain name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cluster.local', + ], + 'size' => [ + 'title' => '集群节点数。', + 'description' => 'The number of nodes in the ACK cluster.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'state' => [ + 'title' => '集群运行状态。', + 'description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* initial: The cluster is being created.'."\n" + .'* failed: The cluster failed to be created.'."\n" + .'* running: The cluster is running.'."\n" + .'* Upgrading: The cluster is being updated.'."\n" + .'* scaling: The cluster is being scaled.'."\n" + .'* waiting: The cluster is waiting for connection requests.'."\n" + .'* disconnected: The cluster is disconnected.'."\n" + .'* inactive: The cluster is inactive.'."\n" + .'* unavailable: The cluster is unavailable.'."\n" + .'* deleting: The cluster is being deleted.'."\n" + .'* deleted: The ACK cluster is deleted.'."\n" + .'* delete_failed: The cluster failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'tags' => [ + 'title' => '集群标签。', + 'description' => 'The list of cluster tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag of the cluster.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'updated' => [ + 'title' => '集群更新时间。', + 'description' => 'The time when the cluster was updated.'."\n", + 'type' => 'string', + 'example' => '2020-12-08T15:37:00+08:00', + ], + 'vpc_id' => [ + 'title' => '集群所在的VPC ID。', + 'description' => 'The ID of the virtual private cloud (VPC) to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'vpc-2zeg8nf1ukc0fcmvq****', + ], + 'vswitch_ids' => [ + 'title' => '集群控制面虚拟交换机。', + 'description' => 'The list of vSwitches on the control plane of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitches of the control plane.'."\n", + 'type' => 'string', + 'example' => 'vsw-2vc41xuumx5z2rdma****', + ], + ], + 'cluster_spec' => [ + 'title' => '托管版集群类型,面向托管集群。 • ack.pro.small:专业托管集群。 • ack.standard :标准托管集群。', + 'description' => 'The types of ACK managed clusters:'."\n" + ."\n" + .'* ack.pro.small: ACK Pro cluster'."\n" + .'* ack.standard: ACK Basic cluster'."\n", + 'type' => 'string', + 'example' => 'ack.standard', + ], + ], + ], + ], + 'page_info' => [ + 'title' => '分页信息。', + 'description' => 'The pagination details.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'title' => '分页数。', + 'description' => 'The number of pages.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'page_size' => [ + 'title' => '单页大小。', + 'description' => 'The number of records on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'total_count' => [ + 'title' => '结果总数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"clusters\\": [\\n {\\n \\"cluster_id\\": \\"c905d1364c2dd4b6284a3f41790c4****\\",\\n \\"cluster_type\\": \\"ManagedKubernetes\\",\\n \\"created\\": \\"2020-12-01T20:40:40+08:00\\",\\n \\"init_version\\": \\"1.16.6-aliyun.1\\",\\n \\"current_version\\": \\"1.16.6-aliyun.1\\",\\n \\"next_version\\": \\"1.18.8-aliyun.1\\",\\n \\"deletion_protection\\": false,\\n \\"name\\": \\"test-cluster\\",\\n \\"profile\\": \\"Default\\",\\n \\"region_id\\": \\"cn-beijing-a\\",\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjm****\\",\\n \\"security_group_id\\": \\"sg-2zeihch86ooz9io4****\\",\\n \\"container_cidr\\": \\"172.20.0.0/16\\",\\n \\"service_cidr\\": \\"172.21.0.0/20\\",\\n \\"proxy_mode\\": \\"ipvs\\",\\n \\"timezone\\": \\"Asia/Shanghai\\",\\n \\"ip_stack\\": \\"ipv4\\",\\n \\"cluster_domain\\": \\"cluster.local\\",\\n \\"size\\": 2,\\n \\"state\\": \\"running\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"updated\\": \\"2020-12-08T15:37:00+08:00\\",\\n \\"vpc_id\\": \\"vpc-2zeg8nf1ukc0fcmvq****\\",\\n \\"vswitch_ids\\": [\\n \\"vsw-2vc41xuumx5z2rdma****\\"\\n ],\\n \\"cluster_spec\\": \\"ack.standard\\"\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_number\\": 1,\\n \\"page_size\\": 10,\\n \\"total_count\\": 10\\n }\\n}","type":"json"}]', + 'title' => 'DescribeClustersForRegion', + ], + 'DescribeClusterDetail' => [ + 'summary' => 'You can call the DescribeClusterDetail operation to query the details of a Container Service for Kubernetes (ACK) cluster by cluster ID.', + 'path' => '/clusters/{ClusterId}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '400', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + 'FEATUREcskI1OLEY', + 'FEATUREcskZG2TSX', + 'FEATUREcskDGKERY', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cdde1f21ae22e483ebcb068a6eb7f****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + 'cluster_type' => [ + 'title' => '集群类型。', + 'description' => 'The type of the instance.'."\n" + ."\n" + .'* `Kubernetes`: ACK dedicated cluster.'."\n" + .'* `ManagedKubernetes`: ACK managed cluster. ACK managed clusters include ACK managed Basic clusters, ACK managed Pro clusters, ACK Serverless Pro clusters, ACK Serverless Basic clusters, ACK Edge Pro clusters, ACK Edge Basic clusters, and ACK Lingjun Pro clusters.'."\n" + .'* `ExternalKubernetes`: registered cluster.'."\n", + 'type' => 'string', + 'example' => 'Kubernetes', + ], + 'created' => [ + 'title' => '集群创建时间。', + 'description' => 'The time when the cluster was created.'."\n", + 'type' => 'string', + 'example' => '2019-11-25T15:50:20+08:00', + ], + 'init_version' => [ + 'title' => '集群初始化版本。', + 'description' => 'The initial Kubernetes version of the cluster.'."\n", + 'type' => 'string', + 'example' => '1.16.6-aliyun.1', + ], + 'current_version' => [ + 'title' => '集群当前版本。', + 'description' => 'The Kubernetes version of the cluster. For more information about the Kubernetes versions supported by ACK, see [Release notes for Kubernetes versions](~~185269~~).'."\n", + 'type' => 'string', + 'example' => '1.16.6-aliyun.1', + ], + 'next_version' => [ + 'title' => '集群可升级版本。', + 'description' => 'The Kubernetes version to which the cluster can be upgraded.'."\n", + 'type' => 'string', + 'example' => '1.18.8-aliyun.1', + ], + 'deletion_protection' => [ + 'title' => '集群是否开启删除保护。', + 'description' => 'Indicates whether deletion protection is enabled for the cluster. If deletion protection is enabled, the cluster cannot be deleted in the Container Service console or by calling API operations. Valid values:'."\n" + ."\n" + .'* `true`: deletion protection is enabled for the cluster. This way, the cluster cannot be deleted in the Container Service console or by calling API operations.'."\n" + .'* `false`: deletion protection is disabled for the cluster. This way, the cluster can be deleted in the Container Service console or by calling API operations.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'docker_version' => [ + 'title' => '集群内Docker版本。', + 'description' => 'The Docker version that is used by the cluster.'."\n", + 'type' => 'string', + 'example' => '19.03.5', + 'deprecated' => true, + ], + 'external_loadbalancer_id' => [ + 'title' => '集群Ingress LB实例ID。', + 'description' => 'The ID of the Server Load Balancer (SLB) instance that is created for the Ingress of the cluster.'."\n", + 'type' => 'string', + 'example' => 'lb-2zehc05z3b8dwiifh****', + 'deprecated' => true, + ], + 'meta_data' => [ + 'title' => '集群元数据。', + 'description' => 'The metadata of the cluster.'."\n", + 'type' => 'string', + 'example' => '\\"Addons\\":***', + ], + 'name' => [ + 'title' => '集群名称。', + 'description' => 'The cluster name.'."\n", + 'type' => 'string', + 'example' => 'cluster-demo', + ], + 'network_mode' => [ + 'title' => '集群采用的网络类型,例如:VPC网络。', + 'description' => 'The network type of the cluster. Example: Virtual Private Cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc', + 'deprecated' => true, + ], + 'region_id' => [ + 'title' => '集群所在地域ID。', + 'description' => 'The region ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'resource_group_id' => [ + 'title' => '集群资源组ID。', + 'description' => 'The ID of the resource group to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjm****', + ], + 'security_group_id' => [ + 'title' => '集群安全组ID。', + 'description' => 'The ID of the security group to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'sg-25yq****', + ], + 'size' => [ + 'title' => '集群节点数量。', + 'description' => 'The number of nodes in the cluster. Master nodes and worker nodes are included.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'state' => [ + 'title' => '集群运行状态。', + 'description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* `initial`: The cluster is being created.'."\n" + .'* `failed`: The cluster failed to be created.'."\n" + .'* `running`: The cluster is running.'."\n" + .'* `updating`: The cluster is being updated.'."\n" + .'* `updating_failed`: The cluster failed to be updated.'."\n" + .'* `scaling`: The cluster is being scaled.'."\n" + .'* `waiting`: The cluster is waiting for connection requests.'."\n" + .'* `disconnected`: The cluster is disconnected.'."\n" + .'* `stopped`: The cluster is stopped.'."\n" + .'* `deleting`: The cluster is being deleted.'."\n" + .'* `deleted`: The cluster is deleted.'."\n" + .'* `delete_failed`: The cluster failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'tags' => [ + 'title' => '集群标签。', + 'description' => 'The resource labels of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource label.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'updated' => [ + 'title' => '集群更新时间。', + 'description' => 'The time when the cluster was updated.'."\n", + 'type' => 'string', + 'example' => '2020-01-13T23:01:03+08:00', + ], + 'vpc_id' => [ + 'title' => '集群使用的VPC ID。', + 'description' => 'The ID of the VPC where the cluster is deployed. This parameter is required when you create a cluster.'."\n", + 'type' => 'string', + 'example' => 'vpc-2zecuu62b9zw7a7qn****', + ], + 'vswitch_id' => [ + 'title' => '集群节点使用的虚拟交换机列表。', + 'description' => 'The ID of the vSwitche. This field is deprecated. Use vswitch_ids to query the vSwitches on the control plane and vswitch_ids to query the vSwitches on the data plane.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => 'vsw-2zete8s4qocqg0mf6****,vsw-2zete8s4qocqg0mf6****', + ], + 'subnet_cidr' => [ + 'title' => 'Pod网络地址段,必须是有效的私有网段,即以下网段及其子网:10.0.0.0/8,172.16-31.0.0/12-16,192.168.0.0/16。不能与 VPC 及VPC 内已有 Kubernetes 集群使用的网段重复,创建成功后不能修改。 有关集群网络规划,请参见:[VPC下 Kubernetes 的网络地址段规划](https://help.aliyun.com/document_detail/~~86500~~)。【该字段已废弃】请使用container_cidr获取Pod网络网段。', + 'description' => 'The pod CIDR block.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => '172.20.0.0/16', + ], + 'zone_id' => [ + 'title' => '集群所在地域内的可用区ID。', + 'description' => 'The ID of the zone within the region where the cluster is located.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing-a', + 'deprecated' => true, + ], + 'master_url' => [ + 'title' => '集群访问地址。', + 'description' => 'The endpoints of the cluster, including an internal endpoint and a public endpoint.'."\n", + 'type' => 'string', + 'example' => '{\\"intranet_api_server_endpoint\\":\\"https://192.168.0.251:6443\\"***}', + ], + 'private_zone' => [ + 'title' => '集群是否启用用PrivateZone。 true:启用 false:不启用 默认值:false。', + 'description' => 'Indicates whether Alibaba Cloud DNS PrivateZone (PrivateZone) is enabled for the cluster. Valid values:'."\n" + ."\n" + .'* `true`: PrivateZone is enabled.'."\n" + .'* `false`: PrivateZone is dislabled.'."\n" + ."\n" + .'Default value: false'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'deprecated' => true, + ], + 'profile' => [ + 'title' => '面向场景时的集群类型。 Default:非边缘场景集群。 Edge:边缘场景集群。', + 'description' => 'The subtype of the cluster.'."\n" + ."\n" + .'* `Default`. ACK managed cluster. ACK managed clusters include ACK Basic clusters and ACK Pro clusters.'."\n" + .'* `Edge`: ACK Edge cluster. ACK Edge clusters include ACK Edge Basic clusters and ACK Edge Pro clusters.'."\n" + .'* `Serverless`: ACK Serverless cluster. ACK Serverless clusters include ACK Serverless Basic clusters and ACK Serverless Pro clusters.'."\n" + .'* `Lingjun`: ACK Lingjun Pro cluster.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'cluster_spec' => [ + 'title' => '托管版集群类型,面向托管集群。 ack.pro.small:专业托管集群。 ack.standard :标准托管集群。', + 'description' => 'The edition of the cluster'."\n" + ."\n" + .'* `ack.pro.small`: the Pro edition.'."\n" + .'* `ack.standard`: the Basic edition.'."\n", + 'type' => 'string', + 'example' => 'ack.pro.small', + ], + 'worker_ram_role_name' => [ + 'title' => 'Worker节点RAM角色名称。', + 'description' => 'The name of the worker Resource Access Management (RAM) role. The RAM role is assigned to the worker nodes of the cluster to allow the worker nodes to manage Elastic Compute Service (ECS) instances.'."\n", + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****', + ], + 'maintenance_window' => [ + 'description' => 'The maintenance window of the cluster. This feature is available only in ACK Pro clusters.'."\n", + '$ref' => '#/components/schemas/maintenance_window', + ], + 'parameters' => [ + 'description' => 'The Resource Orchestration Service (ROS) parameters of the cluster.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'The ROS parameters.'."\n", + 'example' => 'WorkerImageId', + ], + 'deprecated' => true, + ], + 'container_cidr' => [ + 'title' => 'POD网络网段', + 'description' => 'The pod CIDR block. The configuration of the Flannel network plug-in.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.20.0.0/16', + ], + 'service_cidr' => [ + 'title' => '服务网络网段', + 'description' => 'The Service CIDR block.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '172.21.0.0/20', + ], + 'proxy_mode' => [ + 'title' => 'Proxy代理模式,ipvs|iptables', + 'description' => 'The kube-proxy mode. Valid values:'."\n" + ."\n" + .'* `iptables`: a mature and stable kube-proxy mode that uses iptables rules to conduct Service discovery and load balancing. The performance of this mode is limited by the size of the cluster. This mode is suitable for clusters that run a small number of Services.'."\n" + .'* `ipvs`: provides high performance and uses IP Virtual Server (IPVS). This allows you to configure service discovery and load balancing. This mode is suitable for clusters that are required to run a large number of services. We recommend that you use this mode in scenarios that require high load balancing performance.'."\n", + 'type' => 'string', + 'example' => 'ipvs', + ], + 'timezone' => [ + 'title' => '时区', + 'description' => 'The time zone'."\n", + 'type' => 'string', + 'example' => 'Asia/Shanghai', + ], + 'node_cidr_mask' => [ + 'title' => '节点IP数量', + 'description' => 'This parameter is available only for Flannel.'."\n" + ."\n" + .'The subnet mask length of the node CIDR block. This parameter indicates the maximum number of IP addresses that can be assigned to nodes.'."\n", + 'type' => 'string', + 'example' => '26', + ], + 'ip_stack' => [ + 'title' => '集群的IP协议栈,可取值:'."\n" + .'- ipv4:创建仅支持IPv4协议栈的集群;'."\n" + .'- dual:创建支持IPv4/IPv6双栈的集群。', + 'description' => 'The IP stack of the cluster. Valid values:'."\n" + ."\n" + .'* ipv4: The cluster is an IPv4 cluster.'."\n" + .'* dual: The cluster is an IPv4/IPv6 dual-stack cluster.'."\n", + 'type' => 'string', + 'example' => 'ipv4', + 'default' => 'ipv4', + 'enum' => [ + 'ipv4', + 'dual', + ], + ], + 'cluster_domain' => [ + 'title' => '集群本地域名', + 'description' => 'The domain name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cluster.local', + ], + 'extra_sans' => [ + 'title' => '自定义证书 SAN。', + 'type' => 'array', + 'items' => [ + 'title' => '证书 SAN。', + 'type' => 'string', + ], + ], + 'rrsa_config' => [ + 'title' => 'RRSA 配置。', + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否启用 RRSA。', + 'type' => 'boolean', + ], + 'oidc_name' => [ + 'title' => 'OIDC 身份提供商名称。', + 'type' => 'string', + ], + 'oidc_arn' => [ + 'title' => 'OIDC 身份提供商 ARN。', + 'type' => 'string', + ], + 'max_oidc_token_expiration' => [ + 'title' => 'OIDC Token 可配置的最大有效期。', + 'type' => 'string', + ], + 'audience' => [ + 'title' => 'OIDC Token 的受众信息。包含多个值时将使用英文逗号(,)分隔。该值将以数组形式成为 OIDC Token 中 aud 字段的值。', + 'type' => 'string', + ], + 'issuer' => [ + 'title' => 'OIDC Token 的签发者信息。包含多个值时将使用英文逗号(,)分隔。其中第一个值将成为 OIDC Token 中 iss 字段的值以及 OIDC 身份提供商的颁发者 URL。', + 'type' => 'string', + ], + 'open_api_configuration_url' => [ + 'title' => 'OIDC 配置文档 URL。', + 'type' => 'string', + ], + 'jwks_url' => [ + 'title' => 'OIDC 公钥信息 URL。', + 'type' => 'string', + ], + ], + ], + 'vswitch_ids' => [ + 'title' => '集群控制面虚拟交换机。', + 'description' => 'The vSwitch for the control plane of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch for the control plane of the cluster.'."\n", + 'type' => 'string', + 'example' => 'vsw-2zete8s4qocqg0mf6****', + ], + ], + 'operation_policy' => [ + 'title' => '集群自动运维策略。', + 'description' => 'The automatic O\\&M policy of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_auto_upgrade' => [ + 'title' => '集群自动升级。', + 'description' => 'The configurations of auto cluster update.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启集群自动升级。', + 'description' => 'Specifies whether to enable auto cluster update.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'channel' => [ + 'title' => '集群自动升级频次。可取值:'."\n" + .'- patch'."\n" + .'- stable'."\n" + .'- rapid', + 'description' => 'The frequency of auto cluster updates. For more information, see [Update frequency](~~2712866~~).'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* patch: specifies the latest patch version.'."\n" + .'* stable: specifies the second-latest minor version.'."\n" + .'* rapid: specifies the latest minor version.'."\n", + 'type' => 'string', + 'example' => 'patch', + ], + ], + ], + ], + ], + 'control_plane_config' => [ + 'title' => '专有版集群控制面配置。', + 'description' => 'The control plane configurations in an ACK dedicated cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'charge_type' => [ + 'title' => '控制面节点付费类型。', + 'description' => 'The billing method of the control plane node.'."\n", + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'period' => [ + 'title' => '节点包年包月时间。', + 'description' => 'The subscription duration of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '节点包年包月时间单位。', + 'description' => 'The unit of the subscription duration.'."\n", + 'type' => 'string', + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点是否自动续费。', + 'description' => 'Indicates whether auto-renewal is enabled for the nodes.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '节点自动续费时长。', + 'description' => 'The auto-renewal duration for the nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'instance_types' => [ + 'title' => '节点实例类型。', + 'description' => 'The instance types of the nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type of the nodes.'."\n", + 'type' => 'string', + 'example' => 'ecs.g6.large', + ], + ], + 'image_type' => [ + 'title' => '操作系统镜像类型。', + 'description' => 'The type of the OS image.'."\n", + 'type' => 'string', + 'example' => 'AliyunLinux3', + ], + 'image_id' => [ + 'title' => '镜像id', + 'description' => 'The image ID.'."\n", + 'type' => 'string', + 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd', + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must set key_pair or login_password.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The category of the system disk for nodes.'."\n", + 'type' => 'string', + 'example' => 'cloud_essd', + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小,至少40。', + 'description' => 'The system disk size of the node. The value must be at least 40 GB.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '120', + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '节点自动快照备份策略。', + 'description' => 'The automatic snapshot policy of the node.'."\n", + 'type' => 'string', + 'example' => 'sp-2zej1nogjvovnz4z****', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效。', + 'description' => 'The performance level (PL) of the system disk that you want to use for the node. This parameter takes effect only for ESSDs.'."\n", + 'type' => 'string', + 'example' => 'PL1', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS。', + 'description' => 'The preset read/write IOPS of the system disk.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发)。', + 'description' => 'Indicates whether to enable the burst feature for the system disk.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The ID of the deployment set.'."\n", + 'type' => 'string', + 'example' => 'ds-bp10b35imuam5amw****', + ], + 'cloud_monitor_flags' => [ + 'title' => '是否为节点安装云监控。', + 'description' => 'Indicates whether to install CloudMonitor for the node.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保安全加固。', + 'description' => 'Indicates whether to enable Multi-Level Protection Scheme (MLPS) security hardening.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Indicates whether to enable Alibaba Cloud Linux Security Hardening.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'cpu_policy' => [ + 'title' => '节点CPU管理策略。', + 'description' => 'The CPU management policy of nodes.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + 'runtime' => [ + 'title' => '运行时名称。', + 'description' => 'The runtime.'."\n", + 'type' => 'string', + 'example' => 'containerd', + ], + 'node_port_range' => [ + 'title' => '节点服务端口范围。', + 'description' => 'The node port range.'."\n", + 'type' => 'string', + 'example' => '30000-32767', + ], + 'size' => [ + 'title' => '控制面节点数量。', + 'description' => 'The number of control plane nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'instance_metadata_options' => [ + 'title' => 'ECS 实例的元数据访问配置。', + '$ref' => '#/components/schemas/InstanceMetadataOptions', + ], + ], + ], + 'auto_mode' => [ + 'title' => '智能托管模式配置。', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否开启智能托管模式。', + 'type' => 'boolean', + ], + ], + ], + 'control_plane_endpoints_config' => [ + 'title' => '集群连接配置。', + 'type' => 'object', + 'properties' => [ + 'internal_dns_config' => [ + 'title' => '集群内部域名配置,适用于ACK托管集群。集群内部域名用于 kubelet、kube-proxy 等节点侧系统组件访问 API Server;未开启集群内部域名访问时,节点侧系统组件将通过 CLB IP 方式访问。', + 'type' => 'object', + 'properties' => [ + 'bind_vpcs' => [ + 'title' => '集群内部域名记录解析生效的 VPC 范围,默认包括集群所在 VPC。', + 'type' => 'array', + 'items' => [ + 'title' => '集群内部域名记录解析生效的 VPC。', + 'type' => 'string', + ], + ], + 'enabled' => [ + 'title' => '是否开启集群内部域名访问。 - true:开启集群内部域名访问,节点侧组件(kubelet、kube-proxy)将通过集群内部域名访问API Server。', + 'type' => 'boolean', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"cluster_type\\": \\"Kubernetes\\",\\n \\"created\\": \\"2025-04-07T09:57:26+08:00\\",\\n \\"init_version\\": \\"1.32.1-aliyun.1\\",\\n \\"current_version\\": \\"1.32.1-aliyun.1\\",\\n \\"next_version\\": \\"1.xx.x-aliyun.1\\",\\n \\"deletion_protection\\": true,\\n \\"docker_version\\": \\"19.03.5\\",\\n \\"external_loadbalancer_id\\": \\"lb-2zehc05z3b8dwiifh****\\",\\n \\"meta_data\\": \\"\\\\\\\\\\\\\\"Addons\\\\\\\\\\\\\\":***\\",\\n \\"name\\": \\"cluster-demo\\",\\n \\"network_mode\\": \\"vpc\\",\\n \\"region_id\\": \\"cn-beijing\\",\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjm****\\",\\n \\"security_group_id\\": \\"sg-25yq****\\",\\n \\"size\\": 5,\\n \\"state\\": \\"running\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"updated\\": \\"2025-04-10T13:28:09+08:00\\",\\n \\"vpc_id\\": \\"vpc-2zecuu62b9zw7a7qn****\\",\\n \\"vswitch_id\\": \\"vsw-2zete8s4qocqg0mf6****,vsw-2zete8s4qocqg0mf6****\\",\\n \\"subnet_cidr\\": \\"172.20.xx.xx/16\\",\\n \\"zone_id\\": \\"cn-beijing-a\\",\\n \\"master_url\\": \\"{\\\\\\\\\\\\\\"intranet_api_server_endpoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://192.168.xx.xx:6443\\\\\\\\\\\\\\"***}\\",\\n \\"private_zone\\": false,\\n \\"profile\\": \\"Default\\",\\n \\"cluster_spec\\": \\"ack.pro.small\\",\\n \\"worker_ram_role_name\\": \\"KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****\\",\\n \\"maintenance_window\\": {\\n \\"enable\\": false,\\n \\"maintenance_time\\": \\"2020-10-15T12:31:00.000+08:00\\",\\n \\"duration\\": \\"3h\\",\\n \\"weekly_period\\": \\"Monday,Thursday\\",\\n \\"recurrence\\": \\"FREQ=WEEKLY;INTERVAL=4;BYDAY=MO,TU\\"\\n },\\n \\"parameters\\": {\\n \\"key\\": \\"\\\\\\"ALIYUN::Region\\\\\\": \\\\\\"cn-qingdao\\\\\\"\\"\\n },\\n \\"container_cidr\\": \\"172.20.xx.xx/16\\",\\n \\"service_cidr\\": \\"172.21.xx.xx/20\\",\\n \\"proxy_mode\\": \\"ipvs\\",\\n \\"timezone\\": \\"Asia/Shanghai\\",\\n \\"node_cidr_mask\\": \\"26\\",\\n \\"ip_stack\\": \\"ipv4\\",\\n \\"cluster_domain\\": \\"cluster.local\\",\\n \\"extra_sans\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"rrsa_config\\": {\\n \\"enabled\\": true,\\n \\"oidc_name\\": \\"ack-rrsa-***\\",\\n \\"oidc_arn\\": \\"acs:ram::1138***:oidc-provider/ack-rrsa-***\\",\\n \\"max_oidc_token_expiration\\": \\"12h\\",\\n \\"audience\\": \\"https://kubernetes.default.svc,https://example.***.com\\",\\n \\"issuer\\": \\"https://oidc-ack-***,https://kubernetes.default.svc\\",\\n \\"open_api_configuration_url\\": \\"https://oidc-ack-***/c12b990***/.well-known/openid-configuration\\",\\n \\"jwks_url\\": \\"https://oidc-ack-***/c12b990***/keys\\"\\n },\\n \\"vswitch_ids\\": [\\n \\"vsw-2zete8s4qocqg0mf6****\\"\\n ],\\n \\"operation_policy\\": {\\n \\"cluster_auto_upgrade\\": {\\n \\"enabled\\": true,\\n \\"channel\\": \\"patch\\"\\n }\\n },\\n \\"control_plane_config\\": {\\n \\"charge_type\\": \\"PrePaid\\",\\n \\"period\\": 1,\\n \\"period_unit\\": \\"Month\\",\\n \\"auto_renew\\": true,\\n \\"auto_renew_period\\": 1,\\n \\"instance_types\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"image_type\\": \\"AliyunLinux3\\",\\n \\"image_id\\": \\"aliyun_3_x64_20G_alibase_20240819\\",\\n \\"key_pair\\": \\"ack\\",\\n \\"system_disk_category\\": \\"cloud_essd\\",\\n \\"system_disk_size\\": 120,\\n \\"system_disk_snapshot_policy_id\\": \\"sp-2zej1nogjvovnz4z****\\",\\n \\"system_disk_performance_level\\": \\"PL1\\",\\n \\"system_disk_provisioned_iops\\": 1000,\\n \\"system_disk_bursting_enabled\\": true,\\n \\"deploymentset_id\\": \\"ds-bp10b35imuam5amw****\\",\\n \\"cloud_monitor_flags\\": true,\\n \\"soc_enabled\\": false,\\n \\"security_hardening_os\\": true,\\n \\"cpu_policy\\": \\"none\\",\\n \\"runtime\\": \\"containerd\\",\\n \\"node_port_range\\": \\"30000-32767\\",\\n \\"size\\": 3,\\n \\"instance_metadata_options\\": {\\n \\"http_tokens\\": \\"optional\\"\\n }\\n },\\n \\"auto_mode\\": {\\n \\"enable\\": false\\n },\\n \\"control_plane_endpoints_config\\": {\\n \\"internal_dns_config\\": {\\n \\"bind_vpcs\\": [\\n \\"vpc-xxxxxx\\"\\n ],\\n \\"enabled\\": true\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<cluster_id>c82e6987e2961451182edacd74faf****</cluster_id>\\n<cluster_type>Kubernetes</cluster_type>\\n<created>2019-11-25T15:50:20+08:00</created>\\n<init_version>1.16.6-aliyun.1</init_version>\\n<current_version>1.16.6-aliyun.1</current_version>\\n<next_version>1.18.8-aliyun.1</next_version>\\n<deletion_protection>true</deletion_protection>\\n<docker_version>19.03.5</docker_version>\\n<external_loadbalancer_id>lb-2ze3buguz3gx9920z****</external_loadbalancer_id>\\n<meta_data>\\\\\\"Addons\\\\\\":***</meta_data>\\n<name>cluster-demo</name>\\n<network_mode>vpc</network_mode>\\n<region_id>cn-beijing</region_id>\\n<resource_group_id>rg-acfmyvw3wjm****</resource_group_id>\\n<security_group_id>sg-25yq****</security_group_id>\\n<size>5</size>\\n<state>running</state>\\n<tags>\\n <key>env</key>\\n <value>prod</value>\\n</tags>\\n<updated>2020-01-13T23:01:03+08:00</updated>\\n<vpc_id>vpc-2zecuu62b9zw7a7qn****</vpc_id>\\n<vswitch_id>vsw-2zete8s4qocqg0mf6****,vsw-2zete8s4qocqg0mf6****</vswitch_id>\\n<subnet_cidr>172.20.0.0/16</subnet_cidr>\\n<zone_id>cn-beijing-a</zone_id>\\n<master_url>{\\\\\\"intranet_api_server_endpoint\\\\\\":\\\\\\"https://192.168.0.251:6443\\\\\\"***}</master_url>\\n<private_zone>false</private_zone>\\n<profile>Default</profile>\\n<cluster_spec>ack.pro.small</cluster_spec>\\n<worker_ram_role_name>KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****</worker_ram_role_name>\\n<maintenance_window>\\n <enable>false</enable>\\n <maintenance_time>03:00:00Z</maintenance_time>\\n <duration>3h</duration>\\n <weekly_period>Monday,Thursday</weekly_period>\\n</maintenance_window>","errorExample":""}]', + 'title' => 'DescribeClusterDetail', + 'translator' => 'machine', + ], + 'DescribeClusterResources' => [ + 'summary' => 'You can call the DescribeClusterResources operation to query all resources in a cluster by cluster ID.', + 'path' => '/clusters/{ClusterId}/resources', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '397', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n" + ."\n" + .'For more information about how to query cluster IDs, see [View cluster information](~~89446~~).'."\n" + ."\n" + .'You can also call the [DescribeClustersV1](~~183905~~) API operation to query all clusters that belong to an Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cb95aa626a47740afbf6aa099b65****', + ], + ], + [ + 'name' => 'with_addon_resources', + 'in' => 'query', + 'schema' => [ + 'title' => '是否同时查询集群组件创建的资源。', + 'description' => 'Specifies whether to query the resources created by cluster components.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The list of resources in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa099b65****', + ], + 'created' => [ + 'title' => '资源创建时间。', + 'description' => 'The time when the resource was created.'."\n", + 'type' => 'string', + 'example' => '2020-09-11T10:11:54+08:00', + ], + 'instance_id' => [ + 'title' => '资源实例ID。', + 'description' => 'The resource ID.'."\n", + 'type' => 'string', + 'example' => 'lb-wz9poz4r0ymh8u0uf****', + ], + 'resource_info' => [ + 'title' => '资源元信息。', + 'description' => 'The resource information. For more information about how to query the source information about the resource, see [ListStackResources](~~133836~~).'."\n", + 'type' => 'string', + 'example' => '{\\"Id\\":\\"k8s_master_slb\\",\\"Name\\":\\"k8s_master_slb\\",\\"Type\\":\\"ALIYUN::SLB::LoadBalancer\\",\\"Status\\":\\"CREATE_COMPLETE\\",\\"StatusReason\\":\\"state changed\\",\\"Updated\\":\\"2020-05-21T13:25:02\\",\\"PhysicalId\\":\\"lb-wz9poz4r0ymh8u0uf****\\"}', + ], + 'resource_type' => [ + 'title' => '资源类型。', + 'description' => 'The resource type.'."\n", + 'type' => 'string', + 'example' => 'ALIYUN::SLB::LoadBalancer', + ], + 'state' => [ + 'title' => '资源状态。', + 'description' => 'The resource status. Valid values:'."\n" + ."\n" + .'* `CREATE_COMPLETE`: the resource is created.'."\n" + .'* `CREATE_FAILED`: the resource failed to be created.'."\n" + .'* `CREATE_IN_PROGRESS`: the resource is being created.'."\n" + .'* `DELETE_FAILED`: the resource failed to be deleted.'."\n" + .'* `DELETE_IN_PROGRESS`: the resource is being deleted.'."\n" + .'* `ROLLBACK_COMPLETE`: the resource is rolled back.'."\n" + .'* `ROLLBACK_FAILED`: the resource failed to be rolled back.'."\n" + .'* `ROLLBACK_IN_PROGRESS`: the resource is being rolled back.'."\n", + 'type' => 'string', + 'example' => 'CREATE_COMPLETE', + ], + 'auto_create' => [ + 'title' => '是否为自动创建。', + 'description' => 'Specifies whether the resource is created by Container Service for Kubernetes (ACK). Valid values:'."\n" + ."\n" + .'* 1: the resource is created by ACK.'."\n" + .'* 0: the resource is an existing resource.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'dependencies' => [ + 'title' => '依赖的资源。', + 'description' => 'The dependent resources.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the dependent resources.', + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '依赖资源的集群ID。', + 'description' => 'The ID of the cluster to which the dependent resource is related.'."\n", + 'type' => 'string', + 'example' => 'cc5ee03f63e43425cb6f71f1a1756****', + ], + 'resource_type' => [ + 'title' => '依赖资源类型。', + 'description' => 'The dependent resource type.'."\n", + 'type' => 'string', + 'example' => 'ALIYUN::VPC::NatGateway', + ], + 'instance_id' => [ + 'title' => '依赖资源实例ID。', + 'description' => 'The dependent resource ID.'."\n", + 'type' => 'string', + 'example' => 'ngw-wz9sphwk42sdtjixo****', + ], + ], + ], + ], + 'associated_object' => [ + 'title' => '资源关联的k8s对象。', + 'description' => 'The Kubernetes object with which the resource is associated.'."\n", + 'type' => 'object', + 'properties' => [ + 'kind' => [ + 'title' => 'k8s对象类型。', + 'description' => 'The Kubernetes object type.'."\n", + 'type' => 'string', + 'example' => 'Service', + ], + 'namespace' => [ + 'title' => 'k8s对象命名空间。', + 'description' => 'The namespace in which the Kubernetes object resides.'."\n", + 'type' => 'string', + 'example' => 'kube-system', + ], + 'name' => [ + 'title' => 'k8s对象名称。', + 'description' => 'The Kubernetes object name.'."\n", + 'type' => 'string', + 'example' => 'nginx-ingress-lb', + ], + ], + ], + 'delete_behavior' => [ + 'title' => '删除集群时该资源的删除行为。', + 'description' => 'The deletion behavior of the resource when the cluster is deleted.'."\n", + 'type' => 'object', + 'properties' => [ + 'delete_by_default' => [ + 'title' => '删除集群时是否默认删除该资源。', + 'description' => 'Specifies whether to delete the resource by default when the cluster is deleted.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'changeable' => [ + 'title' => 'delete_by_default中返回的默认行为是否可以更改。', + 'description' => 'Specifies whether the default behavior returned in delete_by_default can be changed.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'creator_type' => [ + 'title' => '该资源创建者的类型。可能的取值:'."\n" + .'- user:由用户自行创建;'."\n" + .'- system:由ACK管控系统创建;'."\n" + .'- addon:由集群组件创建。', + 'description' => 'The type of the resource creator. Valid values:'."\n" + ."\n" + .'* user: The resource is created by the user.'."\n" + .'* system: The resource is created by the ACK management system.'."\n" + .'* addon: The resource is created by a cluster component.'."\n", + 'type' => 'string', + 'example' => 'addon', + 'enum' => [ + 'user', + 'system', + 'addon', + ], + ], + 'extra_info' => [ + 'title' => '资源的其他信息。', + 'description' => 'The additional information about the resource.'."\n", + 'type' => 'object', + 'example' => '{"IP": "xx.xx.xx.xx"}', + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b65****\\",\\n \\"created\\": \\"2023-08-15T14:34:42+08:00\\",\\n \\"instance_id\\": \\"ngw-wz9sphwk42sdtjixo****\\",\\n \\"resource_info\\": \\"{\\\\\\\\\\\\\\"Id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"KubernetesWorkerRole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"KubernetesWorkerRole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ALIYUN::RAM::Role\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CREATE_COMPLETE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StatusReason\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"state changed\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Updated\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-04-10T06:21:17\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PhysicalId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"KubernetesWorkerRole-7e611193-225f-40f6-bc3c-ea8633******\\\\\\\\\\\\\\"}\\",\\n \\"resource_type\\": \\"ALIYUN::VPC::NatGateway\\",\\n \\"state\\": \\"CREATE_COMPLETE\\",\\n \\"auto_create\\": 1,\\n \\"dependencies\\": [\\n {\\n \\"cluster_id\\": \\"cc5ee03f63e43425cb6f71f1a1756****\\",\\n \\"resource_type\\": \\"ALIYUN::VPC::NatGateway\\",\\n \\"instance_id\\": \\"ngw-wz9sphwk42sdtjixo****\\"\\n }\\n ],\\n \\"associated_object\\": {\\n \\"kind\\": \\"Service\\",\\n \\"namespace\\": \\"kube-system\\",\\n \\"name\\": \\"nginx-ingress-lb\\"\\n },\\n \\"delete_behavior\\": {\\n \\"delete_by_default\\": false,\\n \\"changeable\\": false\\n },\\n \\"creator_type\\": \\"addon\\",\\n \\"extra_info\\": {\\n \\"type\\": \\"SLS_Data\\"\\n }\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribeClusterResourcesResponse>\\n <cluster_id>cb95aa626a47740afbf6aa099b65****</cluster_id>\\n <created>2023-08-15T14:34:42+08:00</created>\\n <instance_id>ngw-wz9sphwk42sdtjixo****</instance_id>\\n <resource_info>{\\\\\\"Id\\\\\\":\\\\\\"k8s_NAT_Gateway\\\\\\",\\\\\\"Name\\\\\\":\\\\\\"k8s_NAT_Gateway\\\\\\",\\\\\\"Type\\\\\\":\\\\\\"ALIYUN::VPC::NatGateway\\\\\\",\\\\\\"Status\\\\\\":\\\\\\"CREATE_COMPLETE\\\\\\",\\\\\\"StatusReason\\\\\\":\\\\\\"state changed\\\\\\",\\\\\\"Updated\\\\\\":\\\\\\"2023-08-15T06:33:10\\\\\\",\\\\\\"PhysicalId\\\\\\":\\\\\\"ngw-wz9sphwk42sdtjixo****\\\\\\"}</resource_info>\\n <resource_type>ALIYUN::VPC::NatGateway</resource_type>\\n <state>CREATE_COMPLETE</state>\\n <auto_create>1</auto_create>\\n <dependencies>\\n <cluster_id>cc5ee03f63e43425cb6f71f1a1756****</cluster_id>\\n <resource_type>ALIYUN::VPC::NatGateway</resource_type>\\n <instance_id>ngw-wz9sphwk42sdtjixo****</instance_id>\\n </dependencies>\\n</DescribeClusterResourcesResponse>","errorExample":""}]', + 'title' => 'DescribeClusterResources', + 'translator' => 'machine', + ], + 'DescribeKubernetesVersionMetadata' => [ + 'summary' => 'Queries the detailed information about Kubernetes versions, including the version number, release date, expiration date, compatible OSs, and runtime.', + 'path' => '/api/v1/metadata/versions', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '526', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'title' => '地域ID。', + 'description' => 'The region ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'ClusterType', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => 'The cluster type that you want to use. Valid values:'."\n" + ."\n" + .'* `Kubernetes`: ACK dedicated cluster.'."\n" + .'* `ManagedKubernetes`: ACK managed cluster. ACK managed clusters include ACK Pro clusters, ACK Basic clusters, ACK Serverless Pro clusters, ACK Serverless Basic clusters, ACK Edge Pro clusters, and ACK Edge Basic clusters.'."\n" + .'* `ExternalKubernetes`: registered cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Kubernetes', + ], + ], + [ + 'name' => 'KubernetesVersion', + 'in' => 'query', + 'schema' => [ + 'title' => '要查询的版本,如果为空则查所有版本。', + 'description' => 'The Kubernetes version of the cluster. The Kubernetes versions supported by ACK are the same as the Kubernetes versions supported by open source Kubernetes. We recommend that you specify the latest Kubernetes version. If you do not configure this parameter, the latest Kubernetes version is used.'."\n" + ."\n" + .'For more information about the Kubernetes versions supported by ACK, see [Release notes for Kubernetes versions](~~185269~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.16.9-aliyun.1', + ], + ], + [ + 'name' => 'Profile', + 'in' => 'query', + 'schema' => [ + 'title' => '边缘集群标识,用于区分边缘集群,取值:Default或Edge。', + 'description' => 'The scenario where clusters are used. Valid values:'."\n" + ."\n" + .'* `Default`: non-edge computing scenarios'."\n" + .'* `Edge`: edge computing scenarios'."\n" + .'* `Serverless`: serverless scenarios.'."\n" + ."\n" + .'Default value: `Default`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'runtime', + 'in' => 'query', + 'schema' => [ + 'title' => '运行时。', + 'description' => 'The container runtime type that you want to use. You can specify a runtime type to query only OS images that support the runtime type. Valid values:'."\n" + ."\n" + .'* `docker`: Docker'."\n" + .'* `containerd`: containerd'."\n" + .'* `Sandboxed-Container.runv`: Sandboxed-Container'."\n" + ."\n" + .'If you specify a runtime type, only the OS images that support the specified runtime type are returned.'."\n" + ."\n" + .'Otherwise, all OS images are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'docker', + ], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => [ + 'title' => '查询模式,取值:supported、creatable', + 'description' => 'The query mode. Valid values:'."\n" + ."\n" + .'* `supported`: queries all supported Kubernetes versions.'."\n" + .'* `creatable`: queries only Kubernetes versions of clusters that you can create.'."\n" + ."\n" + .'If you specify `KubernetesVersion`, this parameter does not take effect.'."\n" + ."\n" + .'If you do not specify a query mode, Kubernetes versions of clusters that you can create are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'supported', + 'default' => 'creatable', + 'enum' => [], + ], + ], + [ + 'name' => 'QueryUpgradableVersion', + 'in' => 'query', + 'schema' => [ + 'title' => '是否查询该集群版本的可升级版本,仅在指定KubernetesVersion参数时生效。', + 'description' => 'Specifies whether to query the Kubernetes versions available for updates. This parameter takes effect only when the KubernetesVersion parameter is specified.'."\n" + ."\n" + .'* true: queries the Kubernetes versions available for updates.'."\n" + .'* false: does not query the Kubernetes versions available for updates.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => '1.30.1-aliyun.1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。 ', + 'description' => 'The details of the queried Kubernetes version.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Kubernetes version details.'."\n", + 'type' => 'object', + 'properties' => [ + 'capabilities' => [ + 'title' => 'Kubernetes版本特性。 ', + 'description' => 'Features of the queried Kubernetes version.'."\n", + 'type' => 'object', + 'example' => '{'."\n" + .' "AnyAZ": true,'."\n" + .' "ChargeType": "PostPaid"'."\n" + .'}', + ], + 'images' => [ + 'title' => 'ECS系统镜像列表。 ', + 'description' => 'The OS images that are returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the image.'."\n", + 'type' => 'object', + 'properties' => [ + 'image_id' => [ + 'title' => '镜像ID。 ', + 'description' => 'The ID of the image.'."\n", + 'type' => 'string', + 'example' => 'centos_7_7_x64_20G_alibase_20200426.vhd', + ], + 'image_name' => [ + 'title' => '镜像名称。 ', + 'description' => 'The image name.'."\n", + 'type' => 'string', + 'example' => 'CentOS 7.7', + ], + 'platform' => [ + 'title' => '操作系统发行版。取值范围: CentOS,AliyunLinux,Windows,WindowsCore。', + 'description' => 'The OS platform. You can obtain the terminal ID by calling one of the following operations:'."\n" + ."\n" + .'* `AliyunLinux`'."\n" + .'* `CentOS`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n", + 'type' => 'string', + 'example' => 'CentOS', + ], + 'os_version' => [ + 'title' => '镜像版本。', + 'description' => 'The version of the image.'."\n", + 'type' => 'string', + 'example' => '7.7', + ], + 'image_type' => [ + 'title' => '镜像类型。 ', + 'description' => 'The type of operating system distribution that you want to use. We recommend that you use this parameter to specify the node operating system. You can obtain the terminal ID by calling one of the following operations:'."\n" + ."\n" + .'* `CentOS`'."\n" + .'* `AliyunLinux`'."\n" + .'* `AliyunLinux Qboot`'."\n" + .'* `AliyunLinuxUEFI`'."\n" + .'* `AliyunLinux3`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n" + .'* `AliyunLinux3Arm64`'."\n" + .'* `ContainerOS`'."\n", + 'type' => 'string', + 'example' => 'centos_7_7_20', + ], + 'os_type' => [ + 'title' => '操作系统发行版本号。', + 'description' => 'The type of OS. Examples:'."\n" + ."\n" + .'* `Windows`'."\n" + .'* `Linux`'."\n", + 'type' => 'string', + 'example' => 'Linux', + ], + 'image_category' => [ + 'title' => '镜像分类', + 'description' => 'The type of image. Valid values:'."\n" + ."\n" + .'* `system`: public image'."\n" + .'* `self`: custom image'."\n" + .'* `others`: shared image from other Alibaba Cloud accounts'."\n" + .'* `marketplace`: image from the marketplace'."\n", + 'type' => 'string', + 'example' => 'system', + ], + 'architecture' => [ + 'title' => '镜像架构', + 'description' => 'The architecture of the image.'."\n", + 'type' => 'string', + 'example' => 'x86_64', + ], + ], + ], + ], + 'meta_data' => [ + 'title' => 'Kubernetes版本元数据信息。 ', + 'description' => 'The metadata of the Kubernetes version.'."\n", + 'type' => 'object', + 'example' => '{'."\n" + .' "KubernetesVersion": "1.31.1-aliyun.1",'."\n" + .' "SubClass": "default",'."\n" + .' "ServiceCIDR": ""'."\n" + .'}', + ], + 'runtimes' => [ + 'title' => '容器运行时详情。 ', + 'description' => 'The container runtime configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container runtime configurations.'."\n", + '$ref' => '#/components/schemas/runtime', + ], + ], + 'version' => [ + 'title' => 'Kubernetes版本。 ', + 'description' => 'The Kubernetes version supported by ACK. For more information, see [Release notes for Kubernetes versions](~~185269~~).'."\n", + 'type' => 'string', + 'example' => '1.16.9-aliyun.1', + ], + 'release_date' => [ + 'title' => 'Kubernetes版本发布时间。', + 'description' => 'The release date of the Kubernetes version.'."\n", + 'type' => 'string', + 'example' => '2023-04-30T00:00:00Z', + ], + 'expiration_date' => [ + 'title' => 'Kubernetes版本过期时间。 ', + 'description' => 'The expiration date of the Kubernetes version.'."\n", + 'type' => 'string', + 'example' => '2025-04-30T00:00:00Z', + ], + 'creatable' => [ + 'title' => '该版本是否可创建。', + 'description' => 'Indicates whether you can create clusters that run the Kubernetes version.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'upgradable_versions' => [ + 'title' => '可升级的版本列表。', + 'description' => 'The list of available Kubernetes versions for updates.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '可升级的版本。', + 'description' => 'The Kubernetes version available for updates.'."\n", + 'type' => 'string', + 'example' => '1.30.1-aliyun.1', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"capabilities\\": {\\n \\"AnyAZ\\": true,\\n \\"ChargeType\\": \\"PostPaid\\"\\n },\\n \\"images\\": [\\n {\\n \\"image_id\\": \\"aliyun_3_x64_20G_alibase_20241218.vhd\\",\\n \\"image_name\\": \\"Alibaba Cloud Linux 3.2104\\",\\n \\"platform\\": \\"AliyunLinux\\",\\n \\"os_version\\": \\"3.2104\\",\\n \\"image_type\\": \\"AliyunLinux3\\",\\n \\"os_type\\": \\"Linux\\",\\n \\"image_category\\": \\"system\\",\\n \\"architecture\\": \\"x86_64\\"\\n }\\n ],\\n \\"meta_data\\": {\\n \\"KubernetesVersion\\": \\"1.31.1-aliyun.1\\",\\n \\"SubClass\\": \\"default\\",\\n \\"ServiceCIDR\\": \\"\\"\\n },\\n \\"runtimes\\": [\\n {\\n \\"name\\": \\"docker\\",\\n \\"version\\": \\"19.03.5\\"\\n }\\n ],\\n \\"version\\": \\"1.31.1-aliyun.1\\",\\n \\"release_date\\": \\"2025-01-30T00:00:00Z\\",\\n \\"expiration_date\\": \\"2026-01-30T00:00:00Z\\",\\n \\"creatable\\": true,\\n \\"upgradable_versions\\": [\\n \\"1.32.1-aliyun.1\\"\\n ]\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribeKubernetesVersionMetadataResponse>\\n <images>\\n <image_id>centos_7_9_x64_20G_alibase_20221129.vhd</image_id>\\n <image_name>CentOS 7.9</image_name>\\n <platform>CentOS</platform>\\n <os_version>7.9</os_version>\\n <image_type>CentOS</image_type>\\n <os_type>Linux</os_type>\\n <image_category/>\\n <architecture>x86_64</architecture>\\n </images>\\n <runtimes>\\n <name>containerd</name>\\n <version>1.6.20</version>\\n </runtimes>\\n <version>1.26.3-aliyun.1</version>\\n <release_date>2023-04-30T00:00:00Z</release_date>\\n <expiration_date>2025-04-30T00:00:00Z</expiration_date>\\n <creatable>true</creatable>\\n</DescribeKubernetesVersionMetadataResponse>","errorExample":""}]', + 'title' => 'DescribeKubernetesVersionMetadata', + 'translator' => 'machine', + ], + 'DescribeUserClusterNamespaces' => [ + 'summary' => 'You can use Kubernetes namespaces to limit users from accessing resources in a Container Service for Kubernetes (ACK) cluster. Users that are granted Role-Based Access Control (RBAC) permissions only on one namespace cannot access resources in other namespaces. Queries the RBAC permissions that are granted to the current Resource Access Management (RAM) user or RAM role on an ACK cluster.', + 'path' => '/api/v2/k8s/{ClusterId}/namespaces', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '指定的集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '当前用户有权限访问的命名空间列表', + 'description' => 'The list of namespaces that the current RAM user is authorized to access.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of namespaces that are visible to the RAM user.'."\n", + 'type' => 'string', + 'example' => '[ "default", "kube-node-lease", "kube-public", "kube-system" ]', + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"[\\n \\"[ \\\\\\"default\\\\\\", \\\\\\"kube-node-lease\\\\\\", \\\\\\"kube-public\\\\\\", \\\\\\"kube-system\\\\\\" ]\\"\\n]","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeUserClusterNamespaces', + ], + 'DescribeClusterLogs' => [ + 'summary' => 'Queries the cluster log to help analyze cluster issues and locate the cause.', + 'path' => '/clusters/{ClusterId}/logs', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk0H96CV', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体', + 'description' => 'The list of the returned log entries.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'title' => '日志ID。', + 'description' => 'The ID of the log entry.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '590749245', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c23421cfa74454bc8b37163fd19af***', + ], + 'cluster_log' => [ + 'title' => '日志内容。', + 'description' => 'The log content.'."\n", + 'type' => 'string', + 'example' => 'start to update cluster status to CREATE_COMPLETE', + ], + 'created' => [ + 'title' => '日志创建时间。', + 'description' => 'The time when the log entry was generated.'."\n", + 'type' => 'string', + 'example' => '2020-09-11T10:11:51+08:00', + ], + 'updated' => [ + 'title' => '日志更新时间。', + 'description' => 'The time when the log entry was updated.'."\n", + 'type' => 'string', + 'example' => '2020-09-11T10:11:51+08:00', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"ID\\": 0,\\n \\"cluster_id\\": \\"c23421cfa74454bc8b37163fd19af***\\",\\n \\"cluster_log\\": \\"start to update cluster status to CREATE_COMPLETE\\",\\n \\"created\\": \\"2025-04-10T17:54:26+08:00\\",\\n \\"updated\\": \\"2025-04-10T17:54:26+08:00\\"\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribeClusterLogsResponse>\\n <ID>590749245</ID>\\n <cluster_id>c23421cfa74454bc8b37163fd19af***</cluster_id>\\n <cluster_log>start to update cluster status to CREATE_COMPLETE</cluster_log>\\n <created>2020-09-11T10:11:51+08:00</created>\\n <updated>2020-09-11T10:11:51+08:00</updated>\\n</DescribeClusterLogsResponse>","errorExample":""}]', + 'title' => 'DescribeClusterLogs', + ], + 'DescribeUserQuota' => [ + 'summary' => 'Queries quotas related to Container Service for Kubernetes (ACK) clusters, node pools, and nodes. To increase a quota, submit an application in the Quota Center console.', + 'path' => '/quota', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'amk_cluster_quota' => [ + 'title' => '托管版集群配额。', + 'description' => 'The quota of Container Service for Kubernetes (ACK) managed clusters. Default value: 20. If the default quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'ask_cluster_quota' => [ + 'title' => 'Serverless集群配额。', + 'description' => 'The quota of ACK Serverless clusters. Default value: 20. If the default quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'cluster_nodepool_quota' => [ + 'title' => '集群节点池配额。', + 'description' => 'The quota of node pools in an ACK cluster. Default value: 20. If the default quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'cluster_quota' => [ + 'title' => '专有版集群托管版集群的总配额。', + 'description' => 'The quota of clusters that belong to an Alibaba Cloud account. Default value: 50. If the default quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'node_quota' => [ + 'title' => '单集群的节点配额。', + 'description' => 'The quota of nodes in an ACK cluster. Default value: 100. If the default quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'edge_improved_nodepool_quota' => [ + 'title' => '边缘增强型节点池quota', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The quotas of enhanced edge node pools.'."\n", + 'type' => 'object', + 'properties' => [ + 'bandwidth' => [ + 'title' => '每个边缘增强型节点池允许的最大带宽,单位Mbps', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The maximum bandwidth of each enhanced edge node pool. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'count' => [ + 'title' => '每个账号下允许创建的边缘增强型节点池数量。', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The maximum number of enhanced edge node pools that you can create within an Alibaba Cloud account.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'period' => [ + 'title' => '每个边缘增强型节点池最大购买时长,单位月。由于边缘增强型节点池为按量付费,用户暂时无需关注该字段。', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The maximum subscription duration of an enhanced edge node pool. Unit: months.'."\n" + ."\n" + .'> You are charged for enhanced edge node pools based on the pay-as-you-go billing method. Therefore, you can ignore this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + ], + ], + 'quotas' => [ + 'description' => 'Information about the new quota.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'quota' => [ + 'type' => 'string', + 'example' => '1', + 'description' => 'The value of the quota. If the quota limit is reached, submit an application in the [Quota Center console](https://quotas.console.aliyun.com/products/csk/quotas) to increase the quota.'."\n", + ], + 'operation_code' => [ + 'type' => 'string', + 'description' => 'The quota code.'."\n", + 'example' => 'q_Kubernetes_Cluster', + ], + 'adjustable' => [ + 'type' => 'boolean', + 'description' => 'Indicates whether the quota is adjustable.'."\n", + 'example' => 'true', + ], + 'unit' => [ + 'type' => 'string', + 'example' => 'Cluster', + 'description' => 'The unit.'."\n", + ], + ], + 'description' => 'The new quota.'."\n", + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"amk_cluster_quota\\": 20,\\n \\"ask_cluster_quota\\": 3,\\n \\"cluster_nodepool_quota\\": 10,\\n \\"cluster_quota\\": 50,\\n \\"node_quota\\": 100,\\n \\"edge_improved_nodepool_quota\\": {\\n \\"bandwidth\\": 10,\\n \\"count\\": 3,\\n \\"period\\": 3\\n },\\n \\"quotas\\": {\\n \\"key\\": {\\n \\"quota\\": \\"1\\",\\n \\"operation_code\\": \\"q_Kubernetes_Cluster\\",\\n \\"adjustable\\": true,\\n \\"unit\\": \\"Cluster\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserQuotaResponse>\\n <amk_cluster_quota>20</amk_cluster_quota>\\n <ask_cluster_quota>3</ask_cluster_quota>\\n <cluster_nodepool_quota>10</cluster_nodepool_quota>\\n <cluster_quota>50</cluster_quota>\\n <node_quota>100</node_quota>\\n <edge_improved_nodepool_quota>\\n <bandwidth>10</bandwidth>\\n <count>3</count>\\n <period>3</period>\\n </edge_improved_nodepool_quota>\\n <quotas>\\n <key>\\n <quota>1</quota>\\n <operation_code>q_Kubernetes_Cluster</operation_code>\\n <adjustable>true</adjustable>\\n <unit>Cluster</unit>\\n </key>\\n </quotas>\\n</DescribeUserQuotaResponse>","errorExample":""}]', + 'title' => 'DescribeUserQuota', + ], + 'MigrateCluster' => [ + 'summary' => 'The Container Service for Kubernetes (ACK) managed Pro cluster type is developed based on the ACK managed Basic cluster type. It inherits all benefits of ACK managed clusters, such as fully-managed control planes and control plane high availability. It further enhances reliability, security, scheduling capabilities, and offers service level agreement (SLA)-backed guarantees, making it ideal for enterprise customers with large-scale production workloads requiring high stability and security. You can call the MigrateCluster operation to migrate an ACK managed Basic cluster to an ACK managed Pro cluster.', + 'path' => '/clusters/{cluster_id}/migrate', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c21e0591548ba4c10bdb535d6572b****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'oss_bucket_name' => [ + 'title' => 'bucket名称。', + 'description' => 'The name of the Object Storage Service (OSS) bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bucket-****', + ], + 'oss_bucket_endpoint' => [ + 'title' => 'bucket访问端点。', + 'description' => 'The endpoint of the OSS bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*******.oss-cn-hangzhou.aliyuncs.com', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '响应体', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c8155823d057948c69a****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '20758A-585D-4A41-A9B2-28DA8F4F534F', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-62ccd14aacb8db06ca00****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"c21e0591548ba4c10bdb535d657******\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E43******\\",\\n \\"task_id\\": \\"T-62ccd14aacb8db06ca******\\"\\n}","errorExample":""},{"type":"xml","example":"<MigrateClusterResponse>\\n <cluster_id>c8155823d057948c69a****</cluster_id>\\n <request_id>20758A-585D-4A41-A9B2-28DA8F4F534F</request_id>\\n <task_id>T-62ccd14aacb8db06ca00****</task_id>\\n</MigrateClusterResponse>","errorExample":""}]', + 'title' => 'MigrateCluster', + ], + 'DescribeClusterUserKubeconfig' => [ + 'summary' => 'Kubeconfig files store identity and authentication information that is used by clients to access Container Service for Kubernetes (ACK) clusters. To use a kubectl client to manage an ACK cluster, you need to use the corresponding kubeconfig file to connect to the ACK cluster. We recommend that you keep kubeconfig files confidential and revoke kubeconfig files that are not in use. This helps prevent data leaks caused by the disclosure of kubeconfig files.', + 'path' => '/k8s/{ClusterId}/user_config', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '396', + 'abilityTreeNodes' => [ + 'FEATUREcsk7DKI2D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'title' => 'ApiServer是否为内网地址。', + 'description' => 'Specifies whether to obtain the kubeconfig file that is used to connect to the cluster over the internal network. You can obtain the terminal ID by calling one of the following operations:'."\n" + ."\n" + .'* `true`: obtains the kubeconfig file that is used to connect to the master instance over the internal network.'."\n" + .'* `false`: obtains the kubeconfig file that is used to connect to the master instance over the Internet.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'TemporaryDurationMinutes', + 'in' => 'query', + 'schema' => [ + 'title' => '临时kubeconfig有效期,单位:分钟。 最小值:15(15分钟) 最大值:4320(3天)。', + 'description' => 'The validity period of the temporary kubeconfig file. Unit: minutes. Valid values: 15 to 4320 (3 days).'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Usage notes** If you do not specify this parameter, the system specifies a longer validity period. The validity period is returned in the `expiration` parameter.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '15', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'config' => [ + 'title' => 'kubeconfig内容。', + 'description' => 'The kubeconfig file of the cluster.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: v1****', + ], + 'expiration' => [ + 'title' => 'kubeconfig过期时间。格式:RFC3339 格式的 UTC 时间。', + 'description' => 'The expiration time of the kubeconfig file. Format: the UTC time in the RFC3339 format.'."\n", + 'type' => 'string', + 'example' => '2024-03-10T09:56:17Z', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"config\\": \\"apiVersion: v1\\\\\\\\nclusters:\\\\\\\\n- cluster:\\\\\\\\n server: https://114.55.xx.xx:6443\\\\\\\\n certificate-authority-data: LS0tLS****\\",\\n \\"expiration\\": \\"2024-03-10T09:56:17Z\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterUserKubeconfigResponse>\\n <config>apiVersion: v1****</config>\\n <expiration>2024-03-10T09:56:17Z</expiration>\\n</DescribeClusterUserKubeconfigResponse>","errorExample":""}]', + 'title' => 'DescribeClusterUserKubeconfig', + 'description' => '* The default validity period of a kubeconfig file is 3 years. 180 days before a kubeconfig file expires, you can renew it in the Container Service for Kubernetes (ACK) console or by calling API operations. After a kubeconfig file is renewed, the kubeconfig file is valid for 3 years. The previous kubeconfig file still remains valid until expiration. We recommend that you renew your kubeconfig file at the earliest opportunity.'."\n" + .'* We recommend that you keep kubeconfig files confidential and revoke kubeconfig files that are not in use. This helps prevent data leaks caused by the disclosure of kubeconfig files.'."\n", + ], + 'DescribeSubaccountK8sClusterUserConfig' => [ + 'summary' => 'Queries or issues the kubeconfig credentials of a Resource Access Management (RAM) user or RAM role of the account. If you are the permission manager of a Container Service for Kubernetes (ACK) cluster, you can issue the kubeconfig credentials to a specific RAM user or RAM role of the account by using the Alibaba Cloud account. The kubeconfig credentials, which are used to connect to the ACK cluster, contain the identity information about the RAM user or RAM role.', + 'path' => '/k8s/{ClusterId}/users/{Uid}/user_config', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '162217', + 'abilityTreeNodes' => [ + 'FEATUREcsk7DKI2D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8f****', + ], + ], + [ + 'name' => 'Uid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the RAM user or RAM role whose cluster kubeconfig file that you want to obtain.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '26562443851650****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to obtain the kubeconfig file used to connect to the cluster over the internal network. Valid values:'."\n" + ."\n" + .'* `true`: Obtain the kubeconfig file used to connect to the cluster over the internal network.'."\n" + .'* `false`: Obtain the kubeconfig file used to connect to the cluster over the Internet.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'TemporaryDurationMinutes', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the temporary kubeconfig file. Unit: minutes.'."\n" + ."\n" + .'Valid values: 15 to 4320 (three days).'."\n" + ."\n" + .'> If you leave this parameter empty, the system sets a longer validity period and returns the value in the expiration parameter of the response.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '15', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'config' => [ + 'description' => 'The cluster kubeconfig file. For more information about how to view the kubeconfig file content, see [Configure cluster credentials](~~86494~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'apiVersion: v1****', + ], + 'expiration' => [ + 'description' => 'The expiration date of the kubeconfig file. The value is the UTC time displayed in RFC3339 format.'."\n", + 'type' => 'string', + 'example' => '2024-03-10T09:56:17Z', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"config\\": \\"apiVersion: v1\\\\\\\\nclusters:\\\\\\\\n- cluster:\\\\\\\\n server: https://114.55.xx.xx:6443\\\\\\\\n certificate-authority-data: LS0tLS****\\",\\n \\"expiration\\": \\"2028-04-09T06:20:47Z\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSubaccountK8sClusterUserConfigResponse>\\n <config>apiVersion: v1****</config>\\n <expiration>2024-03-10T09:56:17Z</expiration>\\n</DescribeSubaccountK8sClusterUserConfigResponse>","errorExample":""}]', + 'title' => 'DescribeSubaccountK8sClusterUserConfig', + 'description' => 'You can call this operation only by using an Alibaba Cloud account.'."\n", + ], + 'ListUserKubeConfigStates' => [ + 'summary' => 'You can call the ListUserKubeConfigStates operation to query the status of the kubeconfig files of all clusters managed by the current user.', + 'path' => '/users/{Uid}/kubeconfig/states', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203488', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'Uid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2xxxxxxxxxxxxxxxxxx', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n" + ."\n" + .'* Valid values: ≥ 1.'."\n" + .'* Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'deprecated' => false, + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'* Value values: 1 to 100.'."\n" + .'* Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'deprecated' => false, + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'states' => [ + 'description' => 'The status of the kubeconfig files.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'."\n", + ], + 'cert_expire_time' => [ + 'description' => 'The expiration date of the certificate used in a kubeconfig file. Format: the UTC time in the RFC3339 format.'."\n", + 'type' => 'string', + 'example' => '2026-11-30T07:41:50Z', + ], + 'cert_state' => [ + 'description' => 'The current status of the certificate used in a kubeconfig file. Valid values:'."\n" + ."\n" + .'* Expired: The certificate is expired.'."\n" + .'* Unexpired: The certificate is not expired.'."\n" + .'* Unissued: The certificate is not issued.'."\n" + .'* Unknown: The status of the certificate is unknown.'."\n" + .'* Removed: The certificate is removed. An issue record is found for the certificate.'."\n", + 'type' => 'string', + 'example' => 'Unissued', + ], + 'cluster_state' => [ + 'description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* `initial`: The cluster is being created.'."\n" + .'* `failed`: The cluster failed to be created.'."\n" + .'* `running`: The cluster is running.'."\n" + .'* `updating`: The cluster is being upgraded.'."\n" + .'* `updating_failed`: The cluster failed to be updated.'."\n" + .'* `scaling`: The cluster is being scaled.'."\n" + .'* `stopped`: The cluster is stopped.'."\n" + .'* `deleting`: The cluster is being deleted.'."\n" + .'* `deleted`: The cluster is deleted.'."\n" + .'* `delete_failed`: The cluster failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'cluster_name' => [ + 'description' => 'The name of the cluster.'."\n" + ."\n" + .'The name must be 1 to 63 characters in length, and can contain digits, underscores (\\_), and hyphens (-). The name must start with a letter or number.'."\n", + 'type' => 'string', + 'example' => 'cluster-demo', + ], + ], + 'description' => '', + ], + ], + 'page' => [ + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'page_size' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'total_count' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"states\\": [\\n {\\n \\"cluster_id\\": \\"c5b5e80b0b64a4bf6939d2d8fbbc5****\\\\n\\",\\n \\"cert_expire_time\\": \\"2028-04-09T06:20:47Z\\",\\n \\"cert_state\\": \\"Unissued\\",\\n \\"cluster_state\\": \\"running\\",\\n \\"cluster_name\\": \\"cluster-demo\\"\\n }\\n ],\\n \\"page\\": {\\n \\"page_number\\": 1,\\n \\"page_size\\": 10,\\n \\"total_count\\": 100\\n }\\n}","type":"json"}]', + 'title' => 'ListUserKubeConfigStates', + 'description' => '> To call this operation, make sure that you have the AliyunCSFullAccess permissions.'."\n", + ], + 'ListClusterKubeconfigStates' => [ + 'summary' => 'Queries the kubeconfig files that are issued to users for the current cluster and the status of the kubeconfig files.', + 'path' => '/clusters/{ClusterId}/kubeconfig/states', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200813', + 'abilityTreeNodes' => [ + 'FEATUREcsk01W1JN', + 'FEATUREcskD83BWV', + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n" + ."\n" + .'* Valid values: ≥ 1.'."\n" + .'* Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'* Valid values: 10 to 50.'."\n" + .'* Default value: 10'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'cloudServiceKubeConfig', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'states' => [ + 'description' => 'The status list of the kubeconfig files associated with the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'account_id' => [ + 'title' => '账号ID', + 'description' => 'The ID of an Alibaba Cloud account, RAM user, or RAM role.'."\n", + 'type' => 'string', + 'example' => '22855*****************', + ], + 'account_name' => [ + 'title' => '账号名称', + 'description' => 'The logon name or role name of the RAM user.'."\n", + 'type' => 'string', + 'example' => 'tom', + ], + 'account_display_name' => [ + 'title' => '账号显示名称', + 'description' => 'The displayed name or role name of the RAM user.'."\n", + 'type' => 'string', + 'example' => 'tom', + ], + 'account_type' => [ + 'title' => '账号类型', + 'description' => 'The type of the account.'."\n" + ."\n" + .'* RootAccount: Alibaba Cloud account.'."\n" + .'* RamUser: RAM user.'."\n" + .'* RamRole: RAM role.'."\n", + 'type' => 'string', + 'example' => 'RamUser', + ], + 'account_state' => [ + 'title' => '账号状态', + 'description' => 'The status of the account.'."\n" + ."\n" + .'* Active: The account is active.'."\n" + .'* InActive: The account is locked.'."\n" + .'* Deleted: The account is deleted.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'cert_expire_time' => [ + 'title' => '证书过期时间', + 'description' => 'The expiration time of the client certificate for the kubeconfig file.'."\n", + 'type' => 'string', + 'example' => '2027-07-15T01:32:20Z', + ], + 'cert_state' => [ + 'title' => '证书状态', + 'description' => 'The status of the client certificate for the kubeconfig file.'."\n" + ."\n" + .'* Unexpired: The certificate is not expired.'."\n" + .'* Expired: The certificate is expired.'."\n" + .'* Unknown: The status of the certificate is unknown.'."\n", + 'type' => 'string', + 'example' => 'Expired', + ], + 'revokable' => [ + 'title' => '证书是否可吊销', + 'description' => 'Indicates whether the client certificate for the kubeconfig file can be revoked.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'cloud_service_name' => [ + 'type' => 'string', + ], + 'cloud_service_roles' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'type' => 'string', + ], + 'role_name' => [ + 'type' => 'string', + ], + 'role_namespace' => [ + 'type' => 'string', + ], + 'is_default_template' => [ + 'type' => 'boolean', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'page' => [ + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'title' => '页码', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'page_size' => [ + 'title' => '每页包含的最大记录数量', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'total_count' => [ + 'title' => '结果总数', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"states\\": [\\n {\\n \\"account_id\\": \\"22855*****************\\",\\n \\"account_name\\": \\"tom\\",\\n \\"account_display_name\\": \\"tom\\",\\n \\"account_type\\": \\"RamUser\\",\\n \\"account_state\\": \\"Active\\",\\n \\"cert_expire_time\\": \\"2027-07-15T01:32:20Z\\",\\n \\"cert_state\\": \\"Expired\\",\\n \\"revokable\\": true,\\n \\"cloud_service_name\\": \\"cs/ecs/sls\\",\\n \\"cloud_service_roles\\": [\\n {\\n \\"type\\": \\"ClusterRole\\",\\n \\"role_name\\": \\"cluster-admin\\",\\n \\"role_namespace\\": \\"kube-system\\",\\n \\"is_default_template\\": true\\n }\\n ]\\n }\\n ],\\n \\"page\\": {\\n \\"page_number\\": 1,\\n \\"page_size\\": 10,\\n \\"total_count\\": 5\\n }\\n}","type":"json"}]', + 'title' => 'ListClusterKubeconfigStates', + 'description' => '> - To call this operation, make sure that you have ram:ListUsers and ram:ListRoles permissions.'."\n" + .'> - To call this operation, make sure that you have the AliyunCSFullAccess permissions.', + ], + 'UpdateK8sClusterUserConfigExpire' => [ + 'summary' => 'Sets the validity period of a kubeconfig file used by a Resource Access Management (RAM) user or RAM role to connect to a Container Service for Kubernetes (ACK) cluster. The validity period ranges from 1 to 876,000 hours. You can call this API operation when you customize configurations by using an Alibaba Cloud account. The default validity period of a kubeconfig file is three years.', + 'path' => '/k8s/{ClusterId}/user_config/expire', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群id', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'expire_hour' => [ + 'title' => 'kubeconfig过期小时', + 'description' => 'Specifies the expiration time of the kubeconfig file. Unit: hours.'."\n" + ."\n" + .'Valid values: \\[1, 1876000]. The maximum value is 100 years.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'maximum' => '876000', + 'minimum' => '0', + 'example' => '720', + ], + 'user' => [ + 'title' => '指定用户id', + 'description' => 'The RAM user ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => 'The ID of the Resource Access Management (RAM) user that you use.', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'UpdateK8sClusterUserConfigExpire', + 'description' => '* You can call this operation only with an Alibaba Cloud account.'."\n" + .'* If the kubeconfig file used by your cluster is revoked, the custom validity period of the kubeconfig file is reset. In this case, you need to call this API operation to reconfigure the validity period of the kubeconfig file.'."\n", + ], + 'RevokeK8sClusterKubeConfig' => [ + 'summary' => 'You can call the RevokeK8sClusterKubeConfig operation to revoke the kubeconfig file of a cluster that belongs to the current Alibaba Cloud account or RAM user. After the kubeconfig file is revoked, the cluster generates a new kubeconfig file, and the original kubeconfig file becomes invalid.', + 'path' => '/k8s/{ClusterId}/certs', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '161583', + 'abilityTreeNodes' => [ + 'FEATUREcsk01W1JN', + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'responseDemo' => '[{"type":"json","example":"{}","errorExample":""},{"type":"xml","example":"<RevokeK8sClusterKubeConfigResponse>\\n <config>apiVersion: v1****</config>\\n <expiration>2024-03-10T09:56:17Z</expiration>\\n</RevokeK8sClusterKubeConfigResponse>","errorExample":""}]', + 'title' => 'RevokeK8sClusterKubeConfig', + ], + 'CleanClusterUserPermissions' => [ + 'summary' => 'Deletes kubeconfig files that may pose potential risks from a user and revokes Role-Based Access Control (RBAC) permissions on a cluster.', + 'path' => '/cluster/{ClusterId}/user/{Uid}/permissions', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk01W1JN', + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'."\n", + ], + ], + [ + 'name' => 'Uid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2xxxxxxxxxxxxxxxxxx'."\n", + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to forcefully delete the specified kubeconfig files. Valid values:'."\n" + ."\n" + .'* false (default): checks the cluster access records within the previous seven days before deleting the kubeconfig files. The kubeconfig files are not deleted if cluster access records are found or fail to be retrieved.'."\n" + .'* true: forcefully deletes the kubeconfig files without checking the cluster access records.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'CleanClusterUserPermissions', + 'description' => '> '."\n" + ."\n" + .'* To call this operation, make sure that you have the AliyunCSFullAccess permission.'."\n" + ."\n" + .'* You cannot revoke the permissions of an Alibaba Cloud account.'."\n" + ."\n" + .'* You cannot revoke the permissions of the account that you use to call this operation.'."\n", + ], + 'CleanUserPermissions' => [ + 'summary' => 'You can call the CleanUserPermissions operation to delete the kubeconfig files of the specified users and revoke the relevant Role-Based Access Control (RBAC) permissions. This API operation is suitable for scenarios where employees have resigned or the accounts of employees are locked.', + 'path' => '/users/{Uid}/permissions', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '201666', + 'abilityTreeNodes' => [ + 'FEATUREcskM5ADAN', + ], + ], + 'parameters' => [ + [ + 'name' => 'Uid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '26562443851650****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to forcefully delete the specified kubeconfig files. Valid values:'."\n" + ."\n" + .'* false (default): checks the cluster access records within the previous seven days before deleting the kubeconfig files. The kubeconfig files are not deleted if cluster access records are found or fail to be retrieved.'."\n" + .'* true: forcefully deletes the kubeconfig files without checking the cluster access records.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClusterIds', + 'in' => 'query', + 'style' => 'simple', + 'schema' => [ + 'description' => 'The cluster IDs. If you specify a list of cluster IDs, only the kubeconfig files and RBAC permissions of the clusters that belong to the current user in the list are revoked.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cd53c3a9ee12a494c9a0451e2ffc11c65', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + 'task_id' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'clean-user-permissions-2085266204********-6694c16e6ae07***********', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"clean-user-permissions-2085266204********-6694c16e6ae07***********\\"\\n}","type":"json"}]', + 'title' => 'CleanUserPermissions', + 'description' => '> - To call this operation, make sure that you have the AliyunCSFullAccess permission.'."\n" + .'> - You cannot revoke the permissions of an Alibaba Cloud account.'."\n" + .'> - You cannot revoke the permissions of the account that you use to call this operation.', + ], + 'CreateClusterNodePool' => [ + 'summary' => 'Creates a node pool for a Container Service for Kubernetes (ACK) cluster. You can use node pools to facilitate node management. For example, you can schedule, configure, or maintain nodes by node pool, and enable auto scaling for a node pool. We recommend that you use a managed node pool, which can help automate specific O\\\\\\\\\\\\&M tasks for nodes, such as Common Vulnerabilities and Exposures (CVE) patching and node repair. This reduces your O\\\\\\\\\\\\&M workload.', + 'path' => '/clusters/{ClusterId}/nodepools', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '553', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c61da77e8bfbc4c4c999af2b51b65****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_info' => [ + 'title' => '节点池配置', + 'description' => 'The configurations of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点池名称', + 'description' => 'The name of the node pool.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cluster-demo', + ], + 'type' => [ + 'title' => '节点池类型,对于边缘节点池来说,类型为"edge"', + 'description' => 'The type of node pool. Valid values:'."\n" + ."\n" + .'* `ess`: regular node pool, which supports the managed node pool feature and the auto scaling feature.'."\n" + .'* `edge`: edge node pool.'."\n" + .'* `lingjun`: Lingjun node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'lingjun' => '', + 'edge' => '', + 'ess' => '', + ], + 'example' => 'ess', + ], + 'resource_group_id' => [ + 'title' => '资源组ID。', + 'description' => 'The ID of the resource group to which the node pool belongs. Instances that are added to the node pool belong to this resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmyvw3wjmb****', + ], + ], + 'required' => false, + ], + 'auto_scaling' => [ + 'title' => '自动伸缩节点池配置。', + 'description' => 'The configurations of auto scaling.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否开启自动伸缩。', + 'description' => 'Specifies whether to enable auto scaling for the node pool. Valid values:'."\n" + ."\n" + .'* `true`: enables auto scaling.'."\n" + .'* `false`: disables auto scaling. If you set this parameter to false, other parameters in the `auto_scaling` section do not take effect.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'type' => [ + 'title' => '扩容节点类型。', + 'description' => 'The instance type that is used for auto scaling. This parameter takes effect only when `enable` is set to true. Valid values:'."\n" + ."\n" + .'* `cpu`: regular instance.'."\n" + .'* `gpu`: GPU-accelerated instance.'."\n" + .'* `gpushare`: shared GPU-accelerated instance.'."\n" + .'* `spot`: preemptible instance.'."\n" + ."\n" + .'Default value: `cpu`.'."\n" + ."\n" + .'> You cannot modify this parameter after the node pool is created.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'spot' => '', + 'cpu' => '', + 'gpushare' => '', + 'gpu' => '', + ], + 'example' => 'cpu', + ], + 'max_instances' => [ + 'title' => '最大实例数。', + 'description' => 'The maximum number to which the Elastic Compute Service (ECS) instances in the node pool can be scaled. The number of nodes in the node pool cannot be greater than this value. This parameter takes effect only when `enable` is set to true. Valid values: \\[min_instances, 2000]. Default value: 0.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + 'min_instances' => [ + 'title' => '最小实例数。', + 'description' => 'The minimum number to which the ECS instances in the node pool can be scaled. The number of nodes in the node pool cannot be smaller than this value. This parameter takes effect only when `enable` is set to true. Valid values: \\[0, max_instances]. Default value: 0.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'is_bond_eip' => [ + 'title' => '【该字段已废弃】'."\n" + .'是否绑定EIP。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'Specifies whether to associate an elastic IP address (EIP) with the node pool. Valid values:'."\n" + ."\n" + .'* `true`: associates an EIP with the node pool.'."\n" + .'* `false`: does not associate an EIP with the node pool.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Important** This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'eip_internet_charge_type' => [ + 'title' => '【该字段已废弃】请使用internet_charge_type代替'."\n" + .'EIP实例规格。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n" + ."\n" + .'Default value: `PayByBandwidth`.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Important** This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PayByBandwidth', + ], + 'eip_bandwidth' => [ + 'title' => '【该字段已废弃】请使用internet_max_bandwidth_out代替'."\n" + .'带宽峰值。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Important** This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '5', + ], + ], + 'required' => false, + ], + 'management' => [ + 'title' => '托管节点池配置。', + 'description' => 'The configurations of the managed node pool feature.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否启用托管节点池。', + 'description' => 'Specifies whether to enable the managed node pool feature. Valid values:'."\n" + ."\n" + .'* `true`: enables the managed node pool feature.'."\n" + .'* `false`: disables the managed node pool feature. Other parameters in this section take effect only when enable is set to true.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'auto_repair' => [ + 'title' => '是否启用自动修复。', + 'description' => 'Specifies whether to enable auto node repair. This parameter takes effect only when `enable` is set to true.'."\n" + ."\n" + .'* `true`: enables auto node repair.'."\n" + .'* `false`: disables auto node repair.'."\n" + ."\n" + .'If `enable` is set to true, the default value of this parameter is `true`. If `enable` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'auto_repair_policy' => [ + 'title' => '自动修复节点策略。', + 'description' => 'The auto node repair policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_repair` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows node restart.'."\n" + .'* `false`: does not allow node restart.'."\n" + ."\n" + .'If `auto_repair` is set to true, the default value of this parameter is `true`. If `auto_repair` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true'."\n", + ], + 'approval_required' => [ + 'title' => '节点修复是否需要人工审批。', + 'type' => 'boolean', + ], + ], + 'required' => false, + ], + 'auto_vul_fix' => [ + 'title' => '是否自动修复CVE。', + 'description' => 'Specifies whether to enable auto Common Vulnerabilities and Exposures (CVE) patching. This parameter takes effect only when `enable` is set to true.'."\n" + ."\n" + .'* `true`: enables auto CVE patching.'."\n" + .'* `false`: disables auto CVE patching.'."\n" + ."\n" + .'If `enable` is set to true, the default value of this parameter is `true`. If `enable` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_vul_fix_policy' => [ + 'title' => '自动修复CVE策略。', + 'description' => 'The auto CVE patching policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows node restart.'."\n" + .'* `false`: does not allow node restart. If `auto_vul_fix` is set to true, the default value of this parameter is `false`. If `auto_vul_fix` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'vul_level' => [ + 'title' => '允许自动修复的漏洞级别,以逗号分隔。', + 'description' => 'The severity levels of CVEs that can be automatically patched. Separate multiple levels with commas (,). Example: `asap,later`. Valid values:'."\n" + ."\n" + .'* `asap`: high.'."\n" + .'* `later`: medium.'."\n" + .'* `nntf`: low.'."\n" + ."\n" + .'If `auto_vul_fix` is set to true, the default value of this parameter is `asap`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asap,nntf', + ], + 'exclude_packages' => [ + 'title' => '指定在漏洞修复过程中应排除的包名。', + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'auto_upgrade' => [ + 'title' => '是否自动升级。', + 'description' => 'Specifies whether to enable auto node upgrade. This parameter takes effect only when `enable` is set to true.'."\n" + ."\n" + .'* `true`: enables auto node upgrade.'."\n" + .'* `false`: disables auto node upgrade.'."\n" + ."\n" + .'If `enable` is set to true, the default value of this parameter is `true`. If `enable` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true'."\n", + ], + 'auto_upgrade_policy' => [ + 'title' => '自动升级策略。', + 'description' => 'The auto node upgrade policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade_kubelet' => [ + 'title' => '是否允许自动升级kubelet。', + 'description' => 'Specifies whether to allow the auto upgrade of the kubelet. This parameter takes effect only when `auto_upgrade` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows the auto upgrade of the kubelet.'."\n" + .'* `false`: does not allow the auto upgrade of the kubelet.'."\n" + ."\n" + .'If `auto_upgrade` is set to true, the default value of this parameter is `true`. If `auto_upgrade` is set to false, the default value of this parameter is `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true'."\n", + ], + 'auto_upgrade_runtime' => [ + 'title' => '是否允许自动升级运行时。', + 'description' => 'Specifies whether to allow the auto upgrade of the runtime. This parameter takes effect only when `auto_upgrade` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows the auto upgrade of the runtime.'."\n" + .'* `false`: does not allow the auto upgrade of the runtime.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'auto_upgrade_os' => [ + 'title' => '是否允许自动升级操作系统。', + 'description' => 'Specifies whether to allow the auto upgrade of the OS. This parameter takes effect only when `auto_upgrade` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows the auto upgrade of the OS.'."\n" + .'* `false`: does not allow the auto upgrade of the OS.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'upgrade_config' => [ + 'title' => '自动升级配置。', + 'description' => 'The configurations of auto upgrade. The configurations take effect only when `enable` is set to true.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade' => [ + 'title' => '【该字段已废弃】请使用上层的auto_upgrade替代'."\n" + .'是否启用自动升级', + 'description' => 'Specifies whether to enable auto upgrade. Valid values:'."\n" + ."\n" + .'* `true`: enables auto OS upgrade.'."\n" + .'* `false`: disables auto OS upgrade.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Caution** This parameter is deprecated. Use the preceding auto_upgrade parameter instead.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'surge' => [ + 'title' => '额外节点数量。', + 'description' => 'The number of nodes that are temporarily added to the node pool during an auto upgrade.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'surge_percentage' => [ + 'title' => '额外节点比例。和surge二选一。', + 'description' => 'The percentage of additional nodes that are temporarily added to the node pool during an auto upgrade. You must set this parameter or `surge`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'max_unavailable' => [ + 'title' => '最大不可用节点数量。', + 'description' => 'The maximum number of nodes that can be in the Unavailable state. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + 'deprecated' => true, + 'required' => false, + ], + ], + 'required' => false, + ], + 'scaling_group' => [ + 'title' => '伸缩组配置', + 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'vswitch_ids' => [ + 'title' => '虚拟交换机ID。', + 'description' => 'The vSwitch IDs. You can specify one to eight vSwitch IDs.'."\n" + ."\n" + .'> To ensure high availability, we recommend that you select vSwitches that reside in different zones.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the vSwitches.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-wz9mfnhmssud6eicu****', + ], + 'required' => true, + ], + 'instance_types' => [ + 'title' => '实例规格。', + 'description' => 'The instance types of nodes in the node pool. When the system adds a node to the node pool, the system selects the most appropriate one from the specified instance types for the node. You can specify 1 to 10 instance types.'."\n" + ."\n" + .'> To ensure high availability, we recommend that you specify multiple instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.d1ne.2xlarge', + ], + 'required' => true, + ], + 'instance_charge_type' => [ + 'title' => '节点付费类型', + 'description' => 'The billing method of nodes in the node pool. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: `PostPaid`'."\n", + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'PostPaid' => '', + 'PrePaid' => '', + ], + 'example' => 'PrePaid', + ], + 'period' => [ + 'title' => '节点包年包月时长。', + 'description' => 'The subscription duration of nodes in the node pool. This parameter takes effect and is required if you set `instance_charge_type` to `PrePaid`.'."\n" + ."\n" + .'* If `period_unit` is set to Week, the valid values of `period` are 1, 2, 3, and 4.'."\n" + .'* If `period_unit` is set to Month, the valid values of `period` are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '节点包年包月周期。', + 'description' => 'The billing cycle of nodes in the node pool. This parameter takes effect and is required only when you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `Month`: The subscription duration is measured in months.'."\n" + .'* `Week`: The subscription duration is measured in weeks.'."\n" + ."\n" + .'Default value: `Month`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点是否开启自动续费', + 'description' => 'Specifies whether to enable auto-renewal for nodes in the node pool. This parameter takes effect only when you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '节点自动续费周期', + 'description' => 'The auto-renewal period. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3.'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'spot_strategy' => [ + 'title' => '抢占式实例类型', + 'description' => 'The bidding policy of preemptible instances. Valid values:'."\n" + ."\n" + .'* `NoSpot`: non-preemptible.'."\n" + .'* `SpotWithPriceLimit`: specifies the highest bid for the preemptible instance.'."\n" + .'* `SpotAsPriceGo`: automatically submits bids based on the up-to-date market price.'."\n" + ."\n" + .'For more information, see [Use preemptible instances](~~165053~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + 'spot_price_limit' => [ + 'title' => '抢占实例价格上限配置。', + 'description' => 'The instance type of preemptible instances and the price cap for the instance type.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The price cap of a preemptible instance. You can specify different price caps for different instance types.'."\n", + 'type' => 'object', + 'properties' => [ + 'instance_type' => [ + 'title' => '抢占实例规格。', + 'description' => 'The instance type of preemptible instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + 'price_limit' => [ + 'title' => '抢占实例单价。', + 'description' => 'The price cap of a preemptible instance of the type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.39', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'image_type' => [ + 'title' => '操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:CentOS、AliyunLinux、AliyunLinux Qboot、AliyunLinuxUEFI、AliyunLinux3、Windows、WindowsCore、AliyunLinux3Arm64、ContainerOS。', + 'description' => 'The type of the OS image. You must specify this parameter or `platform`. Valid values:'."\n" + ."\n" + .'* `AliyunLinux`: Alibaba Cloud Linux 2.'."\n" + .'* `AliyunLinuxSecurity`: Alibaba Cloud Linux 2 (UEFI).'."\n" + .'* `AliyunLinux3`: Alibaba Cloud Linux 3'."\n" + .'* `AliyunLinux3Arm64`: Alibaba Cloud Linux 3 for ARM.'."\n" + .'* `AliyunLinux3Security`: Alibaba Cloud Linux 3 for ARM.'."\n" + .'* `CentOS`: CentOS.'."\n" + .'* `Windows`: Windows.'."\n" + .'* `WindowsCore`: Windows Core.'."\n" + .'* `ContainerOS`: ContainerOS.'."\n" + .'* `AliyunLinux3ContainerOptimized`: Alibaba Cloud Linux 3 Container-optimized.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunLinux', + ], + 'image_id' => [ + 'title' => '自定义镜像。', + 'description' => 'The custom image ID. By default, the image provided by Container Service for Kubernetes (ACK) is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk.'."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: ESSD.'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_efficiency', + ], + 'system_disk_categories' => [ + 'title' => '系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:cloud:普通云盘。cloud_efficiency:高效云盘。cloud_ssd:SSD云盘。cloud_essd:ESSD云盘。', + 'description' => 'The categories of the system disk for nodes. The system attempts to create system disks of a disk category with a lower priority if the disk category with a higher priority is unavailable. Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk.'."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: ESSD.'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '节点系统盘类型', + 'description' => 'The category of the system disk for nodes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + 'enum' => [], + ], + 'required' => false, + 'maxItems' => 10, + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小。', + 'description' => 'The size of the system disk. Unit: GiB.'."\n" + ."\n" + .'Valid values: 20 to 20248.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '120', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效', + 'description' => 'The PL of the system disk. This parameter takes effect only for an ESSD.'."\n" + ."\n" + .'* PL0: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL1: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL2: high maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency.'."\n" + ."\n" + .'> Alibaba Cloud disks support the preceding PLs. However, when you create a disk, the available PLs vary based on the ECS instance type that you selected. For more information, see [Overview of ECS instance families](~~25378~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'system_disk_encrypted' => [ + 'title' => '是否加密系统盘。取值范围:true:加密。false:不加密。', + 'description' => 'Specifies whether to encrypt the system disk. true: encrypts the system disk. false: does not encrypt the system disk.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'system_disk_kms_key_id' => [ + 'title' => '系统盘使用的KMS密钥ID。', + 'description' => 'The ID of the KMS key that is used to encrypt the system disk.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'system_disk_encrypt_algorithm' => [ + 'title' => '系统盘采用的加密算法。取值范围:aes-256。', + 'description' => 'The encryption algorithm that is used to encrypt the system disk. Set the value to aes-256.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aes-256', + 'enum' => [], + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发),磁盘类型为cloud_auto时配置。', + 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* true: enables the burst feature.'."\n" + .'* false: disables the burst feature.'."\n" + ."\n" + .'This parameter is available only when `SystemDiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS,磁盘类型为cloud_auto时配置。', + 'description' => 'The preset IOPS of the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.'."\n" + ."\n" + .'This parameter is supported only when `SystemDiskCategory` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + ], + 'data_disks' => [ + 'title' => '数据盘配置。', + 'description' => 'The configurations of the data disks that are attached to nodes in the node pool.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the data disk.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/data_disk', + ], + 'required' => false, + ], + 'disk_init' => [ + 'title' => '块设备初始化配置。', + 'type' => 'array', + 'items' => [ + '$ref' => '#/components/schemas/DiskInit', + ], + ], + 'security_group_ids' => [ + 'title' => '多安全组ID', + 'description' => 'The IDs of security groups. You must specify this parameter or `security_group_id`. We recommend that you specify `security_group_ids`. If you specify both `security_group_id` and `security_group_ids`, `security_group_ids` is used.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The security group ID. You must specify this parameter or `security_group_id`. We recommend that you specify `security_group_ids`. If you specify both `security_group_id` and `security_group_ids`, `security_group_ids` is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sg-wz9a8g2mt6x5llu0****', + ], + 'required' => false, + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair used to log on to nodes in the node pool. You must set this parameter or `login_password`.'."\n" + ."\n" + .'> If you select ContainerOS as the OS of nodes in the node pool, you must specify `key_pair`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'np-key-name', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。', + 'description' => 'The password for SSH logon. You must specify this parameter or the `key_pair` parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Hello1234', + ], + 'login_as_non_root' => [ + 'title' => '弹出的ECS实例是否使用以非root用户登陆。', + 'description' => 'Specifies whether to allow a non-root user to log on to an ECS instance that is added to the node pool.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'cis_enabled' => [ + 'title' => '【已废弃】请使用security_hardening_os参数代替', + 'description' => 'This parameter is deprecated. Use security_hardening_os instead.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保加固,仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启等保加固。阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。', + 'description' => 'Specifies whether to enable MLPS Security Hardening. You can enable security hardening based on Multi-Level Protection Scheme (MLPS) only when Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3 is installed on nodes. Alibaba Cloud provides standards for baseline checks and a scanner to ensure the compliance of Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 images with the level 3 standards of MLPS 2.0.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Indicates whether Alibaba Cloud Linux Security Hardening is enabled. Valid values:'."\n" + ."\n" + .'* `true`: enables Alibaba Cloud Linux Security Hardening.'."\n" + .'* `false`: disables Alibaba Cloud Linux Security Hardening.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'internet_charge_type' => [ + 'title' => '节点公网IP网络计费类型', + 'description' => 'The metering method of the public IP address. Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay-by-bandwidth.'."\n" + .'* PayByTraffic: pay-by-data-transfer.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + 'internet_max_bandwidth_out' => [ + 'title' => '节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:1~100', + 'description' => 'The maximum outbound bandwidth of the public IP address. Unit: Mbit/s. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + 'tags' => [ + 'title' => 'ECS标签', + 'description' => 'The tags that you want to add only to ECS instances.'."\n" + ."\n" + .'The tag key must be unique and cannot exceed 128 characters in length. The tag key and value cannot start with aliyun or acs: or contain https:// or http://.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'title' => 'key', + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'node-k-1', + ], + 'value' => [ + 'title' => 'value', + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'node-v-1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'desired_size' => [ + 'title' => '节点池期望节点数', + 'description' => 'The expected number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'multi_az_policy' => [ + 'title' => '多可用区伸缩组ECS实例扩缩容策略', + 'description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* `PRIORITY`: ECS instances are scaled based on the value of VSwitchIds.N. If an ECS instance cannot be created in the zone where the vSwitch that has the highest priority resides, the system creates the ECS instance in the zone where the vSwitch that has the next highest priority resides.'."\n" + ."\n" + .'* `COST_OPTIMIZED`: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created if preemptible instance types are specified in the scaling configurations. You can set the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** `COST_OPTIMIZED` takes effect only when multiple instance types are specified or at least one preemptible instance type is specified.'."\n" + ."\n" + .'* `BALANCE`: ECS instances are evenly distributed across multiple zones for the scaling group. If ECS instances become imbalanced among multiple zones due to insufficient inventory, you can call the [RebalanceInstances](~~71516~~) operation of Auto Scaling to evenly distribute the ECS instances among zones.'."\n" + ."\n" + .'Default value: `PRIORITY`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'COST_OPTIMIZED', + ], + 'scaling_policy' => [ + 'title' => '自动伸缩。', + 'description' => 'The scaling mode of the scaling group. Valid values:'."\n" + ."\n" + .'* `release`: the standard mode. ECS instances are created and released based on resource usage.'."\n" + .'* `recycle`: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached with local disks.'."\n" + ."\n" + .'Default value: `release`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'release', + ], + 'on_demand_base_capacity' => [ + 'title' => '伸缩组所需要按量实例个数的最小值,取值范围:0~1000。当按量实例个数少于该值时,将优先创建按量实例。', + 'description' => 'The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, the system preferably creates pay-as-you-go instances.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'on_demand_percentage_above_base_capacity' => [ + 'title' => '伸缩组满足最小按量实例数(OnDemandBaseCapacity)要求后,超出的实例中按量实例应占的比例,取值范围:0~100。', + 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by `on_demand_base_capacity`. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'spot_instance_pools' => [ + 'title' => '指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:1~10。', + 'description' => 'The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + 'spot_instance_remedy' => [ + 'title' => '是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。', + 'description' => 'Indicates whether preemptible instances can be supplemented. If you set this parameter to true, when the scaling group receives a system message indicating that a preemptible instance is to be reclaimed, the scaling group attempts to create a new instance to replace this instance. Valid values:'."\n" + ."\n" + .'* `true`: enables the supplementation of preemptible instances.'."\n" + .'* `false`: disables the supplementation of preemptible instances.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'compensate_with_on_demand' => [ + 'title' => '当MultiAZPolicy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值范围:true:允许。false:不允许。默认值:true', + 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as the price or insufficient inventory. This parameter takes effect when you set `multi_az_policy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* `true`: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.'."\n" + .'* `false`: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The ID of the deployment set.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', + ], + 'rds_instances' => [ + 'title' => 'RDS实例列表。', + 'description' => 'The IDs of ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ApsaraDB RDS instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rds-****', + ], + 'required' => false, + ], + 'private_pool_options' => [ + 'title' => '私有池选项。', + 'description' => 'The configurations of the private node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'description' => 'The ID of the private node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'match_criteria' => [ + 'title' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围: Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置PrivatePoolOptions.Id参数。 Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即PrivatePoolOptions.Id参数为必填项。 None:不使用模式。实例启动将不使用私有池容量。', + 'description' => 'The type of private node pool. This parameter specifies the type of private pool that you want to use to create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. The system selects a private pool to start instances. Valid values:'."\n" + ."\n" + .'* `Open`: uses an open private pool. The system selects an open private pool to start instances. If no matching open private pools are available, the resources in the public pool are used.'."\n" + .'* `Target`: uses a specified private pool. The system uses the resources of the specified private pool to start instances. If the specified private pool is unavailable, instances cannot be started.'."\n" + .'* `None`: no private pool is used. The resources of private pools are not used to launch the instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + ], + ], + 'required' => false, + ], + 'security_group_id' => [ + 'title' => '【该字段已废弃】请使用security_group_ids替代'."\n" + .'安全组ID。', + 'description' => 'The ID of the security group to which you want to add the node pool. You must specify this parameter or the `security_group_ids` parameter. We recommend that you specify `security_group_ids`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sg-wz9a8g2mt6x5llu0****', + ], + 'platform' => [ + 'title' => '【该字段已废弃】请使用image_type替代'."\n" + .'操作系统发行版,和image_type二选一', + 'description' => 'The operating system distribution. Valid values:'."\n" + ."\n" + .'* `CentOS`'."\n" + .'* `AliyunLinux`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n" + ."\n" + .'Default value: `AliyunLinux`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'AliyunLinux', + ], + 'instance_patterns' => [ + 'title' => '实例属性', + 'description' => 'The instance attributes.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '实例属性', + 'description' => 'The instance attributes.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/instance_patterns', + ], + 'required' => false, + ], + 'ram_role_name' => [ + 'title' => 'Worker RAM角色名称。为空时,将使用集群默认创建的Worker RAM角色。仅支持1.22及以上版本的ACK托管版集群。', + 'description' => 'The name of the worker RAM role.'."\n" + ."\n" + .'* If you do not specify this parameter, the default worker RAM role created by the cluster is used.'."\n" + .'* The specified RAM role must be a **regular service role** and the **Select Trusted Service** parameter must be set to **Elastic Compute Service**. For more information, see [Create a normal service role](~~116800~~). If the specified RAM role is not the default worker RAM role created by the cluster, the name of the RAM role cannot start with `KubernetesMasterRole-` or `KubernetesWorkerRole-`.'."\n" + ."\n" + .'> This parameter is available only for ACK managed clusters that run Kubernetes 1.22 or later.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example-role', + ], + 'instance_metadata_options' => [ + 'title' => 'ECS 实例的元数据访问配置。该参数目前仅白名单开放,如需使用,请提交工单申请。', + '$ref' => '#/components/schemas/InstanceMetadataOptions', + ], + 'resource_pool_options' => [ + 'title' => '创建实例时使用的资源池及资源池策略。当您设置该参数后,需要注意:'."\n" + .'该参数只在创建按量付费实例时生效。'."\n" + .'该参数不能与private_pool_options.match_criteria、private_pool_options.id同时设置。', + 'type' => 'object', + 'properties' => [ + 'strategy' => [ + 'title' => '创建实例时使用的资源池策略。资源池包括弹性保障服务或容量预定服务生效后生成的私有池以及公共池,供实例启动时选择。取值范围:'."\n" + .'PrivatePoolFirst:私有池优先。选择此种策略时, 当指定了 resouce_pool_options.private_pool_ids,优先使用指定的私有池。如果未指定私有池或指定的私有池容量不足,将自动匹配开放类型的私有池。如果没有符合条件的私有池,则使用公共池创建实例。'."\n" + .'PrivatePoolOnly:仅限私有池。选择此种策略时,必须指定 resouce_pool_options.private_pool_ids。如果指定的私有池容量不足,则实例会启动失败。'."\n" + .'None:不使用资源池策略。'."\n" + .'默认值:None。', + 'type' => 'string', + 'example' => 'PrivatePoolFirst', + 'enum' => [ + 'PrivatePoolOnly', + 'PrivatePoolFirst', + 'None', + ], + ], + 'private_pool_ids' => [ + 'title' => '私有池 ID列表。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。N 的取值范围:1~20。', + 'type' => 'array', + 'items' => [ + 'title' => '私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '系统盘快照策略', + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'node_config' => [ + 'title' => '节点配置', + 'description' => 'The node configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'kubelet_configuration' => [ + 'title' => 'Kubelet参数配置。', + 'description' => 'The configurations of the kubelet.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/kubelet_config', + ], + ], + 'required' => false, + ], + 'kubernetes_config' => [ + 'title' => '集群配置', + 'description' => 'The configurations of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'labels' => [ + 'title' => '节点标签。', + 'description' => 'The labels that you want to add to the nodes in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the label.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + 'taints' => [ + 'title' => '污点信息。', + 'description' => 'The configurations of the taints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of taint configurations.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/taint', + ], + 'required' => false, + ], + 'runtime' => [ + 'title' => '容器运行时。', + 'description' => 'The name of the container runtime. The following types of runtime are supported by ACK:'."\n" + ."\n" + .'* containerd: containerd is the recommended runtime and supports all Kubernetes versions.'."\n" + .'* Sandboxed-Container.runv: The Sandbox-Container runtime provides improved isolation and supports Kubernetes 1.24 and earlier.'."\n" + .'* docker: The Docker runtime supports Kubernetes 1.22 and earlier.'."\n" + ."\n" + .'Default value: containerd.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'docker', + ], + 'runtime_version' => [ + 'title' => '容器运行时版本。', + 'description' => 'The version of the container runtime.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '19.03.5', + ], + 'cpu_policy' => [ + 'title' => 'CPU管理策略。', + 'description' => 'The CPU management policy of nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n" + ."\n" + .'Default value: `none`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + 'user_data' => [ + 'title' => '节点自定义数据。', + 'description' => 'The user-defined data of nodes. You can specify custom scripts that are automatically executed after the nodes are initialized.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU=', + ], + 'unschedulable' => [ + 'title' => '扩容后的节点是否可调度。', + 'description' => 'Specifies whether the nodes are schedulable after a scale-out operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'cms_enabled' => [ + 'title' => '是否开启云监控。', + 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After the CloudMonitor agent is installed on ECS nodes, you can view monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`: installs the CloudMonitor agent on ECS nodes.'."\n" + .'* `false`: does not install the CloudMonitor agent on ECS nodes.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'node_name_mode' => [ + 'title' => '自定义节点名称', + 'description' => 'A custom node name consists of a prefix, a node IP address, and a suffix.'."\n" + ."\n" + .'* The prefix and the suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.'."\n" + .'* The node IP address in a custom node name is the private IP address of the node.'."\n" + ."\n" + .'Set the parameter to a value in the customized,aliyun,ip,com format. The value consists of four parts that are separated by commas (,). customized and ip are fixed content. aliyun is the prefix and com is the suffix. Example: aliyun.192.168.xxx.xxx.com.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'customized,aliyun,ip,com', + ], + 'pre_user_data' => [ + 'description' => 'The user-defined data of nodes. You can specify custom scripts that are automatically executed before the nodes are initialized.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU', + ], + ], + 'required' => false, + ], + 'tee_config' => [ + 'title' => '加密计算节点池配置。', + 'description' => 'The configurations of confidential computing for the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'tee_enable' => [ + 'title' => '是否为加密计算节点池。', + 'description' => 'Specifies whether to enable confidential computing for the cluster.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'interconnect_config' => [ + 'title' => '【该字段已废弃】'."\n" + .'边缘节点池网络相关的配置。该值只对edge类型的节点池有意义', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The configurations of the edge node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'cen_id' => [ + 'title' => '边缘增强型节点池绑定的云企业网实例ID(CENID)', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cen-ey9k9nfhz0f*******', + ], + 'ccn_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例ID(CCNID)', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ccn-qm5i0i0q9yi*******', + ], + 'ccn_region_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例所属的区域', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The region to which the CCN instance that is associated with the enhanced edge node pool belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + 'bandwidth' => [ + 'title' => '边缘增强型节点池的网络带宽,单位M。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The bandwidth of the enhanced edge node pool. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + 'improved_period' => [ + 'title' => '边缘增强型节点池的购买时长,单位月', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The subscription duration of the enhanced edge node pool. The duration is measured in months.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + 'deprecated' => true, + 'required' => false, + ], + 'count' => [ + 'title' => '【该字段已废弃】请使用desired_size替代'."\n" + .'节点池节点数量。', + 'description' => 'This parameter is deprecated. Use the desired_size parameter instead.'."\n" + ."\n" + .'The number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + 'max_nodes' => [ + 'title' => '【该字段已废弃】'."\n" + .'边缘节点池允许容纳的最大节点数量. 节点池内可以容纳的最大节点数量,该参数大于等于0。0表示无额外限制(仅受限于集群整体可以容纳的节点数,节点池本身无额外限制)。边缘节点池该参数值往往大于0;ess类型节点池和默认的edge类型节点池该参数值为0', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The maximum number of nodes that can be contained in the edge node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '10', + ], + 'interconnect_mode' => [ + 'title' => '边缘节点池的网络类型。basic:基础型;improved:增强型。该值只对edge类型的节点池有意义。', + 'description' => 'The network type of the edge node pool. This parameter takes effect only when the `type` of the node pool is set to `edge`. Valid values:'."\n" + ."\n" + .'* `basic`: Internet.'."\n" + .'* `private`: private network.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'basic', + ], + 'host_network' => [ + 'title' => '边缘节点池内的Pod是否都采用主机网络模式部署。', + 'description' => 'Specifies whether to set the network type of the pod to host network.'."\n" + ."\n" + .'* `true`: sets to host network.'."\n" + .'* `false`: sets to container network.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'intranet' => [ + 'title' => '边缘节点池内的所有节点在三层网络上是否互通。', + 'description' => 'Specifies whether all nodes in the edge node pool can communicate with each other at Layer 3.'."\n" + ."\n" + .'* `true`: The nodes in the edge node pool can communicate with each other at Layer 3.'."\n" + .'* `false`: The nodes in the edge node pool cannot communicate with each other at Layer 3.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'eflo_node_group' => [ + 'title' => '灵骏节点池配置。', + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '创建灵骏节点池时需要关联的灵骏集群ID。', + 'type' => 'string', + ], + 'group_id' => [ + 'title' => '创建灵骏节点池时需要关联的灵骏集群的灵骏分组ID。', + 'type' => 'string', + ], + ], + ], + 'auto_mode' => [ + 'title' => '智能托管配置。', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'type' => 'boolean', + ], + ], + ], + 'node_components' => [ + 'title' => '节点组件列表。', + 'type' => 'array', + 'items' => [ + 'title' => '节点组件。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点组件名称。', + 'type' => 'string', + 'example' => 'kubelet', + ], + 'version' => [ + 'title' => '节点组件版本。', + 'type' => 'string', + 'example' => '1.33.3-aliyun.1', + ], + 'config' => [ + 'title' => '节点组件配置。', + 'type' => 'object', + 'properties' => [ + 'custom_config' => [ + 'title' => '节点组件自定义配置。', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'cpuManagerPolicy', + ], + ], + ], + ], + ], + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The configurations of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_id' => [ + 'title' => '节点池ID', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + 'task_id' => [ + 'title' => '任务ID', + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => 'T-613b19bbd160ad492800****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0527ac9a-c899-4341-a21a-****', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"nodepool_id\\": \\"np31da1b38983f4511b490fc62108a****\\",\\n \\"task_id\\": \\"T-613b19bbd160ad492800****\\",\\n \\"request_id\\": \\"0527ac9a-c899-4341-a21a-****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateClusterNodePoolResponse>\\n <nodepool_id>np31da1b38983f4511b490fc62108a****</nodepool_id>\\n</CreateClusterNodePoolResponse>","errorExample":""}]', + 'title' => 'CreateClusterNodePool', + ], + 'DeleteClusterNodepool' => [ + 'summary' => 'Deletes unused node pools. Deleting a node pool terminates all pods on its nodes, which triggers pod rescheduling. Insufficient cluster resources may cause scheduling failures and business impact.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '554', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c61da77e8bfbc4c4c999af2b51b65****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np30db56bcac7843dca90b999c8928****', + ], + ], + [ + 'name' => 'force', + 'in' => 'query', + 'schema' => [ + 'title' => '是否强制删除。', + 'description' => 'Specifies whether to forcefully delete the node pool.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7263C978-3DBD-4E06-B319-793B38A2F388', + ], + 'task_id' => [ + 'title' => '任务ID', + 'description' => 'task IDs'."\n", + 'type' => 'string', + 'example' => 'T-655ace947e0e6603af000004', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"7263C978-3DBD-4E06-B319-793B38******\\",\\n \\"task_id\\": \\"T-655ace947e0e6603af******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteClusterNodepoolResponse>\\n <request_id>7263C978-3DBD-4E06-B319-793B38A2F388</request_id>\\n</DeleteClusterNodepoolResponse>","errorExample":""}]', + 'title' => 'DeleteClusterNodepool', + ], + 'DescribeClusterNodePoolDetail' => [ + 'summary' => 'You can call the DescribeClusterNodePoolDetail.html operation to query the details about a node pool in a cluster by node pool ID.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '527', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The details about the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_info' => [ + 'title' => '节点池详情。', + 'description' => 'The configuration of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_id' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np615c0e0966124216a0412e10afe0****', + ], + 'name' => [ + 'title' => '节点池名称。', + 'description' => 'The name of the node pool.'."\n" + ."\n" + .'The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-).'."\n", + 'type' => 'string', + 'example' => 'default-nodepool', + ], + 'type' => [ + 'title' => '节点池类型。', + 'description' => 'The type of node pool.'."\n", + 'type' => 'string', + 'example' => 'ess', + ], + 'is_default' => [ + 'title' => '是否为默认节点池。', + 'description' => 'Indicates whether the node pool is a default node pool. A Container Service for Kubernetes (ACK) cluster usually has only one default node pool. Valid values: `true`: The node pool is a default node pool. `false`: The node pool is not a default node pool.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'resource_group_id' => [ + 'title' => '节点池所属资源组ID。', + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjmb****', + ], + 'region_id' => [ + 'title' => '节点池所属地域ID。', + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'created' => [ + 'title' => '节点池创建时间。', + 'description' => 'The time when the node pool was created.'."\n", + 'type' => 'string', + 'example' => '2020-09-27T19:14:09.156823496+08:00', + ], + 'updated' => [ + 'title' => '节点池更新时间。', + 'description' => 'The time when the node pool was last updated.'."\n", + 'type' => 'string', + 'example' => '2020-09-27T20:37:46+08:00', + ], + ], + ], + 'status' => [ + 'title' => '节点池状态。', + 'description' => 'The status details about the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'state' => [ + 'title' => '节点池状态。', + 'description' => 'The status of the node pool. Valid values:'."\n" + ."\n" + .'* `active`: The node pool is active.'."\n" + .'* `scaling`: The node pool is being scaled.'."\n" + .'* `removing`: Nodes are being removed from the node pool.'."\n" + .'* `deleting`: The node pool is being deleted.'."\n" + .'* `updating`: The node pool is being updated.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'healthy_nodes' => [ + 'title' => '处于健康状态节点数。', + 'description' => 'The number of healthy nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'initial_nodes' => [ + 'title' => '正在初始化节点数。', + 'description' => 'The number of nodes that are being created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'failed_nodes' => [ + 'title' => '失败节点数。', + 'description' => 'The number of failed nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'offline_nodes' => [ + 'title' => '离线节点数量。', + 'description' => 'The number of offline nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'removing_nodes' => [ + 'title' => '正在被移除节点数。', + 'description' => 'The number of nodes that are being removed.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'serving_nodes' => [ + 'title' => '工作节点数量。', + 'description' => 'The number of running nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'total_nodes' => [ + 'title' => '总节点数。', + 'description' => 'The total number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'conditions' => [ + 'title' => '节点池现状,表示节点池不同维度的状态信息。', + 'type' => 'array', + 'items' => [ + 'title' => '单个状态属性。', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'title' => '类型。', + 'type' => 'string', + ], + 'status' => [ + 'title' => '状态。', + 'type' => 'string', + ], + 'reason' => [ + 'title' => '原因。', + 'type' => 'string', + ], + 'message' => [ + 'title' => '详细信息。', + 'type' => 'string', + ], + 'last_transition_time' => [ + 'title' => '上一次状态转换时间。', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + 'auto_scaling' => [ + 'title' => '节点池自动伸缩信息。', + 'description' => 'The auto scaling configuration of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否启用自动伸缩。', + 'description' => 'Indicates whether auto scaling is enabled. Valid values:'."\n" + ."\n" + .'* `true`: auto scaling is enabled.'."\n" + .'* `false`: auto scaling is disabled. If this parameter is set to false, other parameters in the `auto_scaling` section do not take effect.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'type' => [ + 'title' => '扩容组类型', + 'description' => 'The instance types that can be used for the auto scaling of the node pool. Valid values:'."\n" + ."\n" + .'* `cpu`: regular instance.'."\n" + .'* `gpu`: GPU-accelerated instance.'."\n" + .'* `gpushare`: shared GPU-accelerated instance.'."\n" + .'* `spot`: preemptible instance.'."\n", + 'type' => 'string', + 'example' => 'cpu', + ], + 'max_instances' => [ + 'title' => '最大实例数。', + 'description' => 'The maximum number of Elastic Compute Service (ECS) instances that can be created in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'min_instances' => [ + 'title' => '最小实例数。', + 'description' => 'The minimum number of ECS instances that must be kept in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'eip_internet_charge_type' => [ + 'title' => 'EIP实例付费类型。', + 'description' => 'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n", + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'is_bond_eip' => [ + 'title' => '是否绑定EIP。', + 'description' => 'Indicates whether an EIP is associated with the node pool. Valid values:'."\n" + ."\n" + .'* `true`: An EIP is associated with the node pool.'."\n" + .'* `false`: No EIP is associated with the node pool.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'eip_bandwidth' => [ + 'title' => 'EIP带宽峰值。', + 'description' => 'The maximum bandwidth of the elastic IP address (EIP).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + ], + ], + 'management' => [ + 'title' => '托管版节点池配置。', + 'description' => 'The configuration of the managed node pool feature.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否开启托管版节点池。', + 'description' => 'Indicates whether the managed node pool feature is enabled. Valid values:'."\n" + ."\n" + .'* `true`: The managed node pool feature is enabled.'."\n" + .'* `false`: The managed node pool feature is disabled. Other parameters in this section take effect only when `enable=true` is specified.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_repair' => [ + 'title' => '自动修复。', + 'description' => 'Indicates whether auto repair is enabled. This parameter takes effect only when `enable=true` is specified. Valid values:'."\n" + ."\n" + .'* `true`: Auto repair is enabled.'."\n" + .'* `false`: Auto repair is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_repair_policy' => [ + 'title' => '自动修复节点策略。', + 'description' => 'Automatic repair node policy.', + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Whether to allow restarting nodes.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'approval_required' => [ + 'title' => '节点修复是否需要人工审批。', + 'type' => 'boolean', + ], + 'auto_repair_policy_id' => [ + 'title' => '自动修复策略ID', + 'type' => 'string', + 'example' => 'r-xxxxxxxxxx', + ], + ], + ], + 'auto_vul_fix' => [ + 'title' => '是否自动修复CVE。', + 'description' => 'Whether to automatically fix CVEs.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_vul_fix_policy' => [ + 'title' => '自动修复CVE策略。', + 'description' => 'Automatically repair CVE policies.', + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Whether to allow restarting nodes.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'vul_level' => [ + 'title' => '允许自动修复的漏洞级别,以逗号分隔。', + 'description' => 'The vulnerability levels allowed for auto-fixing, separated by commas.', + 'type' => 'string', + 'example' => 'asap,nntf', + ], + 'exclude_packages' => [ + 'type' => 'string', + ], + ], + ], + 'auto_upgrade' => [ + 'title' => '是否自动升级。', + 'description' => 'Whether to automatically upgrade.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_upgrade_policy' => [ + 'title' => '自动升级策略。', + 'description' => 'Automatic upgrade policy.', + 'type' => 'object', + 'properties' => [ + 'auto_upgrade_kubelet' => [ + 'title' => '是否允许自动升级kubelet。', + 'description' => 'Whether to allow automatic upgrading of kubelet.', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'upgrade_config' => [ + 'title' => '自动升级配置。', + 'description' => 'The configuration of auto update. The configuration takes effect only when `enable=true` is specified.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade' => [ + 'title' => '是否启用自动升级,自修复。', + 'description' => 'Indicates whether auto update is enabled. Valid values:'."\n" + ."\n" + .'* `true`: Auto update is enabled.'."\n" + .'* `false`: Auto update is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'surge' => [ + 'title' => '额外节点数量。', + 'description' => 'The number of additional nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'surge_percentage' => [ + 'title' => '额外节点比例, 和surge 二选一。', + 'description' => 'The percentage of additional nodes to the nodes in the node pool. You must set this parameter or `surge`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'max_unavailable' => [ + 'title' => '最大不可用节点数量。', + 'description' => 'The maximum number of nodes that can be in the Unavailable state. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + 'scaling_group' => [ + 'title' => '节点池扩容组信息。', + 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'scaling_group_id' => [ + 'title' => '扩容组ID ', + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-2zeieod8giqmov7z****', + ], + 'vswitch_ids' => [ + 'title' => '虚拟交换机ID。', + 'description' => 'The IDs of vSwitches. You can specify 1 to 20 vSwitches.'."\n" + ."\n" + .'> We recommend that you select vSwitches in different zones to ensure high availability.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'example' => 'vsw-2ze3ds0mdip0hdz8i****', + ], + ], + 'instance_types' => [ + 'title' => '实例规格。', + 'description' => 'A list of instance types. You can select multiple instance types. When the system needs to create a node, it starts from the first instance type until the node is created. The instance type that is used to create the node varies based on the actual instance stock.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance types of the nodes in the node pool.'."\n", + 'type' => 'string', + 'example' => 'ecs.n4.large', + ], + ], + 'instance_charge_type' => [ + 'title' => '节点付费类型', + 'description' => 'The billing method of the nodes in the node pool. Valid values:'."\n" + ."\n" + .'* `PrePaid`: the subscription billing method.'."\n" + .'* `PostPaid`: the pay-as-you-go billing method.'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'period' => [ + 'title' => '节点包年包月时长。', + 'description' => 'The subscription duration of worker nodes. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'If `PeriodUnit=Month` is specified, the valid values are 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'period_unit' => [ + 'title' => '节点包年包月周期。', + 'description' => 'The billing cycle of the nodes. This parameter is required if `instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'Valid value: `Month`.'."\n", + 'type' => 'string', + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点是否开启自动续费', + 'description' => 'Indicates whether auto-renewal is enabled for the nodes in the node pool. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: Auto-renewal is enabled.'."\n" + .'* `false`: Auto-renewal is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'auto_renew_period' => [ + 'title' => '节点自动续费周期', + 'description' => 'The duration of the auto-renewal. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'If you specify `PeriodUnit=Month`, the valid values are 1, 2, 3, 6, and 12.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'spot_strategy' => [ + 'title' => '抢占式实例类型', + 'description' => 'The type of preemptible instance. Valid values:'."\n" + ."\n" + .'* NoSpot: a non-preemptible instance.'."\n" + .'* SpotWithPriceLimit: a preemptible instance that is configured with the highest bid price.'."\n" + .'* SpotAsPriceGo: a preemptible instance for which the system automatically bids based on the current market price.'."\n" + ."\n" + .'For more information, see [Preemptible instances](~~157759~~).'."\n", + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'spot_price_limit' => [ + 'title' => '抢占实例价格上限配置。', + 'description' => 'The bid configurations of preemptible instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Spot instance market price range configuration, allowing different price ranges to be set for various instance types.', + 'type' => 'object', + 'properties' => [ + 'instance_type' => [ + 'title' => '抢占实例规格。', + 'description' => 'The instance type of the preemptible instances.'."\n", + 'type' => 'string', + 'example' => 'ecs.c6.large', + ], + 'price_limit' => [ + 'title' => '抢占实例单价。', + 'description' => 'The price cap of a preemptible instance of the type.'."\n" + ."\n" + .'Unit: USD/hour.'."\n", + 'type' => 'string', + 'example' => '0.39', + ], + ], + ], + ], + 'image_type' => [ + 'title' => '操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:CentOS、AliyunLinux、AliyunLinux Qboot、AliyunLinuxUEFI、AliyunLinux3、Windows、WindowsCore、AliyunLinux3Arm64、ContainerOS。', + 'description' => 'Operating system image type.', + 'type' => 'string', + 'example' => 'AliyunLinux', + ], + 'image_id' => [ + 'title' => '自定义镜像。', + 'description' => 'The ID of the custom image. You can call the `DescribeKubernetesVersionMetadata` operation to query the images supported by ACK.'."\n", + 'type' => 'string', + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The system disk type. Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk'."\n" + .'* `cloud_efficiency`: ultra disk'."\n" + .'* `cloud_ssd`: standard SSD'."\n" + .'* `cloud_essd`: Enterprise SSD (ESSD)'."\n" + .'* `cloud_auto`: ESSD AutoPL disk'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'type' => 'string', + 'example' => 'cloud_efficiency', + ], + 'system_disk_categories' => [ + 'title' => '系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:cloud:普通云盘。cloud_efficiency:高效云盘。cloud_ssd:SSD云盘。cloud_essd:ESSD云盘。', + 'description' => 'The categories of the system disk for nodes. The system attempts to create system disks of a disk category with a lower priority if the disk category with a higher priority is unavailable. Valid values: Valid values:'."\n" + ."\n" + .'* `cloud`: basic disk.'."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise SSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '节点系统盘类型', + 'description' => 'The category of the system disk for nodes.'."\n", + 'type' => 'string', + 'example' => 'cloud_essd', + 'enum' => [], + ], + 'required' => false, + 'maxItems' => 10, + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小。', + 'description' => 'The system disk size of a node. Unit: GiB.'."\n" + ."\n" + .'Valid values: 20 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '120', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效', + 'description' => 'The performance level (PL) of the system disk that you want to use for the node. This parameter takes effect only for enhanced SSDs (ESSDs).'."\n", + 'type' => 'string', + 'example' => 'PL1', + ], + 'system_disk_encrypted' => [ + 'title' => '是否加密系统盘。取值范围:true:加密。false:不加密。', + 'description' => 'Specifies whether to encrypt the system disk. Valid values: Valid values:'."\n" + ."\n" + .'* `true`: encrypts the system disk.'."\n" + .'* `false`: does not encrypt the system disk.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'system_disk_kms_key_id' => [ + 'title' => '系统盘使用的KMS密钥ID。', + 'description' => 'System disk\'s KMS key ID.', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'system_disk_encrypt_algorithm' => [ + 'title' => '系统盘采用的加密算法。取值范围:aes-256。', + 'description' => 'The encryption algorithm that is used to encrypt the system disk. Set the value to aes-256.'."\n", + 'type' => 'string', + 'example' => 'aes-256', + 'enum' => [], + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发),磁盘类型为cloud_auto时配置。', + 'description' => 'Indicates whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* true: enables the burst feature for the system disk. The performance burst feature allows ESSD AutoPL disks to burst their performance when spikes in read/write workloads occur and reduce the performance to the baseline level at the end of workload spikes.'."\n" + .'* false: does not enable the burst feature for the system disk.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS,磁盘类型为cloud_auto时配置。', + 'description' => 'Pre-configured read and write IOPS for the system disk of the node, configured when the disk type is cloud_auto.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'data_disks' => [ + 'title' => '数据盘配置。', + 'description' => 'The configurations of the data disks that are attached to the nodes in the node pool. The configurations include the disk category and disk size.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the data disks that are attached to nodes in the node pool.'."\n", + '$ref' => '#/components/schemas/data_disk', + ], + ], + 'disk_init' => [ + 'title' => '块设备初始化配置。', + 'type' => 'array', + 'items' => [ + '$ref' => '#/components/schemas/DiskInit', + ], + ], + 'security_group_ids' => [ + 'title' => '多安全组ID', + 'description' => 'The IDs of the security groups to which the node pool is added.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the security groups to which the node pool is added.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze60ockeekspl3d****', + ], + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must set this parameter or the `login_password` parameter. You must set `key_pair` if the node pool is a managed node pool.'."\n", + 'type' => 'string', + 'example' => 'pro-nodepool', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。', + 'description' => 'The password for SSH logon. You must set this parameter or the `key_pair` parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n" + ."\n" + .'For security purposes, the returned password is encrypted.'."\n", + 'type' => 'string', + 'example' => '********', + ], + 'login_as_non_root' => [ + 'title' => '弹出的ECS实例是否使用以非root用户登陆。', + 'description' => 'Whether the popped ECS instance uses a non-root user for login.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'cis_enabled' => [ + 'title' => '【已废弃】请使用security_hardening_os参数代替', + 'description' => '[**Deprecated**] Please use the parameter security_hardening_os instead.', + 'type' => 'boolean', + 'deprecated' => true, + 'example' => 'false', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保加固,仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启等保加固。阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。', + 'description' => 'Indicates whether to enable security reinforcement compliant with the hardening standards. This option is available only when the system image is set to Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides baseline check standards and scanning programs compliant with Grade 3, Version 2.0 of the hardening standards for both Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 images.', + 'type' => 'boolean', + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Alibaba Cloud OS security hardening. Values:'."\n" + .'- `true`: Enable Alibaba Cloud OS security hardening. '."\n" + .'- `false`: Do not enable Alibaba Cloud OS security hardening.'."\n" + ."\n" + .'Default value: `false`.', + 'type' => 'boolean', + 'example' => 'false', + ], + 'internet_charge_type' => [ + 'title' => '节点公网IP网络计费类型', + 'description' => 'The billing method of the public IP address of the node.'."\n", + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'internet_max_bandwidth_out' => [ + 'title' => '节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:1~100', + 'description' => 'The maximum outbound bandwidth of the public IP address of the node. Unit: Mbit/s. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'tags' => [ + 'title' => 'ECS标签', + 'description' => 'The labels that you want to add only to ECS instances.'."\n" + ."\n" + .'The label key must be unique and cannot exceed 128 characters in length. The label key and value cannot start with aliyun or acs: or contain https:// or http://.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The label.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'desired_size' => [ + 'title' => '节点池期望节点数', + 'description' => 'The expected number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'multi_az_policy' => [ + 'title' => '多可用区伸缩组ECS实例扩缩容策略', + 'description' => 'The ECS instance scaling policy for a multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* `PRIORITY`: the scaling group is scaled based on the VSwitchIds.N parameter. If an ECS instance cannot be created in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates the ECS instance in the zone where the vSwitch that has the next highest priority resides.'."\n" + ."\n" + .'* `COST_OPTIMIZED`: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created when preemptible instance types are specified in the scaling configuration. You can set the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note**The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n" + ."\n" + .'* `BALANCE`: ECS instances are evenly distributed across multiple zones specified by the scaling group. If ECS instances become imbalanced among multiple zones due to insufficient inventory, you can call the RebalanceInstances operation of Auto Scaling to balance the instance distribution among zones. For more information, see [RebalanceInstances](~~71516~~).'."\n" + ."\n" + .'Default value: `PRIORITY`.'."\n", + 'type' => 'string', + 'example' => 'BALANCE', + ], + 'scaling_policy' => [ + 'title' => '扩容策略。', + 'description' => 'The scaling mode of the scaling group. Valid values:'."\n" + ."\n" + .'* `release`: the standard mode. ECS instances are created and released based on resource usage.'."\n" + .'* `recycle`: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached with local disks.'."\n", + 'type' => 'string', + 'example' => 'release', + ], + 'on_demand_base_capacity' => [ + 'title' => '伸缩组所需要按量实例个数的最小值,取值范围:0~1000。当按量实例个数少于该值时,将优先创建按量实例。', + 'description' => 'The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'on_demand_percentage_above_base_capacity' => [ + 'title' => '伸缩组满足最小按量实例数(OnDemandBaseCapacity)要求后,超出的实例中按量实例应占的比例,取值范围:0~100。', + 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by `on_demand_base_capacity`. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'spot_instance_pools' => [ + 'title' => '指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:1~10。', + 'description' => 'The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'spot_instance_remedy' => [ + 'title' => '是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。', + 'description' => 'Indicates whether preemptible instances are supplemented when the number of preemptible instances drops below the specified minimum number. If this parameter is set to true, when the scaling group receives a system message that a preemptible instance is to be reclaimed, the scaling group attempts to create a new instance to replace this instance. Valid values: Valid values:'."\n" + ."\n" + .'* `true`: Supplementation of preemptible instances is enabled.'."\n" + .'* `false`: Supplementation of preemptible instances is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'compensate_with_on_demand' => [ + 'title' => '当MultiAZPolicy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值范围:true:允许。false:不允许。默认值:true', + 'description' => 'Indicates whether pay-as-you-go instances are automatically created to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect when `multi_az_policy` is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* `true`: Pay-as-you-go instances are automatically created to meet the required number of ECS instances if preemptible instances cannot be created.'."\n" + .'* `false`: Pay-as-you-go instances are not automatically created to meet the required number of ECS instances if preemptible instances cannot be created.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The ID of the deployment set to which the ECS instances in the node pool belong.'."\n", + 'type' => 'string', + 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', + ], + 'rds_instances' => [ + 'title' => 'RDS实例列表。', + 'description' => 'After you specify the list of RDS instances, the ECS instances in the cluster are automatically added to the whitelist of the RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ApsaraDB RDS instance.'."\n", + 'type' => 'string', + 'example' => 'rm-xxx', + ], + ], + 'private_pool_options' => [ + 'title' => '私有池选项。', + 'description' => 'The configuration of the private node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'description' => 'The ID of the private node pool.'."\n", + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + 'match_criteria' => [ + 'title' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围: Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置PrivatePoolOptions.Id参数。 Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即PrivatePoolOptions.Id参数为必填项。 None:不使用模式。实例启动将不使用私有池容量。', + 'description' => 'The type of private node pool. This parameter specifies the type of private node pool that you want to use to create instances. A private node pool is generated when an elasticity assurance or a capacity reservation service takes effect. The system selects a private node pool to launch instances. Valid values:'."\n" + ."\n" + .'* `Open`: open private pool. The system selects an open private node pool to launch instances. If no matching open private node pool is available, the resources in the public node pool are used.'."\n" + .'* `Target`: specific private pool. The system uses the resources of the specified private node pool to launch instances. If the specified private node pool is unavailable, instances cannot be launched.'."\n" + .'* `None`: no private node pool is used. The resources of private node pools are not used to launch the instances.'."\n", + 'type' => 'string', + 'example' => 'Open', + ], + ], + ], + 'security_group_id' => [ + 'title' => '【该字段已废弃】请使用security_group_ids替代'."\n" + .'安全组ID。', + 'description' => 'The ID of the security group to which the node pool is added. If the node pool is added to multiple security groups, the first ID in the value of `security_group_ids` is returned.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze60ockeekspl3d****', + ], + 'platform' => [ + 'title' => '【该字段已废弃】请使用image_type替代'."\n" + .'操作系统发行版,和image_type二选一', + 'description' => 'The release version of the operating system. Valid values:'."\n" + ."\n" + .'* `CentOS`'."\n" + .'* `AliyunLinux`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n", + 'type' => 'string', + 'example' => 'AliyunLinux', + ], + 'ram_policy' => [ + 'title' => '该字段已废弃,请改为使用 ram_role_name 字段。', + 'description' => 'The name of the worker Resource Access Management (RAM) role. The RAM role is assigned to the worker nodes of the cluster to allow the worker nodes to manage ECS instances.'."\n", + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****', + ], + 'instance_patterns' => [ + 'title' => '实例属性', + 'description' => 'The instance properties.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '实例属性', + 'description' => 'The instance properties.'."\n", + '$ref' => '#/components/schemas/instance_patterns', + ], + ], + 'ram_role_name' => [ + 'title' => 'Worker RAM角色名称。', + 'description' => 'Worker RAM role name.', + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****', + ], + 'instance_metadata_options' => [ + 'title' => 'ECS 实例的元数据访问配置。', + '$ref' => '#/components/schemas/InstanceMetadataOptions', + ], + 'resource_pool_options' => [ + 'title' => '创建实例时使用的资源池及资源池策略。', + 'type' => 'object', + 'properties' => [ + 'private_pool_ids' => [ + 'title' => '私有池 ID列表。', + 'type' => 'array', + 'items' => [ + 'title' => '私有池 ID。', + 'type' => 'string', + ], + ], + 'strategy' => [ + 'title' => '创建实例时使用的资源池策略。取值范围:'."\n" + .'PrivatePoolFirst:私有池优先。'."\n" + .'PrivatePoolOnly:仅限私有池。'."\n" + .'None:不使用资源池策略。', + 'type' => 'string', + 'example' => 'PrivatePoolFirst', + 'enum' => [ + 'PrivatePoolFirst', + 'PrivatePoolOnly', + 'None', + ], + ], + ], + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '系统盘快照策略', + 'type' => 'string', + ], + ], + ], + 'node_config' => [ + 'title' => '节点配置', + 'description' => 'The node configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'kubelet_configuration' => [ + 'title' => 'Kubelet参数配置。', + 'description' => 'The configurations of the kubelet.'."\n", + '$ref' => '#/components/schemas/kubelet_config', + ], + 'node_os_config' => [ + 'type' => 'object', + 'properties' => [ + 'hugepage' => [ + '$ref' => '#/components/schemas/Hugepage', + ], + ], + ], + ], + ], + 'kubernetes_config' => [ + 'title' => '集群配置', + 'description' => 'The configurations of the cluster in which the node pool is deployed.'."\n", + 'type' => 'object', + 'properties' => [ + 'labels' => [ + 'title' => '节点标签。', + 'description' => 'The labels that you want to add to the nodes in the cluster. You must add labels based on the following rules:'."\n" + ."\n" + .'* A label is a case-sensitive key-value pair. You can add up to 20 labels.'."\n" + .'* The key must be unique and cannot exceed 64 characters in length. The value can be empty and cannot exceed 128 characters in length. Keys and values cannot start with `aliyun`, `acs:`, `https://`, or `http://`. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The label added to ECS instances.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'taints' => [ + 'title' => '污点信息。', + 'description' => 'The taints that you want to add to nodes. Taints can be used together with tolerations to prevent pods from being scheduled to specific nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The taints.'."\n", + '$ref' => '#/components/schemas/taint', + ], + ], + 'runtime' => [ + 'title' => '容器运行时。', + 'description' => 'The name of the container runtime.'."\n", + 'type' => 'string', + 'example' => 'docker', + ], + 'runtime_version' => [ + 'title' => '容器运行时版本。', + 'description' => 'The version of the container runtime.'."\n", + 'type' => 'string', + 'example' => '19.03.5', + ], + 'cpu_policy' => [ + 'title' => 'CPU管理策略。', + 'description' => 'The CPU management policy of the nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later.'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: indicates that the default CPU affinity is used.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + 'user_data' => [ + 'title' => '节点自定义数据。', + 'description' => 'The custom script to be executed after nodes in the node pool are initialized. For more information, see [Generate user-defined data](~~49121~~).'."\n", + 'type' => 'string', + 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFDSyEi', + ], + 'unschedulable' => [ + 'title' => '扩容后的节点是否可调度。', + 'description' => 'Whether the expanded node is schedulable.', + 'type' => 'boolean', + 'example' => 'true', + ], + 'cms_enabled' => [ + 'title' => '是否开启云监控。', + 'description' => 'Indicates whether the CloudMonitor agent is installed on ECS nodes in the cluster. After the CloudMonitor agent is installed, you can view monitoring information about the ECS instances in the CloudMonitor console. Installation is recommended. Valid values:'."\n" + ."\n" + .'* `true`: The CloudMonitor agent is installed on ECS nodes.'."\n" + .'* `false`: The CloudMonitor agent is not installed on ECS nodes.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'node_name_mode' => [ + 'title' => '自定义节点名称', + 'description' => 'A custom node name consists of a prefix, an IP substring, and a suffix.'."\n" + ."\n" + .'* The prefix and suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.'."\n" + .'* The IP substring length specifies the number of digits to be truncated from the end of the node IP address. The IP substring length ranges from 5 to 12.'."\n" + ."\n" + .'For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test.'."\n", + 'type' => 'string', + 'example' => 'customized,test.,5,.com', + ], + 'pre_user_data' => [ + 'description' => 'The user-defined script that is executed before nodes are initialized. For more information, see [Generate user-defined data](~~49121~~).'."\n", + 'type' => 'string', + 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU'."\n", + ], + ], + ], + 'tee_config' => [ + 'title' => '加密计算节点池信息。', + 'description' => 'The configuration of confidential computing.'."\n", + 'type' => 'object', + 'properties' => [ + 'tee_enable' => [ + 'title' => '是否为加密计算节点池。', + 'description' => 'Indicates whether confidential computing is enabled. Valid values:'."\n" + ."\n" + .'* `true`: Confidential computing is enabled.'."\n" + .'* `false`: Confidential computing is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'interconnect_config' => [ + 'title' => '边缘节点池网络相关的配置。该值只对edge类型的节点池有意义', + 'description' => 'The network configuration of the edge node pool. This parameter takes effect only for edge node pools.'."\n", + 'type' => 'object', + 'properties' => [ + 'cen_id' => [ + 'title' => '边缘增强型节点池绑定的云企业网实例ID(CENID)', + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'example' => 'cen-ey9k9nfhz0f*******', + ], + 'ccn_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例ID(CCNID)', + 'description' => 'The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'example' => 'ccn-qm5i0i0q9yi*******', + ], + 'ccn_region_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例所属的区域', + 'description' => 'The region to which the CCN instance that is associated with the enhanced edge node pool belongs.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'bandwidth' => [ + 'title' => '边缘增强型节点池的网络带宽,单位M', + 'description' => 'The bandwidth of the enhanced edge node pool. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'improved_period' => [ + 'title' => '边缘增强型节点池的购买时长,单位月', + 'description' => 'The subscription duration of the enhanced edge node pool. The duration is measured in months.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + 'max_nodes' => [ + 'title' => '边缘节点池允许容纳的最大节点数量. 节点池内可以容纳的最大节点数量,该参数大于等于0。0表示无额外限制(仅受限于集群整体可以容纳的节点数,节点池本身无额外限制)。边缘节点池该参数值往往大于0;ess类型节点池和默认的edge类型节点池该参数值为0', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The maximum number of nodes allowed in an edge node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'interconnect_mode' => [ + 'title' => '边缘节点池的网络类型。basic:基础型;improved:增强型。该值只对edge类型的节点池有意义', + 'description' => 'The network type of the edge node pool. This parameter takes effect only if you set the type parameter of the node pool to edge. Valid values:'."\n" + ."\n" + .'`basic`: Internet.'."\n" + ."\n" + .'`private`: private network.'."\n", + 'type' => 'string', + 'example' => 'improved', + ], + 'host_network' => [ + 'title' => '边缘节点池内的Pod是否都采用主机网络模式部署。', + 'description' => 'Indicates whether the pods in the edge node pool can use the host network.'."\n" + ."\n" + .'`true`: sets to host network.'."\n" + ."\n" + .'`false`: sets to container network.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'intranet' => [ + 'title' => '边缘节点池内的所有节点在三层网络上是否互通。', + 'description' => 'Specifies whether all nodes in the edge node pool can communicate with each other at Layer 3.'."\n" + ."\n" + .'`true`: The nodes in the edge node pool can communicate with each other at Layer 3.'."\n" + ."\n" + .'`false`: The nodes in the edge node pool cannot communicate with each other at Layer 3.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_mode' => [ + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'description' => '', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '是否开启智能托管。', + ], + ], + 'title' => '智能托管配置。', + ], + 'node_components' => [ + 'title' => '节点组件列表。', + 'type' => 'array', + 'items' => [ + 'title' => '节点组件。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点组件名称。', + 'type' => 'string', + 'example' => 'kubelet', + ], + 'version' => [ + 'title' => '节点组件版本。', + 'type' => 'string', + 'example' => '1.33.3-aliyun.1', + ], + 'config' => [ + 'title' => '节点组件配置。', + 'type' => 'object', + 'properties' => [ + 'custom_config' => [ + 'title' => '节点组件自定义配置。', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'cpuManagerPolicy', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"nodepool_info\\": {\\n \\"nodepool_id\\": \\"np615c0e0966124216a0412e10afe0****\\",\\n \\"name\\": \\"default-nodepool\\",\\n \\"type\\": \\"ess\\",\\n \\"is_default\\": true,\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjmb****\\",\\n \\"region_id\\": \\"cn-beijing\\",\\n \\"created\\": \\"2025-04-10T14:25:37.285530433+08:00\\",\\n \\"updated\\": \\"2025-04-15T15:39:45.41+08:00\\"\\n },\\n \\"status\\": {\\n \\"state\\": \\"active\\",\\n \\"healthy_nodes\\": 3,\\n \\"initial_nodes\\": 0,\\n \\"failed_nodes\\": 0,\\n \\"offline_nodes\\": 0,\\n \\"removing_nodes\\": 0,\\n \\"serving_nodes\\": 3,\\n \\"total_nodes\\": 3,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"status\\": \\"\\",\\n \\"reason\\": \\"\\",\\n \\"message\\": \\"\\",\\n \\"last_transition_time\\": \\"\\"\\n }\\n ]\\n },\\n \\"auto_scaling\\": {\\n \\"enable\\": true,\\n \\"type\\": \\"cpu\\",\\n \\"max_instances\\": 10,\\n \\"min_instances\\": 1,\\n \\"eip_internet_charge_type\\": \\"PayByBandwidth\\",\\n \\"is_bond_eip\\": true,\\n \\"eip_bandwidth\\": 5\\n },\\n \\"management\\": {\\n \\"enable\\": true,\\n \\"auto_repair\\": true,\\n \\"auto_repair_policy\\": {\\n \\"restart_node\\": true,\\n \\"approval_required\\": false,\\n \\"auto_repair_policy_id\\": \\"r-xxxxxxxxxx\\"\\n },\\n \\"auto_vul_fix\\": true,\\n \\"auto_vul_fix_policy\\": {\\n \\"restart_node\\": true,\\n \\"vul_level\\": \\"asap,nntf\\",\\n \\"exclude_packages\\": \\"\\"\\n },\\n \\"auto_upgrade\\": true,\\n \\"auto_upgrade_policy\\": {\\n \\"auto_upgrade_kubelet\\": true\\n },\\n \\"upgrade_config\\": {\\n \\"auto_upgrade\\": true,\\n \\"surge\\": 5,\\n \\"surge_percentage\\": 50,\\n \\"max_unavailable\\": 1\\n }\\n },\\n \\"scaling_group\\": {\\n \\"scaling_group_id\\": \\"asg-2zeieod8giqmov7z****\\",\\n \\"vswitch_ids\\": [\\n \\"vsw-2ze3ds0mdip0hdz8i****\\"\\n ],\\n \\"instance_types\\": [\\n \\"ecs.n4.large\\"\\n ],\\n \\"instance_charge_type\\": \\"PostPaid\\",\\n \\"period\\": 0,\\n \\"period_unit\\": \\"Month\\",\\n \\"auto_renew\\": false,\\n \\"auto_renew_period\\": 1,\\n \\"spot_strategy\\": \\"NoSpot\\",\\n \\"spot_price_limit\\": [\\n {\\n \\"instance_type\\": \\"ecs.c6.large\\",\\n \\"price_limit\\": \\"0.39\\"\\n }\\n ],\\n \\"image_type\\": \\"AliyunLinux3\\",\\n \\"image_id\\": \\"aliyun_3_x64_20G_alibase_20241218.vhd\\",\\n \\"system_disk_category\\": \\"cloud_efficiency\\",\\n \\"system_disk_categories\\": [\\n \\"cloud_essd\\"\\n ],\\n \\"system_disk_size\\": 120,\\n \\"system_disk_performance_level\\": \\"PL1\\",\\n \\"system_disk_encrypted\\": false,\\n \\"system_disk_kms_key_id\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"system_disk_encrypt_algorithm\\": \\"aes-256\\",\\n \\"system_disk_bursting_enabled\\": true,\\n \\"system_disk_provisioned_iops\\": 1000,\\n \\"data_disks\\": [\\n {\\n \\"category\\": \\"cloud_ssd\\",\\n \\"size\\": 40,\\n \\"encrypted\\": \\"true\\",\\n \\"kms_key_id\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"auto_snapshot_policy_id\\": \\"sp-2zej1nogjvovnz4z****\\",\\n \\"performance_level\\": \\"PL1\\",\\n \\"provisioned_iops\\": 1000,\\n \\"bursting_enabled\\": true,\\n \\"auto_format\\": true,\\n \\"file_system\\": \\"ext4\\",\\n \\"mount_target\\": \\"/mnt/path1\\",\\n \\"disk_name\\": \\"DataDiskName\\",\\n \\"device\\": \\"/dev/xvdb\\",\\n \\"snapshot_id\\": \\"s-280s7****\\"\\n }\\n ],\\n \\"disk_init\\": [\\n {\\n \\"disk_name\\": \\"disk0\\",\\n \\"mkfs_type\\": \\"ext4\\",\\n \\"mount_target\\": \\"/mnt/disk0\\",\\n \\"mount_for_runtime\\": true,\\n \\"local_disk\\": true\\n }\\n ],\\n \\"security_group_ids\\": [\\n \\"sg-2ze60ockeekspl3d****\\"\\n ],\\n \\"key_pair\\": \\"pro-nodepool\\",\\n \\"login_password\\": \\"********\\",\\n \\"login_as_non_root\\": true,\\n \\"cis_enabled\\": false,\\n \\"soc_enabled\\": false,\\n \\"security_hardening_os\\": false,\\n \\"internet_charge_type\\": \\"PayByBandwidth\\",\\n \\"internet_max_bandwidth_out\\": 10,\\n \\"tags\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"desired_size\\": 2,\\n \\"multi_az_policy\\": \\"BALANCE\\",\\n \\"scaling_policy\\": \\"release\\",\\n \\"on_demand_base_capacity\\": 0,\\n \\"on_demand_percentage_above_base_capacity\\": 20,\\n \\"spot_instance_pools\\": 5,\\n \\"spot_instance_remedy\\": false,\\n \\"compensate_with_on_demand\\": true,\\n \\"deploymentset_id\\": \\"ds-bp1d19mmbsv3jf6xxxxx\\",\\n \\"rds_instances\\": [\\n \\"rm-xxx\\"\\n ],\\n \\"private_pool_options\\": {\\n \\"id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"match_criteria\\": \\"Open\\"\\n },\\n \\"security_group_id\\": \\"sg-2ze60ockeekspl3d****\\",\\n \\"platform\\": \\"AliyunLinux\\",\\n \\"ram_policy\\": \\"KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****\\",\\n \\"instance_patterns\\": [\\n {\\n \\"cores\\": 4,\\n \\"memory\\": 8,\\n \\"instance_family_level\\": \\"EnterpriseLevel\\",\\n \\"excluded_instance_types\\": [\\n \\"ecs.c6.large\\"\\n ],\\n \\"min_cpu_cores\\": 4,\\n \\"max_cpu_cores\\": 8,\\n \\"min_memory_size\\": 8,\\n \\"max_memory_size\\": 16,\\n \\"instance_categories\\": [\\n \\"General-purpose\\"\\n ],\\n \\"cpu_architectures\\": [\\n \\"X86\\"\\n ],\\n \\"core\\": 4,\\n \\"max_price\\": 2,\\n \\"architectures\\": [\\n \\"X86\\"\\n ],\\n \\"burst_performance_option\\": \\"Exclude\\",\\n \\"instance_type_families\\": [\\n \\"\\"\\n ],\\n \\"minimum_eni_quantity\\": 0,\\n \\"minimum_eni_private_ip_address_quantity\\": 0,\\n \\"minimum_eni_ipv6_address_quantity\\": 0,\\n \\"maximum_gpu_amount\\": 0\\n }\\n ],\\n \\"ram_role_name\\": \\"KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****\\",\\n \\"instance_metadata_options\\": {\\n \\"http_tokens\\": \\"optional\\"\\n },\\n \\"resource_pool_options\\": {\\n \\"private_pool_ids\\": [\\n \\"\\"\\n ],\\n \\"strategy\\": \\"PrivatePoolFirst\\"\\n },\\n \\"system_disk_snapshot_policy_id\\": \\"\\"\\n },\\n \\"node_config\\": {\\n \\"kubelet_configuration\\": {\\n \\"registryPullQPS\\": 5,\\n \\"registryBurst\\": 10,\\n \\"eventRecordQPS\\": 5,\\n \\"eventBurst\\": 10,\\n \\"kubeAPIQPS\\": 5,\\n \\"kubeAPIBurst\\": 10,\\n \\"serializeImagePulls\\": true,\\n \\"cpuManagerPolicy\\": \\"none\\",\\n \\"evictionHard\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"evictionSoft\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"evictionSoftGracePeriod\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"systemReserved\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"kubeReserved\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"readOnlyPort\\": 0,\\n \\"maxPods\\": 110,\\n \\"containerLogMaxSize\\": \\"10Mi\\",\\n \\"containerLogMaxFiles\\": 5,\\n \\"featureGates\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"allowedUnsafeSysctls\\": [\\n \\"\\"\\n ],\\n \\"reservedMemory\\": [\\n {\\n \\"numaNode\\": 0,\\n \\"limits\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n ],\\n \\"memoryManagerPolicy\\": \\"none\\",\\n \\"cpuCFSQuota\\": true,\\n \\"cpuCFSQuotaPeriod\\": \\"100ms\\",\\n \\"imageGCHighThresholdPercent\\": 85,\\n \\"imageGCLowThresholdPercent\\": 80,\\n \\"podPidsLimit\\": -1,\\n \\"topologyManagerPolicy\\": \\"restricted\\",\\n \\"clusterDNS\\": [\\n \\"\\"\\n ],\\n \\"tracing\\": {\\n \\"endpoint\\": \\"localhost:4317\\",\\n \\"samplingRatePerMillion\\": 0\\n },\\n \\"containerLogMaxWorkers\\": 1,\\n \\"containerLogMonitorInterval\\": \\"10s\\",\\n \\"serverTLSBootstrap\\": true\\n },\\n \\"node_os_config\\": {\\n \\"hugepage\\": {\\n \\"transparentEnabled\\": \\"\\",\\n \\"transparentDefrag\\": \\"\\",\\n \\"khugepagedDefrag\\": 0,\\n \\"khugepagedAllocSleepMillisecs\\": 0,\\n \\"khugepagedScanSleepMillisecs\\": 0,\\n \\"khugepagedPagesToScan\\": 0\\n }\\n }\\n },\\n \\"kubernetes_config\\": {\\n \\"labels\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"taints\\": [\\n {\\n \\"key\\": \\"key\\",\\n \\"value\\": \\"value\\",\\n \\"effect\\": \\"NoSchedule\\"\\n }\\n ],\\n \\"runtime\\": \\"containerd\\",\\n \\"runtime_version\\": \\"1.6.38\\",\\n \\"cpu_policy\\": \\"none\\",\\n \\"user_data\\": \\"IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFDSyEi\\",\\n \\"unschedulable\\": true,\\n \\"cms_enabled\\": true,\\n \\"node_name_mode\\": \\"aliyun.com192.XX.YY.55test\\",\\n \\"pre_user_data\\": \\"dGhpcyBpcyBhIGV4YW1wbGU\\\\n\\"\\n },\\n \\"tee_config\\": {\\n \\"tee_enable\\": false\\n },\\n \\"interconnect_config\\": {\\n \\"cen_id\\": \\"cen-ey9k9nfhz0f*******\\",\\n \\"ccn_id\\": \\"ccn-qm5i0i0q9yi*******\\",\\n \\"ccn_region_id\\": \\"cn-shanghai\\",\\n \\"bandwidth\\": 10,\\n \\"improved_period\\": \\"1\\"\\n },\\n \\"max_nodes\\": 10,\\n \\"interconnect_mode\\": \\"basic\\",\\n \\"host_network\\": true,\\n \\"intranet\\": true,\\n \\"auto_mode\\": {\\n \\"enable\\": false\\n },\\n \\"node_components\\": [\\n {\\n \\"name\\": \\"kubelet\\",\\n \\"version\\": \\"1.33.3-aliyun.1\\",\\n \\"config\\": {\\n \\"custom_config\\": {\\n \\"key\\": \\"cpuManagerPolicy\\"\\n }\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterNodePoolDetailResponse>\\n <auto_scaling>\\n <eip_bandwidth>5</eip_bandwidth>\\n <eip_internet_charge_type>PayByBandwidth</eip_internet_charge_type>\\n <enable>true</enable>\\n <is_bond_eip>true</is_bond_eip>\\n <max_instances>10</max_instances>\\n <min_instances>1</min_instances>\\n <type>cpu</type>\\n </auto_scaling>\\n <kubernetes_config>\\n <cms_enabled>true</cms_enabled>\\n <cpu_policy>none</cpu_policy>\\n <labels>\\n <key>env</key>\\n <value>prod</value>\\n </labels>\\n <runtime>docker</runtime>\\n <runtime_version>19.03.5</runtime_version>\\n <taints>\\n <key>key</key>\\n <value>value</value>\\n <effect>NoSchedule</effect>\\n </taints>\\n <user_data>IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFDSyEi</user_data>\\n <node_name_mode>customized,test.,5,.com</node_name_mode>\\n </kubernetes_config>\\n <nodepool_info>\\n <created>2020-09-27T19:14:09.156823496+08:00</created>\\n <is_default>true</is_default>\\n <name>default-nodepool</name>\\n <nodepool_id>np615c0e0966124216a0412e10afe0****</nodepool_id>\\n <region_id>cn-beijing</region_id>\\n <resource_group_id>rg-acfmyvw3wjmb****</resource_group_id>\\n <type>ess</type>\\n <updated>2020-09-27T20:37:46+08:00</updated>\\n </nodepool_info>\\n <scaling_group>\\n <auto_renew>false</auto_renew>\\n <auto_renew_period>1</auto_renew_period>\\n <data_disks>\\n <category>cloud_ssd</category>\\n <size>40</size>\\n <encrypted>true</encrypted>\\n <auto_snapshot_policy_id>sp-2zej1nogjvovnz4z****</auto_snapshot_policy_id>\\n <performance_level>PL1</performance_level>\\n <provisioned_iops>1000</provisioned_iops>\\n <bursting_enabled>true</bursting_enabled>\\n <auto_format>true</auto_format>\\n <file_system>ext4</file_system>\\n <mount_target>/mnt/path1</mount_target>\\n </data_disks>\\n <image_id>aliyun_2_1903_x64_20G_alibase_20200529.vhd</image_id>\\n <instance_charge_type>PostPaid</instance_charge_type>\\n <instance_types>ecs.n4.large</instance_types>\\n <multi_az_policy>BALANCE</multi_az_policy>\\n <on_demand_base_capacity>0</on_demand_base_capacity>\\n <on_demand_percentage_above_base_capacity>20</on_demand_percentage_above_base_capacity>\\n <spot_instance_pools>5</spot_instance_pools>\\n <spot_instance_remedy>false</spot_instance_remedy>\\n <compensate_with_on_demand>true</compensate_with_on_demand>\\n <period>0</period>\\n <period_unit>Month</period_unit>\\n <platform>AliyunLinux</platform>\\n <ram_policy>KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****</ram_policy>\\n <spot_strategy>NoSpot</spot_strategy>\\n <spot_price_limit>\\n <instance_type>ecs.c6.large</instance_type>\\n <price_limit>0.39</price_limit>\\n </spot_price_limit>\\n <rds_instances>rm-xxx</rds_instances>\\n <scaling_group_id>asg-2zeieod8giqmov7z****</scaling_group_id>\\n <scaling_policy>release</scaling_policy>\\n <security_group_id>sg-2ze60ockeekspl3d****</security_group_id>\\n <security_group_ids>sg-2ze60ockeekspl3d****</security_group_ids>\\n <system_disk_category>cloud_efficiency</system_disk_category>\\n <system_disk_size>120</system_disk_size>\\n <system_disk_performance_level>PL1</system_disk_performance_level>\\n <tags>\\n <key>env</key>\\n <value>prod</value>\\n </tags>\\n <vswitch_ids>vsw-2ze3ds0mdip0hdz8i****</vswitch_ids>\\n <login_password>********</login_password>\\n <key_pair>pro-nodepool</key_pair>\\n <internet_charge_type>PayByBandwidth</internet_charge_type>\\n <internet_max_bandwidth_out>10</internet_max_bandwidth_out>\\n <deploymentset_id>ds-bp1d19mmbsv3jf6xxxxx</deploymentset_id>\\n <desired_size>2</desired_size>\\n <private_pool_options>\\n <id>eap-bp67acfmxazb4****</id>\\n <match_criteria>Open</match_criteria>\\n </private_pool_options>\\n </scaling_group>\\n <status>\\n <failed_nodes>0</failed_nodes>\\n <healthy_nodes>3</healthy_nodes>\\n <initial_nodes>0</initial_nodes>\\n <offline_nodes>0</offline_nodes>\\n <removing_nodes>0</removing_nodes>\\n <serving_nodes>3</serving_nodes>\\n <state>active</state>\\n <total_nodes>3</total_nodes>\\n </status>\\n <tee_config>\\n <tee_enable>false</tee_enable>\\n </tee_config>\\n <management>\\n <enable>true</enable>\\n <auto_repair>true</auto_repair>\\n <upgrade_config>\\n <auto_upgrade>true</auto_upgrade>\\n <surge>5</surge>\\n <surge_percentage>50</surge_percentage>\\n <max_unavailable>1</max_unavailable>\\n </upgrade_config>\\n <auto_repair_policy>\\n <restart_node>true</restart_node>\\n </auto_repair_policy>\\n <auto_vul_fix>true</auto_vul_fix>\\n <auto_vul_fix_policy>\\n <restart_node>true</restart_node>\\n <vul_level>asap,nntf</vul_level>\\n </auto_vul_fix_policy>\\n <auto_upgrade>true</auto_upgrade>\\n <auto_upgrade_policy>\\n <auto_upgrade_kubelet>true</auto_upgrade_kubelet>\\n </auto_upgrade_policy>\\n </management>\\n <interconnect_config>\\n <cen_id>cen-ey9k9nfhz0f*******</cen_id>\\n <ccn_id>ccn-qm5i0i0q9yi*******</ccn_id>\\n <ccn_region_id>cn-shanghai</ccn_region_id>\\n <bandwidth>10</bandwidth>\\n <improved_period>1</improved_period>\\n </interconnect_config>\\n <interconnect_mode>basic</interconnect_mode>\\n <max_nodes>10</max_nodes>\\n <node_config>\\n <kubelet_configuration>\\n <registryPullQPS>5</registryPullQPS>\\n <registryBurst>10</registryBurst>\\n <eventRecordQPS>5</eventRecordQPS>\\n <eventBurst>10</eventBurst>\\n <kubeAPIQPS>5</kubeAPIQPS>\\n <kubeAPIBurst>10</kubeAPIBurst>\\n <serializeImagePulls>true</serializeImagePulls>\\n <cpuManagerPolicy>none</cpuManagerPolicy>\\n <readOnlyPort>0</readOnlyPort>\\n <maxPods>110</maxPods>\\n <containerLogMaxSize>10Mi</containerLogMaxSize>\\n <containerLogMaxFiles>5</containerLogMaxFiles>\\n </kubelet_configuration>\\n </node_config>\\n</DescribeClusterNodePoolDetailResponse>","errorExample":""}]', + 'title' => 'DescribeClusterNodePoolDetail', + 'translator' => 'machine', + ], + 'DescribeClusterNodePools' => [ + 'summary' => 'Queries the information about all node pools in a cluster.', + 'path' => '/clusters/{ClusterId}/nodepools', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '556', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cc0f87de0b8fb403f86e10e204f83****', + ], + ], + [ + 'name' => 'NodepoolName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Node pool name.', + 'type' => 'string', + 'required' => false, + 'example' => 'nodepool-test'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体', + 'description' => 'The details of the node pools.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepools' => [ + 'title' => '节点池列表', + 'description' => 'The node pools.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_info' => [ + 'title' => '节点池详情。', + 'description' => 'The information about the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_id' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np615c0e0966124216a0412e10afe0****', + ], + 'name' => [ + 'title' => '节点池名称。', + 'description' => 'The name of the node pool.'."\n", + 'type' => 'string', + 'example' => 'default-nodepool', + ], + 'type' => [ + 'title' => '节点池类型。', + 'description' => 'The type of node pool. Valid values:'."\n" + ."\n" + .'* `ess`: regular node pool, which supports the managed node pool feature and the auto scaling feature.'."\n" + .'* `edge`: edge node pool'."\n" + .'* `lingjun`: Lingjun node pool.'."\n", + 'type' => 'string', + 'example' => 'ess', + ], + 'is_default' => [ + 'title' => '是否为默认节点池。', + 'description' => 'Indicates whether the node pool is a default node pool. An Container Service for Kubernetes (ACK) cluster usually has only one default node pool. Valid values:'."\n" + ."\n" + .'* `true`: The node pool is a default node pool.'."\n" + .'* `false`: The node pool is a non-default node pool.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'resource_group_id' => [ + 'title' => '节点池所属资源组ID。', + 'description' => 'The resource group ID.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjm****', + ], + 'region_id' => [ + 'title' => '节点池所属地域ID。', + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'created' => [ + 'title' => '节点池创建时间。', + 'description' => 'The time when the node pool was created.'."\n", + 'type' => 'string', + 'example' => '2020-09-27T19:14:09.156823496+08:00', + ], + 'updated' => [ + 'title' => '节点池更新时间。', + 'description' => 'The time when the node pool was last updated.'."\n", + 'type' => 'string', + 'example' => '2020-09-27T20:37:46+08:00', + ], + ], + ], + 'status' => [ + 'title' => '节点池状态。', + 'description' => 'The status of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'state' => [ + 'title' => '节点池状态。', + 'description' => 'The status of the node pool. Valid values:'."\n" + ."\n" + .'* `active`: The node pool is active.'."\n" + .'* `scaling`: The node pool is being scaled.'."\n" + .'* `removing`: The nodes are being removed from the node pool.'."\n" + .'* `deleting`: The node pool is being deleted.'."\n" + .'* `updating`: The node pool is being updated.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'healthy_nodes' => [ + 'title' => '处于健康状态节点数。', + 'description' => 'The number of healthy nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'initial_nodes' => [ + 'title' => '正在初始化节点数。', + 'description' => 'The number of nodes that are being created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'failed_nodes' => [ + 'title' => '失败节点数。', + 'description' => 'The number of failed nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'offline_nodes' => [ + 'title' => '离线节点数量。', + 'description' => 'The number of offline nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'removing_nodes' => [ + 'title' => '正在被移除节点数。', + 'description' => 'The number of nodes that are being removed.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'serving_nodes' => [ + 'title' => '工作节点数量。', + 'description' => 'The number of running nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'total_nodes' => [ + 'title' => '总节点数。', + 'description' => 'The total number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + ], + ], + 'auto_scaling' => [ + 'title' => '节点池自动伸缩信息。', + 'description' => 'The configurations about auto scaling.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否启用自动伸缩。', + 'description' => 'Indicates whether auto scaling is enabled. Valid values:'."\n" + ."\n" + .'* `true`: Auto scaling is enabled for the node pool. When the capacity planning of the cluster cannot meet the requirements of pod scheduling, ACK automatically scales out nodes based on the configured minimum and maximum number of instances. Node instant scaling is enabled by default for clusters that run Kubernetes 1.24 or later. Node auto scaling is enabled for clusters that run Kubernetes 1.24 and earlier. For more information, see [Node auto scaling](~~2746785~~).'."\n" + .'* `false`: does not enable auto scaling. ACK adjusts the number of nodes in the node pool based on the value of the Expected Nodes parameter. The number of nodes is always the same as the value of the Expected Nodes parameter.'."\n" + ."\n" + .'If you set this parameter to false, other parameters of `auto_scaling` do not take effect.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'type' => [ + 'title' => '扩容组类型', + 'description' => 'The instance types that can be used for the auto scaling of the node pool. Valid values:'."\n" + ."\n" + .'* `cpu`: regular instance.'."\n" + .'* `gpu`: GPU-accelerated instance.'."\n" + .'* `gpushare`: shared GPU-accelerated instance.'."\n" + .'* `spot`: preemptible instance.'."\n", + 'type' => 'string', + 'example' => 'cpu', + ], + 'max_instances' => [ + 'title' => '最大实例数。', + 'description' => 'The maximum number of scalable instances in the node pool. Your existing instances are not included.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'min_instances' => [ + 'title' => '最小实例数。', + 'description' => 'The minimum number of scalable instances in the node pool, excluding your existing instances.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'eip_internet_charge_type' => [ + 'title' => 'EIP实例付费类型。', + 'description' => 'The billing method of the EIP. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n", + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'is_bond_eip' => [ + 'title' => '是否绑定EIP。', + 'description' => 'Specifies whether to associate an EIP with the node pool. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'eip_bandwidth' => [ + 'title' => 'EIP带宽峰值。', + 'description' => 'The maximum bandwidth of the elastic IP address (EIP).'."\n" + ."\n" + .'Valid values: 1 to 100. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + ], + ], + 'management' => [ + 'title' => '托管版节点池配置。', + 'description' => 'The configuration of the managed node pool feature. The configuration takes effect only for ACK Pro managed clusters.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否开启托管版节点池。', + 'description' => 'Specifies whether to enable the managed node pool feature. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`: If you set this parameter to false, other parameters of `management` do not take effect.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_repair' => [ + 'title' => '自动修复。', + 'description' => 'Specifies whether to enable auto repair. This parameter takes effect only if `enable` is set to true. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_repair_policy' => [ + 'title' => '自动修复节点策略。', + 'description' => 'The auto node repair policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true` is specified.'."\n" + ."\n" + .'* `true`: allows node restart.'."\n" + .'* `false`: does not allow node restart.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'approval_required' => [ + 'title' => '节点修复是否需要人工审批。', + 'type' => 'boolean', + ], + 'auto_repair_policy_id' => [ + 'title' => '自动修复策略的ID', + 'type' => 'string', + 'example' => 'r-xxxxxxxxx', + ], + ], + ], + 'auto_vul_fix' => [ + 'title' => '是否自动修复CVE。', + 'description' => 'Indicates whether auto Common Vulnerabilities and Exposures (CVE) patching is enabled. This parameter takes effect only when `enable=true` is specified.'."\n" + ."\n" + .'* `true`: enables auto CVE patching.'."\n" + .'* `true`: disables auto CVE patching.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_vul_fix_policy' => [ + 'title' => '自动修复CVE策略。', + 'description' => 'The auto CVE patching policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether to allow node restart. This parameter takes effect only if `auto_vul_fix` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows node restart.'."\n" + .'* `false`: does not allow node restart.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'vul_level' => [ + 'title' => '允许自动修复的漏洞级别,以逗号分隔。', + 'description' => 'The severity level of CVEs that can be automatically patched. Multiple severity levels are separated by commas (,).'."\n" + ."\n" + .'* `asap`: high.'."\n" + .'* `later`: medium.'."\n" + .'* `nntf`: low.'."\n", + 'type' => 'string', + 'example' => 'asap,nntf', + ], + 'exclude_packages' => [ + 'title' => '指定在漏洞修复过程中应排除的包。', + 'type' => 'string', + ], + ], + ], + 'auto_upgrade' => [ + 'title' => '是否自动升级。', + 'description' => 'Specifies whether to enable auto node upgrade. This parameter takes effect only if `enable` is set to true.'."\n" + ."\n" + .'* `true`: Auto update is enabled.'."\n" + .'* `false`: Auto update is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'auto_upgrade_policy' => [ + 'title' => '自动升级策略。', + 'description' => 'The auto update policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade_kubelet' => [ + 'title' => '是否允许自动升级kubelet。', + 'description' => 'Specifies whether to allow the auto upgrade of the kubelet. This parameter takes effect only if `auto_upgrade` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: allows the auto upgrade of the kubelet.'."\n" + .'* `false`: no.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'upgrade_config' => [ + 'title' => '自动升级配置。', + 'description' => 'The configurations of auto update. The configurations take effect only if `enable` is set to true.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade' => [ + 'title' => '是否启用自动升级,自修复。', + 'description' => 'Specifies whether to enable auto update. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'surge' => [ + 'title' => '额外节点数量。', + 'description' => 'The number of nodes that are temporarily added to the node pool during an auto update. You must specify this parameter or `surge_percentage`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'surge_percentage' => [ + 'title' => '额外节点比例, 和surge 二选一。', + 'description' => 'The percentage of additional nodes to the total nodes in the node pool. You must specify this parameter or the `surge` parameter.'."\n" + ."\n" + .'The number of additional nodes = The percentage of additional nodes × The number of nodes in the node pool. For example, if the percentage of additional nodes is 50% and the number of nodes in the node pool is 6, the number of additional nodes is 3.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'max_unavailable' => [ + 'title' => '最大不可用节点数量。', + 'description' => 'The maximum number of unavailable nodes. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + 'scaling_group' => [ + 'title' => '节点池扩容组信息。', + 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'scaling_group_id' => [ + 'title' => '扩容组ID ', + 'description' => 'The scaling group ID.'."\n", + 'type' => 'string', + 'example' => 'asg-2ze8n5qw4atggut8****', + ], + 'vswitch_ids' => [ + 'title' => '虚拟交换机ID。', + 'description' => 'The vSwitch IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'example' => 'vsw-2ze3ds0mdip0hdz8i****', + ], + ], + 'instance_types' => [ + 'title' => '实例规格。', + 'description' => 'The list of instance types. You can select multiple instance types. When the system needs to create a node, it starts from the first instance type until the node is created. The instance type that is used to create the node varies based on the inventory.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance types of the nodes in the node pool.'."\n", + 'type' => 'string', + 'example' => 'ecs.n4.large', + ], + 'example' => 'ecs.n4.large', + ], + 'instance_charge_type' => [ + 'title' => '节点付费类型', + 'description' => 'The billing method of the nodes in the node pool. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'period' => [ + 'title' => '节点包年包月时长。', + 'description' => 'The subscription duration of the nodes in the node pool. This parameter is available and required only when `instance_charge_type` is set to `PrePaid`.'."\n" + ."\n" + .'* If `period_unit` is set to Week, the valid values of `period` are 1, 2, 3, and 4.'."\n" + .'* If `period_unit` is set to Month, the valid values of `period` are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '节点包年包月周期。', + 'description' => 'The billing cycle of the nodes in the node pool. This parameter is required if you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `Month`: The subscription duration is measured in months.'."\n" + .'* `Week`: The subscription duration is measured in weeks.'."\n", + 'type' => 'string', + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点是否开启自动续费', + 'description' => 'Specifies whether to enable auto-renewal for the nodes in the node pool. This parameter takes effect only if `instance_charge_type` is set to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'auto_renew_period' => [ + 'title' => '节点自动续费周期', + 'description' => 'The auto-renewal period. Valid value:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3.'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'spot_strategy' => [ + 'title' => '抢占式实例类型', + 'description' => 'The bidding policy of preemptible instances. Valid values:'."\n" + ."\n" + .'* NoSpot: non-preemptible.'."\n" + .'* SpotWithPriceLimit: specifies the highest bid.'."\n" + .'* SpotAsPriceGo: automatically submits bids based on the up-to-date market price.'."\n" + ."\n" + .'For more information, see [Create a preemptible elastic container instance](~~157759~~).'."\n", + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'spot_price_limit' => [ + 'title' => '抢占实例价格上限配置。', + 'description' => 'The bid configurations of preemptible instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'instance_type' => [ + 'title' => '抢占实例规格。', + 'description' => 'The instance type of preemptible instances.'."\n", + 'type' => 'string', + 'example' => 'ecs.c6.large', + ], + 'price_limit' => [ + 'title' => '抢占实例单价。', + 'description' => 'The price cap for a single preemptible instance.'."\n" + ."\n" + .'Unit: USD/hour.'."\n", + 'type' => 'string', + 'example' => '0.39', + ], + ], + ], + ], + 'image_type' => [ + 'title' => '操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:CentOS、AliyunLinux、AliyunLinux Qboot、AliyunLinuxUEFI、AliyunLinux3、Windows、WindowsCore、AliyunLinux3Arm64、ContainerOS。', + 'description' => 'The type of the OS image.'."\n" + ."\n" + .'* `AliyunLinux`: Alibaba Cloud Linux 2.'."\n" + .'* `AliyunLinuxSecurity`: Alibaba Cloud Linux 2 (UEFI).'."\n" + .'* `AliyunLinux3`: Alibaba Cloud Linux 3'."\n" + .'* `AliyunLinux3Arm64`: Alibaba Cloud Linux 3 (ARM).'."\n" + .'* `AliyunLinux3Security`: Alibaba Cloud Linux 3 (UEFI).'."\n" + .'* `CentOS`: CentOS.'."\n" + .'* `Windows`: Windows.'."\n" + .'* `WindowsCore`: Windows Core.'."\n" + .'* `ContainerOS`: ContainerOS.'."\n" + .'* `AliyunLinux3ContainerOptimized`: Alibaba Cloud Linux 3 Container-optimized.'."\n", + 'type' => 'string', + 'example' => 'AliyunLinux', + ], + 'image_id' => [ + 'title' => '自定义镜像。', + 'description' => 'The ID of the custom image. You can call the `DescribeKubernetesVersionMetadata` operation to query the images supported by ACK.'."\n", + 'type' => 'string', + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The type of system disk. Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk'."\n" + .'* `cloud_ssd`: SSD'."\n" + .'* `cloud_essd`: Enterprise ESSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n", + 'type' => 'string', + 'example' => 'cloud_efficiency', + ], + 'system_disk_categories' => [ + 'title' => '系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:cloud:普通云盘。cloud_efficiency:高效云盘。cloud_ssd:SSD云盘。cloud_essd:ESSD云盘。', + 'description' => 'The categories of system disks. The system creates system disks of a disk category with a lower priority if the disk category with a higher priority is unavailable.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '节点系统盘类型', + 'description' => 'The system disk category.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk'."\n" + .'* `cloud_ssd`: SSD'."\n" + .'* `cloud_essd`: ESSD.'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n", + 'type' => 'string', + 'example' => 'ESSD', + 'enum' => [], + ], + 'required' => false, + 'maxItems' => 10, + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小。', + 'description' => 'The size of the system disk in GiB.'."\n" + ."\n" + .'Valid values: 20 to 2048.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '120', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效', + 'description' => 'The performance level (PL) of the system disk. This parameter takes effect only for an ESSD. You can specify a higher PL if you increase the size of a data disk. For more information, see [ESSDs](~~122389~~).'."\n" + ."\n" + .'* PL0: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL1: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL2: high maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency.'."\n", + 'type' => 'string', + 'example' => 'PL1', + ], + 'system_disk_encrypted' => [ + 'title' => '是否加密系统盘。取值范围:true:加密。false:不加密。', + 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'system_disk_kms_key_id' => [ + 'title' => '系统盘使用的KMS密钥ID。', + 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the system disk.'."\n", + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'system_disk_encrypt_algorithm' => [ + 'title' => '系统盘采用的加密算法。取值范围:aes-256。', + 'description' => 'The encryption algorithm that is used to encrypt the system disk. The value is aes-256.'."\n", + 'type' => 'string', + 'example' => 'aes-256', + 'enum' => [], + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发),磁盘类型为cloud_auto时配置。', + 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* true: enables the burst feature.'."\n" + .'* false: disables the burst feature.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS,磁盘类型为cloud_auto时配置。', + 'description' => 'The predefined read and write IOPS of the system disk when the disk type is cloud_auto.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'data_disks' => [ + 'title' => '数据盘配置。', + 'description' => 'The configurations of the data disks that are mounted to the nodes in the node pool. The configurations include the disk category and disk size.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the node data disks.'."\n", + '$ref' => '#/components/schemas/data_disk', + ], + ], + 'disk_init' => [ + 'title' => '块设备初始化配置。', + 'type' => 'array', + 'items' => [ + '$ref' => '#/components/schemas/DiskInit', + ], + ], + 'security_group_ids' => [ + 'title' => '多安全组ID', + 'description' => 'The IDs of security groups for the node pool.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of security groups for the node pool.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze1iuk12m2sb4c4****', + ], + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must specify this parameter or the `login_password` parameter.'."\n" + ."\n" + .'You must specify the `key_pair` parameter if the node pool is a managed node pool.'."\n", + 'type' => 'string', + 'example' => 'pro-nodepool', + ], + 'login_password' => [ + 'title' => 'SSH登录密码。', + 'description' => 'The password for SSH logon. You must specify this parameter or the `key_pair` parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n" + ."\n" + .'The returned password is encrypted to ensure security.'."\n", + 'type' => 'string', + 'example' => '******', + ], + 'login_as_non_root' => [ + 'title' => '弹出的ECS实例是否使用以非root用户登陆。', + 'description' => 'Indicates whether a non-root user can log on to an Elastic Compute Service (ECS) instance added to the node pool.'."\n" + ."\n" + .'* true: Logs in as a non-root user (ecs-user).'."\n" + .'* false: Logs in as the root user.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'cis_enabled' => [ + 'title' => '【已废弃】请使用security_hardening_os参数代替', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'Use security_hardening_os instead.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'example' => 'false', + ], + 'soc_enabled' => [ + 'title' => '是否开启等保加固,仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启等保加固。阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。', + 'description' => 'Specifies whether to enable reinforcement based on classified protection. You can enable reinforcement based on classified protection only if Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3 is installed on nodes. Alibaba Cloud provides standards for baseline check and a scanner to ensure the compliance of Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 images with the level 3 standards of classified protection.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'security_hardening_os' => [ + 'title' => '是否开启阿里云OS安全加固。', + 'description' => 'Indicates whether Alibaba Cloud Linux Security Hardening is enabled. Valid values:'."\n" + ."\n" + .'* `true`: Alibaba Cloud Linux Security Hardening is enabled.'."\n" + .'* `false`: Alibaba Cloud Linux Security Hardening is disabled.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'internet_charge_type' => [ + 'title' => '节点公网IP网络计费类型', + 'description' => 'The metering method of the public IP address.'."\n" + ."\n" + .'* PayByBandwidth: pay-by-data-transfer.'."\n" + .'* PayByTraffic: pay-by-data-transfer.'."\n", + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'internet_max_bandwidth_out' => [ + 'title' => '节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:1~100', + 'description' => 'The maximum outbound bandwidth of the public IP address. Unit: Mbit/s. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'tags' => [ + 'title' => 'ECS标签', + 'description' => 'The label to be added to the ECS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node labels.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'desired_size' => [ + 'title' => '节点池期望节点数', + 'description' => 'The expected number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'multi_az_policy' => [ + 'title' => '多可用区伸缩组ECS实例扩缩容策略', + 'description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* `PRIORITY`: ECS instances are created based on the VSwitchIds.N parameter. If Auto Scaling fails to create an ECS instance in the zone of the vSwitch that has the highest priority, Auto Scaling attempts to create the ECS instance in the zone of the vSwitch that has a lower priority.'."\n" + ."\n" + .'* `COST_OPTIMIZED`: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created when preemptible instance types are specified in the scaling configuration. You can specify `CompensateWithOnDemand` to specify whether to automatically create pay-as-you-go instances if preemptible instances cannot be created due to insufficient resources.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** `COST_OPTIMIZED` takes effect only if multiple instance types are specified or at least one preemptible instance type is specified.'."\n" + ."\n" + .'* `BALANCE`: ECS instances are evenly distributed across multiple zones specified by the scaling group. If the distribution of ECS instances across zones is not balanced due to reasons such as insufficient inventory, you can call the `RebalanceInstances` operation to evenly distribute the ECS instances across zones. For more information, see [RebalanceInstances](~~71516~~).'."\n", + 'type' => 'string', + 'example' => 'COST_OPTIMIZED', + ], + 'scaling_policy' => [ + 'title' => '扩容策略。', + 'description' => 'The scaling mode of the scaling group. Valid values:'."\n" + ."\n" + .'* `release`: the standard mode. ECS instances are created and released based on the resource usage.'."\n" + .'* `recycle`: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached to local disks.'."\n", + 'type' => 'string', + 'example' => 'release', + ], + 'on_demand_base_capacity' => [ + 'title' => '伸缩组所需要按量实例个数的最小值,取值范围:0~1000。当按量实例个数少于该值时,将优先创建按量实例。', + 'description' => 'The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is smaller than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'on_demand_percentage_above_base_capacity' => [ + 'title' => '伸缩组满足最小按量实例数(OnDemandBaseCapacity)要求后,超出的实例中按量实例应占的比例,取值范围:0~100。', + 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by `on_demand_base_capacity`. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'spot_instance_pools' => [ + 'title' => '指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:1~10。', + 'description' => 'The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'spot_instance_remedy' => [ + 'title' => '是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。', + 'description' => 'Specifies whether to enable the supplementation of preemptible instances. If the supplementation of preemptible instances is enabled, when the scaling group receives a system message that a preemptible instance is to be reclaimed, the scaling group attempts to create a new instance to replace this instance. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'compensate_with_on_demand' => [ + 'title' => '当MultiAZPolicy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值范围:true:允许。false:不允许。默认值:true', + 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as the cost or insufficient inventory. This parameter takes effect if you set `multi_az_policy` to `COST_OPTIMIZED` Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'deploymentset_id' => [ + 'title' => '部署集ID。', + 'description' => 'The deployment set ID.'."\n", + 'type' => 'string', + 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', + ], + 'rds_instances' => [ + 'title' => 'RDS实例列表。', + 'description' => 'The ApsaraDB RDS instances. If you specify the list of ApsaraDB RDS instances, ECS instances in the cluster are automatically added to the whitelist of the ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ApsaraDB RDS instance.'."\n", + 'type' => 'string', + 'example' => 'rm-xxx', + ], + ], + 'private_pool_options' => [ + 'title' => '私有池选项。', + 'description' => 'The configurations of the private node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'description' => 'The private pool ID, which is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + 'match_criteria' => [ + 'title' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围: Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置PrivatePoolOptions.Id参数。 Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即PrivatePoolOptions.Id参数为必填项。 None:不使用模式。实例启动将不使用私有池容量。', + 'description' => 'The type of the private node pool. This parameter specifies the type of the private node pool that is used to create instances. A private node pool is generated when an elasticity assurance or a capacity reservation service takes effect. The system selects a private node pool to launch instances. Valid values:'."\n" + ."\n" + .'* `Open`: uses open private pool. The system selects an open private node pool to launch instances. If no matching open private node pool is available, the resources in the public node pool are used.'."\n" + .'* `Target`: uses the specified private node pool. The system uses the resources of the specified private node pool to launch instances. If the specified private node pool is unavailable, instances cannot be launched.'."\n" + .'* `None`: No private node pool is used. The resources of private node pools are not used to launch instances.'."\n", + 'type' => 'string', + 'example' => 'Open', + ], + ], + ], + 'security_group_id' => [ + 'title' => '【该字段已废弃】请使用security_group_ids替代'."\n" + .'安全组ID。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The ID of the security group to which the node pool is added. If the node pool is added to multiple security groups, the first ID in the value of `security_group_ids` is returned.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze1iuk12m2sb4c4****', + ], + 'platform' => [ + 'title' => '【该字段已废弃】请使用image_type替代'."\n" + .'操作系统发行版,和image_type二选一', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'The OS distribution that is used. Valid values:'."\n" + ."\n" + .'* `CentOS`'."\n" + .'* `AliyunLinux`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n", + 'type' => 'string', + 'example' => 'AliyunLinux', + ], + 'ram_policy' => [ + 'title' => '该字段已废弃,请改为使用 ram_role_name 字段。', + 'description' => 'This field is deprecated and replaced by the ram_role_name parameter.'."\n", + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****', + ], + 'instance_patterns' => [ + 'title' => '实例属性', + 'description' => 'The attribute configurations of the instance.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '实例属性', + 'description' => 'The instance properties.'."\n", + '$ref' => '#/components/schemas/instance_patterns', + ], + ], + 'ram_role_name' => [ + 'title' => 'Worker RAM角色名称。', + 'description' => 'Worker RAM role name.', + 'type' => 'string', + 'example' => 'KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****', + ], + 'resource_pool_options' => [ + 'title' => '创建实例时使用的资源池及资源池策略。', + 'type' => 'object', + 'properties' => [ + 'strategy' => [ + 'title' => '创建实例时使用的资源池策略。取值范围:'."\n" + .'PrivatePoolFirst:私有池优先。'."\n" + .'PrivatePoolOnly:仅限私有池。'."\n" + .'None:不使用资源池策略。', + 'type' => 'string', + 'example' => 'PrivatePoolFirst', + 'enum' => [ + 'PrivatePoolFirst', + 'PrivatePoolOnly', + 'None', + ], + ], + 'private_pool_ids' => [ + 'title' => '私有池 ID列表。', + 'type' => 'array', + 'items' => [ + 'title' => '私有池 ID。', + 'type' => 'string', + ], + ], + ], + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '系统盘快照策略', + 'type' => 'string', + ], + ], + ], + 'node_config' => [ + 'title' => '节点配置', + 'description' => 'The configurations of nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'kubelet_configuration' => [ + 'title' => 'Kubelet参数配置。', + 'description' => 'The parameter settings of the kubelet.'."\n", + '$ref' => '#/components/schemas/kubelet_config', + ], + 'node_os_config' => [ + 'type' => 'object', + 'properties' => [ + 'hugepage' => [ + '$ref' => '#/components/schemas/Hugepage', + ], + ], + ], + ], + ], + 'kubernetes_config' => [ + 'title' => '集群配置', + 'description' => 'The configurations of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'labels' => [ + 'title' => '节点标签。', + 'description' => 'The node labels.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the labels.'."\n", + '$ref' => '#/components/schemas/tag', + ], + ], + 'taints' => [ + 'title' => '污点信息。', + 'description' => 'The taint. Taints can be used together with tolerations to avoid scheduling pods to specified nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The taint.'."\n", + '$ref' => '#/components/schemas/taint', + ], + ], + 'runtime' => [ + 'title' => '容器运行时。', + 'description' => 'The name of the container runtime. The following types of runtime are supported by ACK:'."\n" + ."\n" + .'* containerd: containerd is the recommended runtime and supports all Kubernetes versions.'."\n" + .'* Sandboxed-Container.runv: The Sandbox-Container runtime provides improved isolation and supports Kubernetes 1.31 and earlier.'."\n" + .'* Docker (deprecated): supports Kubernetes 1.22 and earlier.'."\n", + 'type' => 'string', + 'example' => 'docker', + ], + 'runtime_version' => [ + 'title' => '容器运行时版本。', + 'description' => 'The version of the container runtime.'."\n", + 'type' => 'string', + 'example' => '19.03.5', + ], + 'cpu_policy' => [ + 'title' => 'CPU管理策略。', + 'description' => 'The CPU management policy of the nodes in the node pool. The following policies are supported if the version of the cluster is Kubernetes 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + 'user_data' => [ + 'title' => '节点自定义数据。', + 'description' => 'The user-defined script that is executed after nodes are initialized. For more information, see [Generate user-defined data](~~49121~~).'."\n", + 'type' => 'string', + 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD****', + ], + 'unschedulable' => [ + 'title' => '扩容后的节点是否可调度。', + 'description' => 'Specifies whether the nodes are unschedulable after a scale-out activity is performed.'."\n" + ."\n" + .'* true: The node cannot be scheduled.'."\n" + .'* false: The node can be scheduled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'cms_enabled' => [ + 'title' => '是否开启云监控。', + 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After the CloudMonitor agent is installed on ECS nodes, you can view the monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'node_name_mode' => [ + 'title' => '自定义节点名称', + 'description' => 'The name of the custom node.'."\n" + ."\n" + .'The custom node name. A custom node name consists of a prefix, an IP substring, and a suffix.'."\n" + ."\n" + .'* The prefix and suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.'."\n" + .'* The IP substring length specifies the number of digits to be truncated from the end of the node IP address. The IP substring length ranges from 5 to 12.'."\n" + ."\n" + .'For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will aliyun.com00055test.'."\n", + 'type' => 'string', + 'example' => 'customized,test.,5,.com', + ], + 'pre_user_data' => [ + 'description' => 'The user-defined script that is executed before nodes are initialized. For more information, see [Generate user-defined data](~~49121~~).'."\n", + 'type' => 'string', + 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD', + ], + ], + ], + 'tee_config' => [ + 'title' => '加密计算节点池信息。', + 'description' => 'The configurations of confidential computing.'."\n", + 'type' => 'object', + 'properties' => [ + 'tee_enable' => [ + 'title' => '是否为加密计算节点池。', + 'description' => 'Specifies whether to enable confidential computing for the cluster. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'interconnect_config' => [ + 'title' => '边缘节点池网络相关的配置。该值只对edge类型的节点池有意义', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The network configurations of the edge node pool. This parameter takes effect only on edge node pools.'."\n", + 'type' => 'object', + 'properties' => [ + 'cen_id' => [ + 'title' => '边缘增强型节点池绑定的云企业网实例ID(CENID)', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'example' => 'cen-ey9k9nfhz0f*******', + ], + 'ccn_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例ID(CCNID)', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.'."\n", + 'type' => 'string', + 'example' => 'ccn-qm5i0i0q9yi*******', + ], + 'ccn_region_id' => [ + 'title' => '边缘增强型节点池绑定的云连接网实例所属的区域', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The region in which the CCN instance that is with the enhanced edge node pool resides.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'bandwidth' => [ + 'title' => '边缘增强型节点池的网络带宽,单位M', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The bandwidth of the enhanced edge node pool. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'improved_period' => [ + 'title' => '边缘增强型节点池的购买时长,单位月', + 'description' => 'This parameter is discontinued.'."\n" + ."\n" + .'The subscription duration of the enhanced edge node pool. Unit: months.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + 'max_nodes' => [ + 'title' => '边缘节点池允许容纳的最大节点数量. 节点池内可以容纳的最大节点数量,该参数大于等于0。0表示无额外限制(仅受限于集群整体可以容纳的节点数,节点池本身无额外限制)。边缘节点池该参数值往往大于0;ess类型节点池和默认的edge类型节点池该参数值为0', + 'description' => 'The maximum number of nodes that can be created in the edge node pool. The value of this parameter must be greater than or equal to 0. A value of 0 indicates that the number of nodes in the node pool is limited only by the quota of nodes in the cluster. In most cases, this parameter is set to a value larger than 0 for edge node pools. This parameter is set to 0 for node pools whose types are ess or default edge node pools.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'interconnect_mode' => [ + 'title' => '边缘节点池的网络类型。basic:基础型;improved:增强型。该值只对edge类型的节点池有意义', + 'description' => 'The network type of the edge node pool. This parameter takes effect only if you set `type` of the node pool to `edge`. Valid values:'."\n" + ."\n" + .'* `basic`: Internet. Nodes in the node pool communicate with nodes in the cloud over the Internet. Applications deployed on the edge nodes cannot directly access virtual private clouds (VPCs) over the Internet.'."\n" + .'* `private`: private network. You can connect nodes in the node pool to the cloud by using Express Connect, VPN, or Cloud Enterprise Network (CEN). This greatly improves the quality and security of cloud-edge communication.'."\n", + 'type' => 'string', + 'example' => 'improved', + ], + 'auto_mode' => [ + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'type' => 'boolean', + 'title' => '是否开启智能托管。', + ], + ], + 'title' => '智能托管配置。', + ], + 'node_components' => [ + 'title' => '节点组件列表。', + 'type' => 'array', + 'items' => [ + 'title' => '节点组件。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点组件名称。', + 'type' => 'string', + 'example' => 'kubelet', + ], + 'version' => [ + 'title' => '节点组件版本。', + 'type' => 'string', + 'example' => '1.33.3-aliyun.1', + ], + 'config' => [ + 'title' => '节点组件配置。', + 'type' => 'object', + 'properties' => [ + 'custom_config' => [ + 'title' => '节点组件自定义配置。', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'cpuManagerPolicy', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '5XX' => [], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"nodepools\\": [\\n {\\n \\"nodepool_info\\": {\\n \\"nodepool_id\\": \\"np615c0e0966124216a0412e10afe0****\\",\\n \\"name\\": \\"default-nodepool\\",\\n \\"type\\": \\"ess\\",\\n \\"is_default\\": true,\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjm****\\",\\n \\"region_id\\": \\"cn-beijing\\",\\n \\"created\\": \\"2025-04-15T16:33:29.362888807+08:00\\",\\n \\"updated\\": \\"2025-04-15T16:33:32.823+08:00\\"\\n },\\n \\"status\\": {\\n \\"state\\": \\"active\\",\\n \\"healthy_nodes\\": 3,\\n \\"initial_nodes\\": 0,\\n \\"failed_nodes\\": 0,\\n \\"offline_nodes\\": 0,\\n \\"removing_nodes\\": 0,\\n \\"serving_nodes\\": 3,\\n \\"total_nodes\\": 3\\n },\\n \\"auto_scaling\\": {\\n \\"enable\\": true,\\n \\"type\\": \\"cpu\\",\\n \\"max_instances\\": 10,\\n \\"min_instances\\": 2,\\n \\"eip_internet_charge_type\\": \\"PayByBandwidth\\",\\n \\"is_bond_eip\\": true,\\n \\"eip_bandwidth\\": 5\\n },\\n \\"management\\": {\\n \\"enable\\": true,\\n \\"auto_repair\\": true,\\n \\"auto_repair_policy\\": {\\n \\"restart_node\\": true,\\n \\"approval_required\\": false,\\n \\"auto_repair_policy_id\\": \\"r-xxxxxxxxx\\"\\n },\\n \\"auto_vul_fix\\": true,\\n \\"auto_vul_fix_policy\\": {\\n \\"restart_node\\": true,\\n \\"vul_level\\": \\"asap,nntf\\",\\n \\"exclude_packages\\": \\"\\"\\n },\\n \\"auto_upgrade\\": true,\\n \\"auto_upgrade_policy\\": {\\n \\"auto_upgrade_kubelet\\": true\\n },\\n \\"upgrade_config\\": {\\n \\"auto_upgrade\\": true,\\n \\"surge\\": 5,\\n \\"surge_percentage\\": 50,\\n \\"max_unavailable\\": 1\\n }\\n },\\n \\"scaling_group\\": {\\n \\"scaling_group_id\\": \\"asg-2ze8n5qw4atggut8****\\",\\n \\"vswitch_ids\\": [\\n \\"vsw-2ze3ds0mdip0hdz8i****\\"\\n ],\\n \\"instance_types\\": [\\n \\"ecs.n4.large\\"\\n ],\\n \\"instance_charge_type\\": \\"PostPaid\\",\\n \\"period\\": 1,\\n \\"period_unit\\": \\"Month\\",\\n \\"auto_renew\\": false,\\n \\"auto_renew_period\\": 0,\\n \\"spot_strategy\\": \\"NoSpot\\",\\n \\"spot_price_limit\\": [\\n {\\n \\"instance_type\\": \\"ecs.c6.large\\",\\n \\"price_limit\\": \\"0.39\\"\\n }\\n ],\\n \\"image_type\\": \\"AliyunLinux3\\",\\n \\"image_id\\": \\"aliyun_3_x64_20G_alibase_20241218.vhd\\",\\n \\"system_disk_category\\": \\"cloud_efficiency\\",\\n \\"system_disk_categories\\": [\\n \\"EESSD云盘\\"\\n ],\\n \\"system_disk_size\\": 120,\\n \\"system_disk_performance_level\\": \\"PL1\\",\\n \\"system_disk_encrypted\\": false,\\n \\"system_disk_kms_key_id\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"system_disk_encrypt_algorithm\\": \\"aes-256\\",\\n \\"system_disk_bursting_enabled\\": true,\\n \\"system_disk_provisioned_iops\\": 1000,\\n \\"data_disks\\": [\\n {\\n \\"category\\": \\"cloud_ssd\\",\\n \\"size\\": 40,\\n \\"encrypted\\": \\"true\\",\\n \\"kms_key_id\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"auto_snapshot_policy_id\\": \\"sp-2zej1nogjvovnz4z****\\",\\n \\"performance_level\\": \\"PL1\\",\\n \\"provisioned_iops\\": 1000,\\n \\"bursting_enabled\\": true,\\n \\"auto_format\\": true,\\n \\"file_system\\": \\"ext4\\",\\n \\"mount_target\\": \\"/mnt/path1\\",\\n \\"disk_name\\": \\"DataDiskName\\",\\n \\"device\\": \\"/dev/xvdb\\",\\n \\"snapshot_id\\": \\"s-280s7****\\"\\n }\\n ],\\n \\"disk_init\\": [\\n {\\n \\"disk_name\\": \\"disk0\\",\\n \\"mkfs_type\\": \\"ext4\\",\\n \\"mount_target\\": \\"/mnt/disk0\\",\\n \\"mount_for_runtime\\": true,\\n \\"local_disk\\": true\\n }\\n ],\\n \\"security_group_ids\\": [\\n \\"sg-2ze1iuk12m2sb4c4****\\"\\n ],\\n \\"key_pair\\": \\"pro-nodepool\\",\\n \\"login_password\\": \\"******\\",\\n \\"login_as_non_root\\": true,\\n \\"cis_enabled\\": false,\\n \\"soc_enabled\\": false,\\n \\"security_hardening_os\\": false,\\n \\"internet_charge_type\\": \\"PayByBandwidth\\",\\n \\"internet_max_bandwidth_out\\": 10,\\n \\"tags\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"desired_size\\": 2,\\n \\"multi_az_policy\\": \\"COST_OPTIMIZED\\",\\n \\"scaling_policy\\": \\"release\\",\\n \\"on_demand_base_capacity\\": 0,\\n \\"on_demand_percentage_above_base_capacity\\": 20,\\n \\"spot_instance_pools\\": 5,\\n \\"spot_instance_remedy\\": false,\\n \\"compensate_with_on_demand\\": true,\\n \\"deploymentset_id\\": \\"ds-bp1d19mmbsv3jf6xxxxx\\",\\n \\"rds_instances\\": [\\n \\"rm-xxx\\"\\n ],\\n \\"private_pool_options\\": {\\n \\"id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"match_criteria\\": \\"Open\\"\\n },\\n \\"security_group_id\\": \\"sg-2ze1iuk12m2sb4c4****\\",\\n \\"platform\\": \\"AliyunLinux\\",\\n \\"ram_policy\\": \\"KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****\\",\\n \\"instance_patterns\\": [\\n {\\n \\"cores\\": 4,\\n \\"memory\\": 8,\\n \\"instance_family_level\\": \\"EnterpriseLevel\\",\\n \\"excluded_instance_types\\": [\\n \\"ecs.c6.large\\"\\n ],\\n \\"min_cpu_cores\\": 4,\\n \\"max_cpu_cores\\": 8,\\n \\"min_memory_size\\": 8,\\n \\"max_memory_size\\": 16,\\n \\"instance_categories\\": [\\n \\"General-purpose\\"\\n ],\\n \\"cpu_architectures\\": [\\n \\"X86\\"\\n ],\\n \\"core\\": 4,\\n \\"max_price\\": 2,\\n \\"architectures\\": [\\n \\"X86\\"\\n ],\\n \\"burst_performance_option\\": \\"Exclude\\",\\n \\"instance_type_families\\": [\\n \\"\\"\\n ],\\n \\"minimum_eni_quantity\\": 0,\\n \\"minimum_eni_private_ip_address_quantity\\": 0,\\n \\"minimum_eni_ipv6_address_quantity\\": 0,\\n \\"maximum_gpu_amount\\": 0\\n }\\n ],\\n \\"ram_role_name\\": \\"KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****\\",\\n \\"resource_pool_options\\": {\\n \\"strategy\\": \\"PrivatePoolFirst\\",\\n \\"private_pool_ids\\": [\\n \\"\\"\\n ]\\n },\\n \\"system_disk_snapshot_policy_id\\": \\"\\"\\n },\\n \\"node_config\\": {\\n \\"kubelet_configuration\\": {\\n \\"registryPullQPS\\": 5,\\n \\"registryBurst\\": 10,\\n \\"eventRecordQPS\\": 5,\\n \\"eventBurst\\": 10,\\n \\"kubeAPIQPS\\": 5,\\n \\"kubeAPIBurst\\": 10,\\n \\"serializeImagePulls\\": true,\\n \\"cpuManagerPolicy\\": \\"none\\",\\n \\"evictionHard\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"evictionSoft\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"evictionSoftGracePeriod\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"systemReserved\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"kubeReserved\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"readOnlyPort\\": 0,\\n \\"maxPods\\": 110,\\n \\"containerLogMaxSize\\": \\"10Mi\\",\\n \\"containerLogMaxFiles\\": 5,\\n \\"featureGates\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"allowedUnsafeSysctls\\": [\\n \\"\\"\\n ],\\n \\"reservedMemory\\": [\\n {\\n \\"numaNode\\": 0,\\n \\"limits\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n ],\\n \\"memoryManagerPolicy\\": \\"none\\",\\n \\"cpuCFSQuota\\": true,\\n \\"cpuCFSQuotaPeriod\\": \\"100ms\\",\\n \\"imageGCHighThresholdPercent\\": 85,\\n \\"imageGCLowThresholdPercent\\": 80,\\n \\"podPidsLimit\\": -1,\\n \\"topologyManagerPolicy\\": \\"restricted\\",\\n \\"clusterDNS\\": [\\n \\"\\"\\n ],\\n \\"tracing\\": {\\n \\"endpoint\\": \\"localhost:4317\\",\\n \\"samplingRatePerMillion\\": 0\\n },\\n \\"containerLogMaxWorkers\\": 1,\\n \\"containerLogMonitorInterval\\": \\"10s\\",\\n \\"serverTLSBootstrap\\": true\\n },\\n \\"node_os_config\\": {\\n \\"hugepage\\": {\\n \\"transparentEnabled\\": \\"\\",\\n \\"transparentDefrag\\": \\"\\",\\n \\"khugepagedDefrag\\": 0,\\n \\"khugepagedAllocSleepMillisecs\\": 0,\\n \\"khugepagedScanSleepMillisecs\\": 0,\\n \\"khugepagedPagesToScan\\": 0\\n }\\n }\\n },\\n \\"kubernetes_config\\": {\\n \\"labels\\": [\\n {\\n \\"key\\": \\"env\\",\\n \\"value\\": \\"prod\\"\\n }\\n ],\\n \\"taints\\": [\\n {\\n \\"key\\": \\"key\\",\\n \\"value\\": \\"value\\",\\n \\"effect\\": \\"NoSchedule\\"\\n }\\n ],\\n \\"runtime\\": \\"containerd\\",\\n \\"runtime_version\\": \\"1.6.38\\",\\n \\"cpu_policy\\": \\"none\\",\\n \\"user_data\\": \\"IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD****\\",\\n \\"unschedulable\\": true,\\n \\"cms_enabled\\": true,\\n \\"node_name_mode\\": \\"aliyun.com192.XX.YY.55test\\",\\n \\"pre_user_data\\": \\"IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD\\"\\n },\\n \\"tee_config\\": {\\n \\"tee_enable\\": false\\n },\\n \\"interconnect_config\\": {\\n \\"cen_id\\": \\"cen-ey9k9nfhz0f*******\\",\\n \\"ccn_id\\": \\"ccn-qm5i0i0q9yi*******\\",\\n \\"ccn_region_id\\": \\"cn-shanghai\\",\\n \\"bandwidth\\": 10,\\n \\"improved_period\\": \\"1\\"\\n },\\n \\"max_nodes\\": 10,\\n \\"interconnect_mode\\": \\"basic\\",\\n \\"auto_mode\\": {\\n \\"enable\\": true\\n },\\n \\"node_components\\": [\\n {\\n \\"name\\": \\"kubelet\\",\\n \\"version\\": \\"1.33.3-aliyun.1\\",\\n \\"config\\": {\\n \\"custom_config\\": {\\n \\"key\\": \\"cpuManagerPolicy\\"\\n }\\n }\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterNodePoolsResponse>\\n <nodepools>\\n <auto_scaling>\\n <eip_bandwidth>5</eip_bandwidth>\\n <is_bond_eip>true</is_bond_eip>\\n <eip_internet_charge_type>PayByBandwidth</eip_internet_charge_type>\\n <enable>true</enable>\\n <max_instances>10</max_instances>\\n <min_instances>2</min_instances>\\n <type>cpu</type>\\n </auto_scaling>\\n <kubernetes_config>\\n <cms_enabled>true</cms_enabled>\\n <cpu_policy>none</cpu_policy>\\n <labels>\\n <key>env</key>\\n <value>prod</value>\\n </labels>\\n <runtime>docker</runtime>\\n <runtime_version>19.03.5</runtime_version>\\n <taints>\\n <key>key</key>\\n <value>value</value>\\n <effect>NoSchedule</effect>\\n </taints>\\n <user_data>IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD****</user_data>\\n </kubernetes_config>\\n <nodepool_info>\\n <created>2020-09-27T19:14:09.156823496+08:00</created>\\n <is_default>true</is_default>\\n <name>default-nodepool</name>\\n <nodepool_id>np615c0e0966124216a0412e10afe0****</nodepool_id>\\n <region_id>cn-beijing</region_id>\\n <resource_group_id>rg-acfmyvw3wjm****</resource_group_id>\\n <type>ess</type>\\n <updated>2020-09-27T20:37:46+08:00</updated>\\n </nodepool_info>\\n <scaling_group>\\n <auto_renew>false</auto_renew>\\n <auto_renew_period>0</auto_renew_period>\\n <data_disks>\\n <category>cloud_ssd</category>\\n <size>40</size>\\n <encrypted>true</encrypted>\\n <auto_snapshot_policy_id>sp-2zej1nogjvovnz4z****</auto_snapshot_policy_id>\\n </data_disks>\\n <image_id>aliyun_2_1903_x64_20G_alibase_20200529.vhd</image_id>\\n <instance_charge_type>PostPaid</instance_charge_type>\\n <instance_types>ecs.n4.large</instance_types>\\n <multi_az_policy>COST_OPTIMIZED</multi_az_policy>\\n <on_demand_base_capacity>0</on_demand_base_capacity>\\n <on_demand_percentage_above_base_capacity>20</on_demand_percentage_above_base_capacity>\\n <spot_instance_pools>5</spot_instance_pools>\\n <spot_instance_remedy>false</spot_instance_remedy>\\n <compensate_with_on_demand>true</compensate_with_on_demand>\\n <period>0</period>\\n <period_unit>Month</period_unit>\\n <platform>AliyunLinux</platform>\\n <ram_policy>KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****</ram_policy>\\n <spot_strategy>NoSpot</spot_strategy>\\n <spot_price_limit>\\n <instance_type>ecs.c6.large</instance_type>\\n <price_limit>0.39</price_limit>\\n </spot_price_limit>\\n <rds_instances>rm-xxx</rds_instances>\\n <scaling_group_id>asg-2ze8n5qw4atggut8****</scaling_group_id>\\n <scaling_policy>release</scaling_policy>\\n <security_group_id>sg-2ze1iuk12m2sb4c4****</security_group_id>\\n <security_group_ids>sg-2ze1iuk12m2sb4c4****</security_group_ids>\\n <system_disk_category>cloud_efficiency</system_disk_category>\\n <system_disk_size>120</system_disk_size>\\n <tags>\\n <key>env</key>\\n <value>prod</value>\\n </tags>\\n <vswitch_ids>vsw-2ze3ds0mdip0hdz8i****</vswitch_ids>\\n <login_password>******</login_password>\\n <key_pair>pro-nodepool</key_pair>\\n <internet_charge_type>PayByBandwidth</internet_charge_type>\\n <internet_max_bandwidth_out>10</internet_max_bandwidth_out>\\n </scaling_group>\\n <status>\\n <failed_nodes>0</failed_nodes>\\n <healthy_nodes>3</healthy_nodes>\\n <initial_nodes>0</initial_nodes>\\n <offline_nodes>0</offline_nodes>\\n <removing_nodes>0</removing_nodes>\\n <serving_nodes>3</serving_nodes>\\n <state>active</state>\\n <total_nodes>3</total_nodes>\\n </status>\\n <tee_config>\\n <tee_enable>false</tee_enable>\\n </tee_config>\\n <management>\\n <enable>true</enable>\\n <auto_repair>true</auto_repair>\\n <upgrade_config>\\n <auto_upgrade>true</auto_upgrade>\\n <surge>5</surge>\\n <surge_percentage>50</surge_percentage>\\n <max_unavailable>1</max_unavailable>\\n </upgrade_config>\\n </management>\\n </nodepools>\\n</DescribeClusterNodePoolsResponse>","errorExample":""}]', + 'title' => 'DescribeClusterNodePools', + 'translator' => 'machine', + ], + 'DescribeNodePoolVuls' => [ + 'summary' => 'Queries the vulnerability information of a node pool, such as vulnerability names and severity levels, by specifying the ID of the node pool. We recommend that you periodically scan node pools for vulnerabilities to enhance cluster security.', + 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/vuls', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119077', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => 'Cluster ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'c17e742cee942410486f237293d66****', + ], + ], + [ + 'name' => 'nodepool_id', + 'in' => 'path', + 'schema' => [ + 'description' => 'Node pool ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'np38f32fdbc60e4a1e957ffde77846****', + ], + ], + [ + 'name' => 'necessity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The priority to fix the vulnerability. Separate multiple priorities with commas (,). Valid values:'."\n" + ."\n" + .'* `asap`: high'."\n" + .'* `later`: medium'."\n" + .'* `nntf`: low'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asap', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'vul_records' => [ + 'description' => 'The vulnerability list of all node pools.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vulnerability list of a node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'instance_id' => [ + 'description' => 'The ID of the node.'."\n", + 'type' => 'string', + 'example' => 'i-t4n2qolb0wtzt0pz****', + ], + 'vul_list' => [ + 'description' => 'The list of vulnerabilities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about a vulnerability.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'The name of the vulnerability.'."\n", + 'type' => 'string', + 'example' => 'oval:com.redhat.rhsa:def:20193197', + ], + 'alias_name' => [ + 'description' => 'The alias of the vulnerability.'."\n", + 'type' => 'string', + 'example' => 'RHSA-2019:3197-Important: sudo security update', + ], + 'necessity' => [ + 'description' => 'The severity level of the vulnerability.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* nntf: You can ignore the vulnerability.'."\n" + .'* later: You can fix the vulnerability later.'."\n" + .'* asap: You need to fix the vulnerability at the earliest opportunity.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'nntf' => '', + 'later' => '', + 'asap' => '', + ], + 'example' => 'asap', + ], + 'cve_list' => [ + 'description' => 'A list of CVE names corresponding to the vulnerabilities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CVE name of the vulnerability.'."\n", + 'type' => 'string', + 'example' => 'CVE-2017-10268', + ], + ], + 'need_reboot' => [ + 'title' => '是否需要重启。', + 'description' => 'Indicates whether a restart is required.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'package_list' => [ + 'title' => '漏洞涉及的包列表', + 'type' => 'array', + 'items' => [ + 'title' => '包信息', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '包名称', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + 'node_name' => [ + 'description' => 'The node name. This name is the identifier of the node in the cluster.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou.192.168.x.x', + ], + ], + ], + ], + 'vuls_fix_service_purchased' => [ + 'title' => '是否已购买云安全CVE修复服务', + 'description' => 'Indicates whether the CVE vulnerability patching service provided by Security Center is purchased.'."\n" + ."\n" + .'* true: yes'."\n" + .'* false: no'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + 'description' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"vul_records\\": [\\n {\\n \\"instance_id\\": \\"i-t4n2qolb0wtzt0pz****\\",\\n \\"vul_list\\": [\\n {\\n \\"name\\": \\"oval:com.redhat.rhsa:def:20193197\\",\\n \\"alias_name\\": \\"RHSA-2019:3197-Important: sudo security update\\",\\n \\"necessity\\": \\"asap\\",\\n \\"cve_list\\": [\\n \\"CVE-2017-10268\\"\\n ],\\n \\"need_reboot\\": false,\\n \\"package_list\\": [\\n {\\n \\"name\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"node_name\\": \\"cn-hangzhou.192.168.x.x\\"\\n }\\n ],\\n \\"vuls_fix_service_purchased\\": false\\n}","type":"json"}]', + 'title' => 'DescribeNodePoolVuls', + 'translator' => 'machine', + ], + 'ModifyClusterNodePool' => [ + 'summary' => 'You can call the ModifyClusterNodePool operation to modify the configuration of a node pool with the specified node pool ID.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '528', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'p31da1b38983f4511b490fc62108a****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_info' => [ + 'title' => '节点池配置。', + 'description' => 'The configurations of the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点池名称。', + 'description' => 'The name of the node pool.'."\n" + ."\n" + .'The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default-nodepool', + ], + 'resource_group_id' => [ + 'title' => '资源组ID。', + 'description' => 'The ID of the resource group to which the node pool belongs. Instances that are added to the node pool belong to this resource group.'."\n" + ."\n" + .'Each resource can belong only to one resource group. You can regard a resource group as a project, an application, or an organization based on your business scenarios.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmyvw3wjm****', + ], + ], + 'required' => false, + ], + 'auto_scaling' => [ + 'title' => '自动伸缩节点池配置。', + 'description' => 'The configurations about auto scaling.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否开启自动伸缩。', + 'description' => 'Specifies whether to enable auto scaling. Valid values:'."\n" + ."\n" + .'* `true`: enables auto scaling for the node pool. When the capacity planning of the cluster cannot meet the requirements of pod scheduling, ACK automatically scales out nodes based on the configured minimum and maximum number of instances. By default, node instant scaling is enabled for clusters that run Kubernetes 1.24. By default, node auto scaling is enabled for clusters that run Kubernetes versions earlier than 1.24. For more information, see [Auto scaling of nodes](~~2746785~~).'."\n" + .'* `false`: disables auto scaling. Container Service for Kubernetes (ACK) adjusts the number of nodes in the node pool based on the value of the Expected Nodes parameter. The number of nodes is always the same as the value of the Expected Nodes parameter.'."\n" + ."\n" + .'If you set this parameter to false, other parameters in the `auto_scaling` section do not take effect.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'type' => [ + 'title' => '自动伸缩节点类型。', + 'description' => 'The instance type that is used for auto scaling. Valid values:'."\n" + ."\n" + .'* `cpu`: regular instance.'."\n" + .'* `gpu`: GPU-accelerated instance.'."\n" + .'* `gpushare`: shared GPU-accelerated instance.'."\n" + .'* `spot`: preemptible instance.'."\n" + ."\n" + .'Default value: `cpu`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'cpu', + ], + 'max_instances' => [ + 'title' => '最大实例数。', + 'description' => 'The maximum number of nodes that can be created in the node pool. Existing instances are excluded. This parameter takes effect only when `enable=true` is specified.'."\n" + ."\n" + .'The value must be at least the value of min_instances and cannot exceed 2000. Default value: 0.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + 'min_instances' => [ + 'title' => '最小实例数。', + 'description' => 'The minimum number of nodes that must be kept in the node pool. Existing instances are excluded. This parameter takes effect only when `enable=true` is specified.'."\n" + ."\n" + .'The value must be at least 0 and cannot exceed the value of max_instances. Default value: 0.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* When the minimum number of instances is greater than 0 and a scaling group is set up, ECS instances are automatically created based on the minimum number.'."\n" + ."\n" + .'* We recommend that the value of max_instances is equal to or larger than the current number of nodes in the node pool. If the value of max_instances is less than the current number of nodes in the node pool, the node pool will be scaled in after you enable auto scaling for the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2', + ], + 'is_bond_eip' => [ + 'title' => '是否绑定EIP。', + 'description' => 'This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead.'."\n" + ."\n" + .'* `true`: associates an elastic IP address (EIP) with the node pool.'."\n" + .'* `false`: does not associate an EIP with the node pool.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'eip_internet_charge_type' => [ + 'title' => 'EIP计费类型。', + 'description' => 'This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead.'."\n" + ."\n" + .'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n" + ."\n" + .'Default value: `PayByBandwidth`.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'PayByBandwidth', + ], + 'eip_bandwidth' => [ + 'title' => '带宽峰值。', + 'description' => 'This parameter is deprecated. Use the internet_charge_type and internet_max_bandwidth_out parameters instead. The maximum bandwidth of the EIP.'."\n" + ."\n" + .'Valid values: 1 to 100. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '5', + ], + ], + 'required' => false, + ], + 'management' => [ + 'title' => '托管版节点池配置。', + 'description' => 'The configurations of the managed node pool feature.'."\n", + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'title' => '是否启用托管节点池。', + 'description' => 'Specifies whether to enable the managed node pool feature. Valid values:'."\n" + ."\n" + .'* `true`: enables the managed node pool feature.'."\n" + .'* `false`: disables the managed node pool feature. Other parameters in this section take effect only when `enable=true` is specified.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_repair' => [ + 'title' => '是否开启自动修复。', + 'description' => 'Specifies whether to enable auto node repair. This parameter takes effect only if `enable` is set to true. Valid values:'."\n" + ."\n" + .'* `true`: enables auto repair.'."\n" + .'* `false`: disables auto repair.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_repair_policy' => [ + 'title' => '自动修复节点策略。', + 'description' => 'The auto node repair policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether ACK is allowed to automatically restart nodes after repairing the nodes. Valid values:'."\n" + ."\n" + .'* `true`: yes.'."\n" + .'* `false`: no.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'approval_required' => [ + 'title' => '节点修复是否需要人工审批。', + 'type' => 'boolean', + ], + 'auto_repair_policy_id' => [ + 'title' => '自动修复策略ID', + 'type' => 'string', + 'example' => 'r-xxxxxxxxxx', + ], + ], + 'required' => false, + ], + 'auto_vul_fix' => [ + 'title' => '是否自动修复CVE。', + 'description' => 'Specifies whether ACK is allowed to automatically patch CVE vulnerabilities. Valid values:'."\n" + ."\n" + .'* `true`: enables auto CVE patching.'."\n" + .'* `true`: disables auto CVE patching.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_vul_fix_policy' => [ + 'title' => '自动修复CVE策略。', + 'description' => 'The auto CVE patching policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'restart_node' => [ + 'title' => '是否允许重启节点。', + 'description' => 'Specifies whether ACK is allowed to automatically restart nodes after repairing the nodes. Valid values:'."\n" + ."\n" + .'* `true`: yes.'."\n" + .'* `false`: no.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'vul_level' => [ + 'title' => '允许自动修复的漏洞级别,以逗号分隔。', + 'description' => 'The severity levels of CVEs that can be automatically patched. Separate multiple levels with commas (,). Example: `asap,later`. Valid values:'."\n" + ."\n" + .'* `asap`: high.'."\n" + .'* `later`: medium.'."\n" + .'* `nntf`: low.'."\n" + ."\n" + .'If `auto_vul_fix=true` is specified, the default value is `asap`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asap,nntf', + ], + 'exclude_packages' => [ + 'title' => '指定在漏洞修复过程中应排除的包。', + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'auto_upgrade' => [ + 'title' => '是否自动升级。', + 'description' => 'Specifies whether to enable auto upgrade. Valid values:'."\n" + ."\n" + .'* `true`: enables auto upgrade.'."\n" + .'* `false`: disables auto upgrade.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_upgrade_policy' => [ + 'title' => '自动升级策略。', + 'description' => 'The auto upgrade policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade_kubelet' => [ + 'title' => '是否允许自动升级kubelet。', + 'description' => 'Specifies whether ACK is allowed to automatically upgrade the kubelet. Valid values:'."\n" + ."\n" + .'* `true`: yes.'."\n" + .'* `false`: no.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_upgrade_runtime' => [ + 'title' => '是否允许自动升级运行时。', + 'description' => 'Specifies whether ACK is allowed to automatically upgrade the runtime. This parameter takes effect only when you specify `auto_upgrade=true`. Valid values:'."\n" + ."\n" + .'* `true`: yes.'."\n" + .'* `false`: no.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'auto_upgrade_os' => [ + 'title' => '是否允许自动升级操作系统。', + 'description' => 'Specifies whether ACK is allowed to automatically upgrade the operating system. This parameter takes effect only when you specify `auto_upgrade=true`. Valid values:'."\n" + ."\n" + .'* `true`: yes.'."\n" + .'* `false`: no.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'upgrade_config' => [ + 'title' => '自动升级配置。', + 'description' => 'This parameter is deprecated. Use the preceding `auto_upgrade` parameter instead.'."\n" + ."\n" + .'The configurations of auto upgrade. The configurations take effect only when `enable` is set to true.'."\n", + 'type' => 'object', + 'properties' => [ + 'auto_upgrade' => [ + 'title' => '是否启用自动升级,自修复。', + 'description' => 'This parameter is deprecated. Use the preceding `auto_upgrade` parameter instead.'."\n" + ."\n" + .'Specifies whether to enable auto upgrade. Valid values:'."\n" + ."\n" + .'* true: enables auto upgrade.'."\n" + .'* false: disables auto upgrade.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'surge' => [ + 'title' => '额外节点数量。', + 'description' => 'The number of additional nodes that are temporarily added to the node pool during an auto upgrade. Specify this parameter or `surge_percentage`.'."\n" + ."\n" + .'A node is unavailable during an upgrade. Additional nodes are used to temporarily host the workloads of nodes that are being upgraded.'."\n" + ."\n" + .'> We recommend that you specify a value that does not exceed the current number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + 'surge_percentage' => [ + 'title' => '额外节点比例, 和surge 二选一。', + 'description' => 'The percentage of additional nodes in the node pool. Specify this parameter or the `surge` parameter is specified.'."\n" + ."\n" + .'The number of additional nodes = The percentage of additional nodes × The number of nodes in the node pool. For example, if the percentage of additional nodes is 50% and the number of nodes in the node pool is 6, the number of additional nodes is 3.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'max_unavailable' => [ + 'title' => '最大不可用节点数量。', + 'description' => 'The maximum number of nodes that can be in the Unavailable state.'."\n" + ."\n" + .'Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + 'deprecated' => true, + 'required' => false, + ], + ], + 'required' => false, + ], + 'scaling_group' => [ + 'title' => '扩容组配置。', + 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'vswitch_ids' => [ + 'title' => '节点使用的虚拟交换机ID。', + 'description' => 'The vSwitch IDs. You can specify one to eight vSwitch IDs.'."\n" + ."\n" + .'> To ensure high availability, we recommend that you select vSwitches that reside in different zones.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-wz9uwxhawmtzg7u9h****', + ], + 'required' => false, + ], + 'instance_types' => [ + 'title' => '节点实例规格。', + 'description' => 'The instance types. You can specify multiple instance types. A node is assigned the instance type from the first instance type of the list until the node is created. The instance type that is used to create the node varies based on the actual instance stock.'."\n" + ."\n" + .'You can specify 1 to 10 instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type. For more information about the valid values, see [Instance families](~~25378~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + 'required' => false, + ], + 'instance_charge_type' => [ + 'title' => '节点付费类型。', + 'description' => 'The billing method of nodes in the node pool. Valid values:'."\n" + ."\n" + .'* `PrePaid`: subscription.'."\n" + .'* `PostPaid`: pay-as-you-go.'."\n" + ."\n" + .'Default value: `PostPaid`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + 'period' => [ + 'title' => '包年包月时长', + 'description' => 'The subscription duration of nodes in the node pool. This parameter takes effect and is required if you set `instance_charge_type` to `PrePaid`.'."\n" + ."\n" + .'* If `period_unit` is set to Week, the valid values of `period` are 1, 2, 3, and 4.'."\n" + .'* If `period_unit` is set to Month, the valid values of `period` are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'period_unit' => [ + 'title' => '付费周期', + 'description' => 'The billing cycle of nodes in the node pool. This parameter takes effect and is required if you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `Month`: The subscription duration is measured in months.'."\n" + .'* `Week`: The subscription duration is measured in weeks.'."\n" + ."\n" + .'Default value: `Month`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'auto_renew' => [ + 'title' => '节点池节点是启用自动续费', + 'description' => 'Specifies whether to enable auto-renewal for the nodes in the node pool. This parameter takes effect only when you set `instance_charge_type` to `PrePaid`. Valid values:'."\n" + ."\n" + .'* `true`: enables auto-renewal.'."\n" + .'* `false`: disables auto-renewal.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'auto_renew_period' => [ + 'title' => '节点池节点自动续费周期', + 'description' => 'The auto-renewal period. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3.'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'spot_strategy' => [ + 'title' => '抢占式实例类型', + 'description' => 'The bidding policy of preemptible instances. Valid values:'."\n" + ."\n" + .'* `NoSpot`: non-preemptible instance.'."\n" + .'* `SpotWithPriceLimit`: specifies the highest bid.'."\n" + .'* `SpotAsPriceGo`: automatically submits bids based on the up-to-date market price.'."\n" + ."\n" + .'For more information, see [Create a preemptible elastic container instance](~~157759~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SpotWithPriceLimit', + ], + 'spot_price_limit' => [ + 'title' => '抢占实例价格上限配置', + 'description' => 'The bid configurations of preemptible instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The bid configurations of preemptible instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'instance_type' => [ + 'title' => '抢占式实例规格', + 'description' => 'The instance type of preemptible instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + 'price_limit' => [ + 'title' => '单台实例上限价格,单位:元/小时。', + 'description' => 'The price cap of a preemptible instance.'."\n" + ."\n" + .'Unit: USD/hour.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.39', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'image_type' => [ + 'title' => '操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:CentOS、AliyunLinux、AliyunLinux Qboot、AliyunLinuxUEFI、AliyunLinux3、Windows、WindowsCore、AliyunLinux3Arm64、ContainerOS。', + 'description' => 'The type of operating system distribution that you want to use. We recommend that you use this parameter to specify the node operating system. Valid values:'."\n" + ."\n" + .'* `AliyunLinux`: Alibaba Cloud Linux 2.'."\n" + .'* `AliyunLinuxSecurity`: Alibaba Cloud Linux 2 (UEFI).'."\n" + .'* `AliyunLinux3`: Alibaba Cloud Linux 3.'."\n" + .'* `AliyunLinux3Arm64`: Alibaba Cloud Linux 3 for ARM.'."\n" + .'* `AliyunLinux3Security`: Alibaba Cloud Linux 3 (UEFI).'."\n" + .'* `CentOS`: CentOS.'."\n" + .'* `Windows`: Windows.'."\n" + .'* `WindowsCore`: Windows Core.'."\n" + .'* `ContainerOS`: ContainerOS.'."\n" + .'* `AliyunLinux3ContainerOptimized`: Alibaba Cloud Linux 3 Container-optimized.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunLinux', + ], + 'image_id' => [ + 'title' => '自定义镜像', + 'description' => 'The custom image ID. You can call the `DescribeKubernetesVersionMetadata` operation to query the images supported by ACK. By default, the latest image is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200904.vhd', + ], + 'system_disk_category' => [ + 'title' => '节点系统盘类型。', + 'description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise ESSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n" + ."\n" + .'Default value: `cloud_efficiency`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_efficiency', + ], + 'system_disk_categories' => [ + 'title' => '系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:cloud:普通云盘。cloud_efficiency:高效云盘。cloud_ssd:SSD云盘。cloud_essd:ESSD云盘。', + 'description' => 'The categories of the system disk. The system attempts to create system disks of a disk category with a lower priority if the disk category with a higher priority is unavailable.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '节点系统盘类型', + 'description' => 'The category of the system disk.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `cloud_efficiency`: ultra disk.'."\n" + .'* `cloud_ssd`: standard SSD.'."\n" + .'* `cloud_essd`: Enterprise ESSD (ESSD).'."\n" + .'* `cloud_auto`: ESSD AutoPL disk.'."\n" + .'* `cloud_essd_entry`: ESSD Entry disk.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + 'enum' => [], + ], + 'required' => false, + 'maxItems' => 10, + ], + 'system_disk_size' => [ + 'title' => '节点系统盘大小。', + 'description' => 'The size of the system disk. Unit: GiB'."\n" + ."\n" + .'Valid values: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be at least 20 and greater than or equal to the size of the image.'."\n" + ."\n" + .'Default value: the greater value between 40 and the image size.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '120', + ], + 'system_disk_performance_level' => [ + 'title' => '节点系统盘磁盘性能,只针对ESSD磁盘生效', + 'description' => 'The performance level (PL) of the system disk. This parameter takes effect only for an ESSD. You can specify a higher PL if you increase the size of the data disk. For more information, see [ESSDs](~~122389~~).'."\n" + ."\n" + .'* PL0: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL1: moderate maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL2: high maximum concurrent I/O performance and low I/O latency.'."\n" + .'* PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'system_disk_encrypted' => [ + 'title' => '是否加密系统盘。取值范围:true:加密。false:不加密。', + 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" + ."\n" + .'* true: encrypts the system disk.'."\n" + .'* false: does not encrypt the system disk.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'system_disk_kms_key_id' => [ + 'title' => '系统盘使用的KMS密钥ID。', + 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the system disk.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'system_disk_encrypt_algorithm' => [ + 'title' => '系统盘采用的加密算法。取值范围:aes-256。', + 'description' => 'The encryption algorithm that is used to encrypt the system disk. Set the value to aes-256.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aes-256', + 'enum' => [], + ], + 'system_disk_provisioned_iops' => [ + 'title' => '节点系统盘预配置的读写IOPS,磁盘类型为cloud_auto时配置。', + 'description' => 'The preset IOPS of the system disk.'."\n" + ."\n" + .'Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + ], + 'system_disk_bursting_enabled' => [ + 'title' => '节点系统盘是否开启Burst(性能突发),磁盘类型为cloud_auto时配置。', + 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" + ."\n" + .'* true: enables the burst feature.'."\n" + .'* false: disables the burst feature.'."\n" + ."\n" + .'This parameter is effective only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'data_disks' => [ + 'title' => '数据盘配置。', + 'description' => 'The configurations of the data disks that are mounted to nodes in the node pool. Valid values: 0 to 10. You can mount at most 10 data disks to the nodes in the node pool.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of node data disks.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/data_disk', + ], + 'required' => false, + ], + 'disk_init' => [ + 'title' => '块设备初始化配置。', + 'type' => 'array', + 'items' => [ + '$ref' => '#/components/schemas/DiskInit', + ], + ], + 'key_pair' => [ + 'title' => '密钥对名称,和login_password二选一。', + 'description' => 'The name of the key pair. You must specify this parameter or `login_password`. You must specify the `key_pair` parameter if the node pool is a managed node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'pro-nodepool', + ], + 'login_password' => [ + 'title' => 'SSH登录密码,和key_pari二选一。', + 'description' => 'The password for SSH logon. You must specify this parameter or `key_pair`. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Hello1234', + ], + 'internet_charge_type' => [ + 'title' => '节点公网IP网络计费类型', + 'description' => 'The metering method of the public IP address. Valid values:'."\n" + ."\n" + .'* `PayByBandwidth`: pay-by-bandwidth.'."\n" + .'* `PayByTraffic`: pay-by-data-transfer.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByBandwidth', + ], + 'internet_max_bandwidth_out' => [ + 'title' => '节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:1~100', + 'description' => 'The maximum outbound bandwidth of the public IP address of the node. Unit: Mbit/s. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + 'tags' => [ + 'title' => 'ECS标签。', + 'description' => 'The tags that you want to add only to ECS instances.'."\n" + ."\n" + .'The tag key must be unique and cannot exceed 128 characters in length. The tag key and value cannot start with aliyun or acs: or contain https:// or http://.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag that you want to add only to ECS instances.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + 'desired_size' => [ + 'title' => '节点池期望节点数', + 'description' => 'The expected number of nodes in the node pool.'."\n" + ."\n" + .'The expected number of nodes in the node pool. We recommend that you configure at least two nodes to ensure that cluster components run as expected. You can modify the Expected Nodes parameter to adjust the number of nodes in the node pool.'."\n" + ."\n" + .'If you do not want to create nodes in the node pool, set this parameter to 0. You can manually modify this parameter to add nodes later.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2', + ], + 'multi_az_policy' => [ + 'title' => '多可用区伸缩组ECS实例扩缩容策略', + 'description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* `PRIORITY`: ECS instances are scaled based on the value of VSwitchIds.N. If an ECS instance cannot be created in the zone where the vSwitch that has the highest priority resides, the system creates the ECS instance in the zone where the vSwitch that has the next highest priority resides.'."\n" + ."\n" + .'* `COST_OPTIMIZED`: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created if preemptible instance types are specified in the scaling configurations. You can set the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** `COST_OPTIMIZED` takes effect only when multiple instance types are specified or at least one preemptible instance type is specified.'."\n" + ."\n" + .'* `BALANCE`: ECS instances are evenly distributed across multiple zones specified by the scaling group. If ECS instances become imbalanced among multiple zones due to insufficient inventory, you can call the `RebalanceInstances` operation of Auto Scaling to balance the instance distribution among zones. For more information, see [RebalanceInstances](~~71516~~).'."\n" + ."\n" + .'Default value: `PRIORITY`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BALANCE', + ], + 'scaling_policy' => [ + 'title' => '扩容策略。', + 'description' => 'The scaling mode of the scaling group. Valid values:'."\n" + ."\n" + .'* `release`: the standard mode. ECS instances are created and released based on resource usage.'."\n" + .'* `recycle`: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached with local disks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'release', + ], + 'on_demand_base_capacity' => [ + 'title' => '伸缩组所需要按量实例个数的最小值,取值范围:0~1000。当按量实例个数少于该值时,将优先创建按量实例。', + 'description' => 'The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, the system preferably creates pay-as-you-go instances.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'on_demand_percentage_above_base_capacity' => [ + 'title' => '伸缩组满足最小按量实例数(OnDemandBaseCapacity)要求后,超出的实例中按量实例应占的比例,取值范围:0~100。', + 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by `on_demand_base_capacity`. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'spot_instance_pools' => [ + 'title' => '指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:1~10。', + 'description' => 'The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + 'spot_instance_remedy' => [ + 'title' => '是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。', + 'description' => 'Specifies whether to enable the supplementation of preemptible instances. If you set this parameter to true, when the scaling group receives a system message indicating that a preemptible instance is to be reclaimed, the scaling group attempts to create a new instance to replace the instance. Valid values:'."\n" + ."\n" + .'* `true`: supplements preemptible instances.'."\n" + .'* `false`: does not supplement preemptible instances.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'compensate_with_on_demand' => [ + 'title' => '当MultiAZPolicy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值范围:true:允许。false:不允许。默认值:true', + 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as the price or insufficient inventory. This parameter takes effect when you set `multi_az_policy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* `true`: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.'."\n" + .'* `false`: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'rds_instances' => [ + 'title' => 'RDS实例列表。', + 'description' => 'The IDs of ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ApsaraDB RDS instance. After you specify the list of ApsaraDB RDS instances, the ECS instances in the cluster are automatically added to the whitelist of the ApsaraDB RDS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rds-xxx', + ], + 'required' => false, + ], + 'private_pool_options' => [ + 'title' => '私有池选项。', + 'description' => 'The configurations of the private node pool.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'description' => 'The private node pool ID. This parameter is available only when `match_criteria` is set to `Target`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'match_criteria' => [ + 'title' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围: Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置PrivatePoolOptions.Id参数。 Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即PrivatePoolOptions.Id参数为必填项。 None:不使用模式。实例启动将不使用私有池容量。', + 'description' => 'The type of private node pool. This parameter specifies the type of private pool that you want to use to create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. The system selects a private pool to start instances. Valid values:'."\n" + ."\n" + .'* `Open`: open private pool. The system selects an open private pool to start instances. If no matching open private pools are available, the resources in the public pool are used.'."\n" + .'* `Target`: uses a specified private pool. The system uses the resources of the specified private pool to start instances. If the specified private pool is unavailable, instances cannot be started.'."\n" + .'* `None`: no private pool is used. The resources of private pools are not used to launch the instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + ], + ], + 'required' => false, + ], + 'platform' => [ + 'title' => '操作系统发行版。', + 'description' => 'This parameter is obsolete. Use the `image_type` parameter instead.'."\n" + ."\n" + .'The OS platform. Valid values:'."\n" + ."\n" + .'* `AliyunLinux`'."\n" + .'* `CentOS`'."\n" + .'* `Windows`'."\n" + .'* `WindowsCore`'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'AliyunLinux', + ], + 'instance_patterns' => [ + 'title' => '实例属性', + 'description' => '.The instance attributes.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '实例属性', + 'description' => 'The instance attribute.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/instance_patterns', + ], + 'required' => false, + ], + 'deploymentset_id' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', + ], + 'security_group_ids' => [ + 'title' => '节点池多安全组配置', + 'type' => 'array', + 'items' => [ + 'title' => '安全组id', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-b1ge****', + ], + 'required' => false, + ], + 'resource_pool_options' => [ + 'title' => '创建实例时使用的资源池及资源池策略。当您设置该参数后,需要注意:'."\n" + .'该参数只在创建按量付费实例时生效。'."\n" + .'该参数不能与private_pool_options.match_criteria、private_pool_options.id同时设置。', + 'type' => 'object', + 'properties' => [ + 'strategy' => [ + 'title' => '创建实例时使用的资源池策略。资源池包括弹性保障服务或容量预定服务生效后生成的私有池以及公共池,供实例启动时选择。取值范围:'."\n" + .'PrivatePoolFirst:私有池优先。选择此种策略时, 当指定了 resouce_pool_options.private_pool_ids,优先使用指定的私有池。如果未指定私有池或指定的私有池容量不足,将自动匹配开放类型的私有池。如果没有符合条件的私有池,则使用公共池创建实例。'."\n" + .'PrivatePoolOnly:仅限私有池。选择此种策略时,必须指定 resouce_pool_options.private_pool_ids。如果指定的私有池容量不足,则实例会启动失败。'."\n" + .'None:不使用资源池策略。'."\n" + .'默认值:None。', + 'type' => 'string', + 'example' => 'PrivatePoolFirst', + 'enum' => [ + 'PrivatePoolFirst', + 'PrivatePoolOnly', + 'None', + ], + ], + 'private_pool_ids' => [ + 'title' => '私有池 ID列表。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。N 的取值范围:1~20。', + 'type' => 'array', + 'items' => [ + 'title' => '私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + ], + 'system_disk_snapshot_policy_id' => [ + 'title' => '系统盘磁盘快照策略', + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'kubernetes_config' => [ + 'title' => '集群配置。', + 'description' => 'The configurations of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'labels' => [ + 'title' => '节点标签。', + 'description' => 'The labels that are added to the nodes in the cluster. You must add the label based on the following rules:'."\n" + ."\n" + .'* A label is a case-sensitive key-value pair. You can add up to 20 labels.'."\n" + .'* The key must be unique and cannot exceed 64 characters in length. The value can be empty and cannot exceed 128 characters in length. Keys and values cannot start with `aliyun`, `acs:`, `https://`, or `http://`. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node label.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + 'taints' => [ + 'title' => '污点配置。', + 'description' => 'The configurations of node taints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The taint.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/taint', + ], + 'required' => false, + ], + 'runtime' => [ + 'title' => '容器运行时。', + 'description' => 'The name of the container runtime. The following types of runtime are supported by ACK:'."\n" + ."\n" + .'* containerd: containerd is the recommended runtime and supports all Kubernetes versions.'."\n" + .'* Sandboxed-Container.runv: The Sandbox-Container runtime provides improved isolation and supports Kubernetes 1.31 and earlier.'."\n" + .'* docker: discontinued. The Docker runtime supports Kubernetes 1.22 and earlier.'."\n" + ."\n" + .'Default value: containerd.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'docker', + ], + 'runtime_version' => [ + 'title' => '容器运行时版本。', + 'description' => 'The version of the container runtime.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '19.03.5', + ], + 'cpu_policy' => [ + 'title' => 'CPU管理策略。', + 'description' => 'The CPU management policy of nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: specifies that the default CPU affinity is used.'."\n" + ."\n" + .'Default value: `none`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + 'unschedulable' => [ + 'description' => 'Specifies whether the nodes are unschedulable after a scale-out activity is performed.'."\n" + ."\n" + .'* true: The nodes are unschedulable after a scale-out activity is performed.'."\n" + .'* false: The nodes are schedulable after a scale-out activity is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'user_data' => [ + 'title' => '实例自定义数据。', + 'description' => 'The user data of the instance. Nodes automatically run user-data scripts after they are added to the cluster. For more information, see [User-Data script](~~49121~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', + ], + 'cms_enabled' => [ + 'title' => '是否开启云监控。', + 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After the CloudMonitor agent is installed on ECS nodes, you can view monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. Valid values:'."\n" + ."\n" + .'* `true`: installs the CloudMonitor agent on ECS nodes.'."\n" + .'* `false`: does not install the CloudMonitor agent on ECS nodes.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'pre_user_data' => [ + 'description' => 'Predefined custom data. Nodes automatically run predefined scripts before they are added to the cluster. For more information, see [User-Data script](~~49121~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', + ], + 'node_name_mode' => [ + 'title' => '自定义节点名称格式。', + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'tee_config' => [ + 'title' => '加密计算配置。', + 'description' => 'The configurations of confidential computing for the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'tee_enable' => [ + 'title' => '是否为加密计算节点池。', + 'description' => 'Specifies whether to enable confidential computing for the cluster. Valid values:'."\n" + ."\n" + .'* `true`: enables confidential computing for the cluster.'."\n" + .'* `false`: disables confidential computing for the cluster.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'update_nodes' => [ + 'title' => '是否同步更新节点标签及污点。', + 'description' => 'Specifies whether to update node information, such as labels and taints.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'concurrency' => [ + 'title' => '是否并发。', + 'description' => 'Specifies whether concurrency is supported.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5fd211e924e1d00787000293', + ], + 'nodepool_id' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np737c3ac1ac684703b9e10673aa2c****', + ], + 'request_id' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"task_id\\": \\"T-5fd211e924e1d00787000293\\",\\n \\"nodepool_id\\": \\"np737c3ac1ac684703b9e10673aa2c****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyClusterNodePoolResponse>\\n <task_id>T-5fd211e924e1d00787000293</task_id>\\n <nodepool_id>np737c3ac1ac684703b9e10673aa2c****</nodepool_id>\\n</ModifyClusterNodePoolResponse>","errorExample":""}]', + 'title' => 'ModifyClusterNodePool', + ], + 'ScaleClusterNodePool' => [ + 'summary' => 'Scales out a node pool.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '扩容配置', + 'description' => 'The request body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'count' => [ + 'title' => '扩容节点数量', + 'description' => 'The number of worker nodes that you want to add. For example, the current node pool contains two nodes. After the two node is scaled out, the node pool contains four nodes. Due to the limit of the node quota, you can add at most 500 nodes in each request.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回结构体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5faa48fb31b6b8078d00****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\"\\n}","errorExample":""},{"type":"xml","example":"<task_id>T-5faa48fb31b6b8078d00****</task_id>","errorExample":""}]', + 'title' => 'ScaleClusterNodePool', + ], + 'AttachInstancesToNodePool' => [ + 'summary' => 'Adds existing nodes to a specific node pool. You can add existing ECS instances to a specific node pool in a Container Service for Kubernetes (ACK) cluster as worker nodes. You can also add removed worker nodes back to the node pool.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/attach', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => 'The IDs of the instances to be added.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the instance to be added.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-2zed0sswuau6o89b****', + ], + 'required' => false, + ], + 'password' => [ + 'description' => 'The SSH password that is used to log on to the instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Hello1234', + ], + 'format_disk' => [ + 'description' => 'Specifies whether to store container data and images on data disks. Valid values:'."\n" + ."\n" + .'* `true`: stores container data and images on data disks.'."\n" + .'* `false`: does not store container data or images on data disks.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'How to mount a data disk:'."\n" + ."\n" + .'* If the ECS instances are already mounted with data disks and the file system of the last data disk is not initialized, the system automatically formats this data disk to ext4 and mounts it to /var/lib/docker and /var/lib/kubelet.'."\n" + .'* If no data disk is attached to the ECS instances, the system does not purchase a new data disk.'."\n" + ."\n" + .'> If you choose to store container data and images on a data disk and the data disk is already mounted to the ECS instance, the existing data on the data disk will be cleared. You can back up the disk to avoid data loss.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'keep_instance_name' => [ + 'description' => 'Specifies whether to retain the instance name. Valid values:'."\n" + ."\n" + .'* `true`: retains the instance name.'."\n" + .'* `false`: does not retain the instance name.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'D7631D83-6E98-1949-B665-766A62xxxxxx', + ], + 'task_id' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea00002f', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"D7631D83-6E98-1949-B665-766A62xxxxxx\\",\\n \\"task_id\\": \\"T-5a54309c80282e39eaxxxxxx\\"\\n}","type":"json"}]', + 'title' => 'AttachInstancesToNodePool', + ], + 'RemoveNodePoolNodes' => [ + 'summary' => 'Removes nodes from a node pool.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/nodes', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np97de2cfb1ba042398dd8f5504c94****', + ], + ], + [ + 'name' => 'release_node', + 'in' => 'query', + 'schema' => [ + 'title' => '是否释放节点。', + 'description' => 'Specifies whether to release the nodes after they are removed. Valid values:'."\n" + ."\n" + .'* true: release the nodes after they are removed.'."\n" + .'* false: do not release the nodes after they are removed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'drain_node', + 'in' => 'query', + 'schema' => [ + 'title' => '是否排水节点。', + 'description' => 'Specifies whether to drain the nodes that you want to remove. Valid values:'."\n" + ."\n" + .'* true: drain the nodes that you want to remove.'."\n" + .'* false: do not drain the nodes that you want to remove.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'nodes', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '【该字段已废弃】请使用instance_ids参数代替'."\n" + .'移除节点列表。', + 'description' => 'This parameter is deprecated.'."\n" + ."\n" + .'A list of nodes that you want to remove.'."\n" + ."\n" + .'> This parameter is deprecated. Use instance_ids instead.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou.172.16.xxx.xxx', + ], + 'deprecated' => true, + 'required' => false, + ], + ], + [ + 'name' => 'instance_ids', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '移除实例列表。', + 'description' => 'A list of instances that you want to remove.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the instance that you want to remove.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1c70fqbv1nlu9xxxxx', + ], + 'required' => false, + ], + ], + [ + 'name' => 'concurrency', + 'in' => 'query', + 'schema' => [ + 'title' => '是否并发移除。', + 'description' => 'Whether to remove concurrently.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '响应体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'A9891419-D125-4D89-AFCA-68846675E2F7', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-62a944794ee141074400****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-68846675****\\",\\n \\"task_id\\": \\"T-62a944794ee141074400****\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveNodePoolNodesResponse>\\n <request_id>A9891419-D125-4D89-AFCA-68846675E2F7</request_id>\\n <task_id>T-62a944794ee141074400****</task_id>\\n</RemoveNodePoolNodesResponse>","errorExample":""}]', + 'title' => 'RemoveNodePoolNodes', + 'description' => '* When you remove a node, the pods on the node are migrated to other nodes. This may cause service interruptions. We recommend that you remove nodes during off-peak hours.'."\n" + .'* The operation may have unexpected risks. Back up the data before you perform this operation.'."\n" + .'* Nodes remain in the Unschedulable state when they are being removed.'."\n" + .'* The system removes only worker nodes. It does not remove master nodes.'."\n" + .'* Even if you set the `release_node` parameter to `true`, subscription nodes are not released. You must release the subscription nodes in the [ECS console](https://ecs.console.aliyun.com/) after you remove the nodes.'."\n", + 'translator' => 'machine', + ], + 'UpgradeClusterNodepool' => [ + 'summary' => 'You can call the UpgradeClusterNodepool operation to update the Kubernetes version, OS version, or container runtime version of the nodes in a node pool.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/upgrade', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'image_id' => [ + 'title' => '节点系统镜像ID。', + 'description' => 'The ID of the OS image used by the nodes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'runtime_version' => [ + 'title' => '节点运行时版本。', + 'description' => 'The version of the container runtime used by the nodes. You can call the [DescribeKubernetesVersionMetadata](~~2667899~~) operation and get the runtime version in the runtime field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.5.10', + ], + 'kubernetes_version' => [ + 'title' => '节点Kubernetes版本。', + 'description' => 'The Kubernetes version used by the nodes. You can call the [DescribeKubernetesVersionMetadata](~~2667899~~) operation and get the Kubernetes version of the current cluster in the current_version field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.22.15-aliyun.1', + ], + 'runtime_type' => [ + 'description' => 'The runtime type. You can call the [DescribeKubernetesVersionMetadata](~~2667899~~) operation and get the runtime information in the runtime field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'containerd', + ], + 'use_replace' => [ + 'description' => 'Specifies whether to perform the update by replacing the system disk. Valid values:'."\n" + ."\n" + .'* true: replaces the system disk.'."\n" + .'* false: does not replace the system disk.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'rolling_policy' => [ + 'title' => '变更策略。', + 'description' => 'The rolling update configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'pause_policy' => [ + 'title' => '暂停策略。可取值:'."\n" + .'- FirstBatch:第一批完成后暂停'."\n" + .'- EveryBatch:每批完成后暂停'."\n" + .'- NotPause: 不暂停', + 'description' => 'The policy used to pause the update. Valid values:'."\n" + ."\n" + .'* FirstBatch: pauses after the first batch is updated.'."\n" + .'* EveryBatch: pauses after each batch is updated.'."\n" + .'* NotPause: does not pause.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NotPause', + 'default' => 'NotPause', + 'enum' => [ + 'FirstBatch', + 'EveryBatch', + 'NotPause', + ], + ], + 'batch_interval' => [ + 'title' => '批次之间的升级间隔时间,仅在暂停策略为NotPause时生效,单位为分钟,取值范围5-120分钟。', + 'description' => 'The update interval between batches takes effect only when the pause policy is set to NotPause. Unit: minutes. Valid values: 5 to 120.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5 minutes'."\n", + 'default' => '0', + ], + 'max_parallelism' => [ + 'title' => '升级时的最大并发节点数。', + 'description' => 'The maximum number of nodes per batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'default' => '10', + ], + ], + 'required' => false, + ], + 'node_names' => [ + 'title' => '指定升级的节点列表。未指定时默认升级节点池内所有节点。', + 'description' => 'The nodes you want to update. If you do not specify this parameter, all nodes in the node pool are updated by default.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '节点名称。', + 'description' => 'The node name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2D69A58F-345C-4FDE-88E4-BF518944****', + ], + 'task_id' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5fd211e924e1d0078700xxxx', + ], + ], + 'description' => '', + ], + ], + '5XX' => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518944****\\",\\n \\"task_id\\": \\"T-5fd211e924e1d0078700****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpgradeClusterNodepoolResponse>\\n <RequestId>2D69A58F-345C-4FDE-88E4-BF518944****</RequestId>\\n <task_id>T-5fd211e924e1d0078700xxxx</task_id>\\n</UpgradeClusterNodepoolResponse>","errorExample":""}]', + 'title' => 'UpgradeClusterNodepool', + 'description' => 'This operation allows you to update the Kubernetes version, OS version, or container runtime version of the nodes in a node pool.'."\n", + ], + 'RepairClusterNodePool' => [ + 'summary' => 'Repairs a node pool.', + 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/repair', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '89346', + 'abilityTreeNodes' => [ + 'FEATUREcskRXV8J4', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c2273b7f4a30d4ef6b43e0926cdd8****', + ], + ], + [ + 'name' => 'nodepool_id', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID', + 'description' => 'The ID of the node pool that you want to manage.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np613940c3593c4bea96faa8600cb9****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodes' => [ + 'title' => '节点列表,如果不指定则表示当前节点池内所有节点', + 'description' => 'The list of nodes. If not specified, all nodes in the node pool are selected.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the node you want to manage.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing.10.0.1.26', + ], + 'required' => false, + ], + 'auto_restart' => [ + 'title' => '是否重启节点。', + 'description' => 'Specifies whether to enable automatic instance restart.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Warning** This parameter is deprecated. Any configured values will be ignored.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + 'operations' => [ + 'title' => '要执行的修复操作,未指定时默认执行全部修复操作,一般场景下无需指定。', + 'description' => 'The list of repair operations to execute. If not specified, all repair operations are executed. Typically, you do not need to specify this parameter.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '修复操作。', + 'description' => 'A repair operation to execute.'."\n", + 'type' => 'object', + 'properties' => [ + 'operation_id' => [ + 'title' => '修复操作ID。', + 'description' => 'The ID of a repair operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'remove.containerdContainer', + ], + 'args' => [ + 'title' => '修复操作参数列表。', + 'description' => 'The parameters of a repair operation.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '修复操作参数。', + 'description' => 'A repair operation parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '“containerid”', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'db82195b-75a8-40e5-9be4-16f1829dc624', + ], + 'task_id' => [ + 'title' => '任务ID', + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => 'T-613b19bbd160ad4928000001', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f182******\\",\\n \\"task_id\\": \\"T-613b19bbd160ad2800******\\"\\n}","errorExample":""},{"type":"xml","example":"<RepairClusterNodePoolResponse>\\n <request_id>db82195b-75a8-40e5-9be4-16f1829dc624</request_id>\\n <task_id>T-613b19bbd160ad4928000001</task_id>\\n</RepairClusterNodePoolResponse>","errorExample":""}]', + 'title' => 'RepairClusterNodePool', + 'translator' => 'machine', + ], + 'FixNodePoolVuls' => [ + 'summary' => 'Patches node vulnerabilities in a node pool to enhance node security. Cloud Security provided by Alibaba Cloud periodically scans Elastic Compute Service (ECS) instances for vulnerabilities and provides suggestions on how to patch the detected vulnerabilities. Vulnerability patching may require node restarts. Make sure that your cluster has sufficient idle nodes for node draining.', + 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/vuls/fix', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'abilityTreeCode' => '119060', + 'abilityTreeNodes' => [ + 'FEATUREcskRXV8J4', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cf62854ac2130470897be7a27ed1f****', + ], + ], + [ + 'name' => 'nodepool_id', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np31da1b38983f4511b490fc62108a****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'vuls' => [ + 'title' => '待修复的漏洞名称列表', + 'description' => 'The list of vulnerabilities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the vulnerability.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'oval:com.redhat.rhsa:def:20170574', + ], + 'required' => false, + ], + 'nodes' => [ + 'title' => '待修复的节点名称列表', + 'description' => 'The names of the nodes to be patched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing.10.0.1.26', + ], + 'required' => false, + ], + 'rollout_policy' => [ + 'title' => '轮转修复策略', + 'description' => 'The batch patching policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'max_parallelism' => [ + 'title' => '轮转修复时的最大并行度', + 'description' => 'The maximum concurrency for batch patching. Minimum value: 1. The maximum value equals the number of nodes in the node pool.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + 'required' => false, + ], + 'auto_restart' => [ + 'title' => '修复完成后是否自动重启节点。', + 'description' => 'Specifies whether to allow the nodes to restart.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'task_id' => [ + 'title' => '修复任务ID', + 'description' => 'The ID of the CVE patching task.'."\n", + 'type' => 'string', + 'example' => 'T-60fea8ad2e277f087900****', + ], + ], + 'description' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"task_id\\": \\"T-60fea8ad2e277f087900****\\"\\n}","type":"json"}]', + 'title' => 'FixNodePoolVuls', + 'description' => '1. The Common Vulnerabilities and Exposures (CVE) patching feature is developed based on Security Center. To use this feature, you must purchase the Security Center Ultimate Edition that supports Container Service for Kubernetes (ACK).'."\n" + .'2. ACK may need to restart nodes to patch certain vulnerabilities. ACK drains a node before the node restarts. Make sure that the ACK cluster has sufficient idle nodes to host the pods evicted from the trained nodes. For example, you can scale out a node pool before you patch vulnerabilities for the nodes in the node pool.'."\n" + .'3. Security Center ensures the compatibility of CVE patches. We recommend that you check the compatibility of a CVE patch with your application before you install the patch. You can pause or cancel a CVE patching task anytime.'."\n" + .'4. CVE patching is a progressive task that consists of multiple batches. After you pause or cancel a CVE patching task, ACK continues to process the dispatched batches. Only the batches that have not been dispatched are paused or canceled.'."\n", + ], + 'ModifyNodePoolNodeConfig' => [ + 'summary' => 'Modifies the configuration of a node pool, such as the kubelet configuration and node rolling update configuration. After you modify the node pool configuration, nodes are batch updated and the kubelet on each node is restarted. This may adversely affect the nodes and workloads. We recommend that you perform this operation during off-peak hours.', + 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/node_config', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '152296', + 'abilityTreeNodes' => [ + 'FEATUREcskRXV8J4', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'NodepoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'np8d8c9c2cd0f64e89884f82a5fbcd****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'kubelet_config' => [ + 'description' => 'The kubelet configurations.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/kubelet_config', + 'title' => '', + ], + 'rolling_policy' => [ + 'title' => '轮转配置。', + 'description' => 'The rolling policy configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'max_parallelism' => [ + 'title' => '最大不可用节点数。', + 'description' => 'The maximum number of unavailable nodes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + 'required' => false, + ], + 'os_config' => [ + 'description' => 'The OS configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'sysctl' => [ + 'description' => 'The sysctl configuration.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'any', + 'description' => 'sysctl参数配置。', + 'example' => 'fs.aio-max-nr', + ], + ], + 'hugepage' => [ + '$ref' => '#/components/schemas/Hugepage', + ], + ], + 'required' => false, + ], + 'containerd_config' => [ + 'description' => 'The containerd runtime configuration.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/containerd_config', + ], + 'node_names' => [ + 'title' => '指定升级的节点列表', + 'type' => 'array', + 'items' => [ + 'title' => '指定升级的节点', + 'type' => 'string', + 'example' => 'cn-hangzhou.xxx', + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '响应体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'D7631D83-6E98-1949-B665-766A62xxxxxx', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5fd211e924e1d00787xxxxxx', + ], + 'nodepool_id' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np737c3ac1ac684703b9e10673aa2c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"D7631D83-6E98-1949-B665-766A62****\\",\\n \\"task_id\\": \\"T-5fd211e924e1d00787****\\",\\n \\"nodepool_id\\": \\"np737c3ac1ac684703b9e10673aa2c****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyNodePoolNodeConfigResponse>\\n <request_id>D7631D83-6E98-1949-B665-766A62****</request_id>\\n <task_id>T-5fd211e924e1d00787****</task_id>\\n <nodepool_id>np737c3ac1ac684703b9e10673aa2c****</nodepool_id>\\n</ModifyNodePoolNodeConfigResponse>","errorExample":""}]', + 'title' => 'ModifyNodePoolNodeConfig', + 'description' => '> Container Service for Kubernetes (ACK) allows you to modify the kubelet configuration of nodes in a node pool. After you modify the kubelet configuration, the new configuration immediately takes effect on existing nodes in the node pool and is automatically applied to newly added nodes.'."\n", + 'translator' => 'machine', + ], + 'SyncClusterNodePool' => [ + 'summary' => 'Synchronizes the information about a node pool, including the metadata and node information of the node pool.', + 'path' => '/clusters/{ClusterId}/sync_nodepools', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c905d1364c2dd4b6284a3f41790c4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2D69A58F-345C-4FDE-88E4-BF51894XXXXX', + ], + ], + ], + ], + '5XX' => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894XXXXX\\"\\n}","type":"json"}]', + 'title' => 'SyncClusterNodePool', + ], + 'DescribeClusterAttachScripts' => [ + 'summary' => 'Queries the scripts used to add existing nodes to a Container Service for Kubernetes (ACK) cluster. ACK allows you to manually add existing Elastic Compute Service (ECS) instances to an ACK cluster as worker nodes or re-add worker nodes that you remove from the cluster to a node pool.', + 'path' => '/clusters/{ClusterId}/attachscript', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '401', + 'abilityTreeNodes' => [ + 'FEATUREcsk4JRUSW', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ca375a93a30474552ad2a0ebe183e****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_id' => [ + 'title' => '节点池ID。将节点加入指定节点池。', + 'description' => 'The ID of the node pool to which you want to add an existing node.'."\n" + ."\n" + .'> If you do not specify a node pool ID, the node is added to the default node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'np1c9229d9be2d432c93f77a88fca0****', + ], + 'format_disk' => [ + 'title' => '数据盘挂载', + 'description' => 'Specifies whether to mount data disks to an existing instance when you manually add this instance to the cluster. You can use data disks to store container data and images. Valid values:'."\n" + ."\n" + .'* `true`: mounts data disks to the instance that you want to add. After a data disk is mounted, the original data on the disk is erased. Back up data before you mount a data disk.'."\n" + .'* `false`: does not mount data disks to the instance.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'How a data disk is mounted:'."\n" + ."\n" + .'* If the Elastic Compute Service (ECS) instances are already mounted with data disks and the file system of the last data disk is uninitialized, the system automatically formats this data disk to ext4 and uses the disk to store the data in the /var/lib/docker and /var/lib/kubelet directories.'."\n" + .'* If no data disk is mounted to the ECS instance, the system does not purchase a new data disk.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'keep_instance_name' => [ + 'title' => '保留实例名称', + 'description' => 'Specifies whether to retain the name of an existing instance when it is added to the cluster. If you do not retain the instance name, the instance is renamed in the `worker-k8s-for-cs-<clusterid>` format. Valid values:'."\n" + ."\n" + .'* `true`: retains the instance name.'."\n" + .'* `false`: does not retain the instance name.'."\n" + ."\n" + .'Default value: `true`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'rds_instances' => [ + 'title' => 'RDS白名单', + 'description' => 'A list of ApsaraDB RDS instances. ECS instances in the cluster are automatically added to the whitelist of the ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the ApsaraDB RDS instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rm-xxx', + ], + 'required' => false, + ], + 'arch' => [ + 'title' => '节点CPU架构,支持amd64、arm、arm64。边缘托管集群专有字段。', + 'description' => 'The CPU architecture of the node. Valid values: `amd64`, `arm`, and `arm64`.'."\n" + ."\n" + .'Default value: `amd64`.'."\n" + ."\n" + .'> This parameter is required if you want to add a node to an ACK Edge cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'amd64', + ], + 'options' => [ + 'title' => '边缘托管版集群节点的接入配置。', + 'description' => 'The node configurations for the node that you want to add.'."\n" + ."\n" + .'> This parameter is required if you want to add a node to an ACK Edge cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{\\"enableIptables\\": true,\\"manageRuntime\\": true,\\"quiet\\": true,\\"allowedClusterAddons\\": [\\"kube-proxy\\",\\"flannel\\",\\"coredns\\"]}', + ], + 'expired' => [ + 'title' => '描述生成的token的过期时间,格式为Unix时间戳,如1739980800表示2025-02-20 00:00:00。', + 'description' => 'The expiration time of the token that is generated. The value is a UNIX timestamp. For example, a value of 1739980800 indicates 00:00:00 (UTC+8) on February 20, 2025.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1740037333', + ], + 'one_time_token' => [ + 'type' => 'boolean', + ], + ], + 'required' => false, + 'example' => 'amd64', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '添加节点脚本。', + 'description' => 'The returned script that is used to add nodes to the cluster.'."\n", + 'type' => 'string', + 'example' => 'wget http://***.oss-cn-hangzhou.aliyuncs.com/***', + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"\\"\\\\\\"wget http://***.oss-cn-hangzhou.aliyuncs.com/***\\\\\\"\\"","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeClusterAttachScripts', + 'translator' => 'machine', + ], + 'CreateAutoscalingConfig' => [ + 'summary' => 'Creates a scaling configuration to allow the system to scale resources based on the given scaling rules. When you create a scaling configuration, you can specify the scaling metrics, thresholds, scaling order, and scaling interval.', + 'path' => '/cluster/{ClusterId}/autoscale/config/', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '37485', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c0XXXXXXX10', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体数据', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cool_down_duration' => [ + 'title' => '静默时间,扩容出的节点,在静默时间过后,方可进入缩容判断', + 'description' => 'The waiting time before the auto scaling feature performs a scale-in activity. It is an interval between the time when the scale-in threshold is reached and the time when the scale-in activity (reducing the number of pods) starts. Unit: minutes. Default value: 10.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10 m', + ], + 'unneeded_duration' => [ + 'title' => '缩容触发时延,节点缩容时需要连续满足触发时延所设定的时间,方可进行缩容', + 'description' => 'The cooldown period. After the autoscaler performs a scale-out activity, the autoscaler waits a cooldown period before it can perform a scale-in activity. Newly added nodes can be removed in scale-in activities only after the cooldown period ends. Unit: minutes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10 m', + ], + 'utilization_threshold' => [ + 'title' => '缩容阈值,节点上 Request 的资源与总资源量的比值', + 'description' => 'The scale-in threshold. This threshold specifies the ratio of the resources that are requested by pods to the total resources on the node.'."\n" + ."\n" + .'A scale-in activity is performed only when the CPU utilization and memory utilization of a node are lower than the scale-in threshold.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.5', + ], + 'gpu_utilization_threshold' => [ + 'title' => 'GPU缩容阈值,节点上 Request 的资源与总资源量的比值', + 'description' => 'The scale-in threshold of GPU utilization. This threshold specifies the ratio of the GPU resources that are requested by pods to the total GPU resources on the node.'."\n" + ."\n" + .'A scale-in activity is performed only when the CPU utilization, memory utilization, and GPU utilization of a GPU-accelerated node are lower than the scale-in threshold of GPU utilization.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.5', + ], + 'scan_interval' => [ + 'title' => '弹性灵敏度,判断伸缩的间隔时间', + 'description' => 'The interval at which the system scans for events that trigger scaling activities. Unit: seconds. Default value: 60.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30s', + ], + 'scale_down_enabled' => [ + 'title' => '是否允许缩容', + 'description' => 'Specifies whether to allow node scale-in activities. Valid values:'."\n" + ."\n" + .'* `true`: allows node scale-in activities.'."\n" + .'* `false`: does not allow node scale-in activities.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + ], + 'expander' => [ + 'title' => '节点池扩容顺序策略', + 'description' => 'The node pool scale-out policy. Valid values:'."\n" + ."\n" + .'* `least-waste`: the default policy. If multiple node pools meet the requirement, this policy selects the node pool that will have the least idle resources after the scale-out activity is completed.'."\n" + .'* `random`: the random policy. If multiple node pools meet the requirement, this policy selects a random node pool for the scale-out activity.'."\n" + .'* `priority`: the priority-based policy If multiple node pools meet the requirement, this policy selects the node pool with the highest priority for the scale-out activity. The priority setting is stored in the ConfigMap named `cluster-autoscaler-priority-expander` in the kube-system namespace. When a scale-out activity is triggered, the policy obtains the node pool priorities from the ConfigMap based on the node pool IDs and then selects the node pool with the highest priority for the scale-out activity.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'random' => 'random', + 'least-waste' => 'least-waste', + 'priority' => 'priority', + ], + 'example' => 'least-waste', + ], + 'skip_nodes_with_system_pods' => [ + 'title' => '为true则cluster autoscaler将不会缩容有kube-system命名空间下pods(除了DaemonSet 或 mirror pods)的节点', + 'description' => 'Specifies whether the cluster autoscaler scales in nodes that host pods in the kube-system namespace. This parameter does not take effect on pods created by DaemonSets and mirror pods. Valid values:'."\n" + ."\n" + .'* `true`: does not allow the cluster autoscaler to scale in these nodes.'."\n" + .'* `false`: allows the cluster autoscaler to scale in these nodes.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + ], + 'skip_nodes_with_local_storage' => [ + 'title' => '为true则cluster autoscaler将不会缩容有local storage(如EmptyDir 或 HostPath)的pods的节点', + 'description' => 'Specifies whether the cluster autoscaler scales in nodes that host pods mounted with local volumes, such as EmptyDir or HostPath volumes. Valid values:'."\n" + ."\n" + .'* `true`: does not allow the cluster autoscaler to scale in these nodes.'."\n" + .'* `false`: allows the cluster autoscaler to scale in these nodes.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'false', + ], + 'daemonset_eviction_for_nodes' => [ + 'title' => '为true则在缩容时驱逐节点上的DaemonSet pods', + 'description' => 'Specifies whether to evict pods created by DaemonSets when the cluster autoscaler performs a scale-in activity. Valid values:'."\n" + ."\n" + .'* `true`: evicts DaemonSet pods.'."\n" + .'* `false`: does not evict DaemonSet pods.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'false', + ], + 'max_graceful_termination_sec' => [ + 'title' => 'CA缩容节点时等待节点上pod终止的最长时间(单位:秒)', + 'description' => 'The maximum amount of time to wait for pods on a node to terminate during a scale-in activity. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '14400s', + ], + 'min_replica_count' => [ + 'title' => '考虑缩容时pod应该有的最小副本数', + 'description' => 'The minimum number of pods allowed in each ReplicaSet before a scale-in activity is performed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + 'recycle_node_deletion_enabled' => [ + 'title' => '极速模式节点缩容成功后是否删除其对应的K8s node对象', + 'description' => 'Specifies whether to delete the corresponding Kubernetes node objects after nodes are removed in swift mode. For more information about the swift mode, see [Scaling mode](~~119099~~). Default value: false Valid values:'."\n" + ."\n" + .'* `true`: deletes the corresponding Kubernetes node objects after nodes are removed in swift mode. We recommend that you do not set the value to true because data inconsistency may occur in Kubernetes objects.'."\n" + .'* `false`: retains the corresponding Kubernetes node objects after nodes are removed in swift mode.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'false', + ], + 'scale_up_from_zero' => [ + 'title' => '集群ready节点数为0时,CA是否扩容', + 'description' => 'Specifies whether the cluster autoscaler performs a scale-out activity when the number of ready nodes in the cluster is 0. Default value: true. Valid values:'."\n" + ."\n" + .'* `true`: performs a scale-out activity.'."\n" + .'* `false`: does not perform a scale-out activity.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + ], + 'scaler_type' => [ + 'title' => '弹性组件类型。', + 'description' => 'Elastic component type, default is goatscaler for cluster version 1.24 and above, and cluster-autoscaler below that. Values:'."\n" + ."\n" + .'- `goatscaler`: Instant elasticity. '."\n" + .'- `cluster-autoscaler`: Auto-scaling.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'goatscaler' => 'goatscaler', + 'cluster-autoscaler' => 'cluster-autoscaler', + ], + 'example' => 'goatscaler', + ], + 'priorities' => [ + 'title' => '自动伸缩节点池优先级配置。', + 'description' => 'Auto-scaling priority configuration. After creating a node pool with elasticity enabled, you can choose whether to configure a priority strategy and priority settings through [Enabling Node Auto-scaling](~~119099~~). This allows you to set priorities for the specified auto-scaling node pool scaling group. The priority value range is [1, 100] and must be a positive integer.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'title' => '同一优先级的自动伸缩节点池伸缩组id。', + 'description' => 'The ID of the auto-scaling group for the node pool with the same priority.', + 'type' => 'array', + 'items' => [ + 'title' => '自动伸缩节点池伸缩组id。', + 'type' => 'string', + 'example' => 'asg-bp1fe63lqza6n***', + 'description' => 'The ID of the auto-scaling group for the node pool.', + ], + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cc212d04dfe184547bffaa596********', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5fd211e924e1d007********', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'AF8BE105-C32B-1269-9774-5510********', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"cc212d04dfe184547bffaa596********\\",\\n \\"task_id\\": \\"T-5fd211e924e1d007********\\",\\n \\"request_id\\": \\"AF8BE105-C32B-1269-9774-5510********\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'CreateAutoscalingConfig', + 'translator' => 'machine', + ], + 'DescribeClusterNodes' => [ + 'summary' => 'null', + 'path' => '/clusters/{ClusterId}/nodes', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk4JRUSW', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'instanceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '节点实例ID,按照实例ID进行过滤。 节点池ID不为空时会忽略此字段。多节点用逗号分割', + 'description' => 'The IDs of the nodes that you want to query. Separate multiple node IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '"i-bp11xjhwkj8k966u****,i-bp1dmhc2bu5igkyq****"', + ], + ], + [ + 'name' => 'nodepool_id', + 'in' => 'query', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'np****', + ], + ], + [ + 'name' => 'state', + 'in' => 'query', + 'schema' => [ + 'title' => '节点状态。默认值:all。', + 'description' => 'The node state that you want to use to filter nodes. Valid values:'."\n" + ."\n" + .'* `all`: query nodes in the following four states.'."\n" + .'* `running`: query nodes in the running state.'."\n" + .'* `removing`: query nodes that are being removed.'."\n" + .'* `initial`: query nodes that are being initialized.'."\n" + .'* `failed`: query nodes that fail to be created.'."\n" + ."\n" + .'Default value: `all`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'running', + ], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页大小。', + 'description' => 'The number of entries per page. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '分页数量', + 'description' => 'The page number.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodes' => [ + 'title' => '节点信息列表。', + 'description' => 'The details of the nodes in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'creation_time' => [ + 'title' => '节点创建时间。', + 'description' => 'The time when the node was created.'."\n", + 'type' => 'string', + 'example' => '2020-08-25T11:25:35+08:00', + ], + 'error_message' => [ + 'title' => '错误信息说明。', + 'description' => 'The error message generated when the node was created.'."\n", + 'type' => 'string', + 'example' => 'error***', + ], + 'expired_time' => [ + 'title' => '节点过期时间。', + 'description' => 'The expiration date of the node.'."\n", + 'type' => 'string', + 'example' => '2099-12-31T23:59:00+08:00', + ], + 'host_name' => [ + 'title' => '节点主机名。', + 'description' => 'The name of the host.'."\n", + 'type' => 'string', + 'example' => 'iZ2vcckdmxp7u0urj2k****', + ], + 'image_id' => [ + 'title' => '节点使用的镜像ID。', + 'description' => 'The ID of the system image that is used by the node.'."\n", + 'type' => 'string', + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'instance_charge_type' => [ + 'title' => '节点付费类型。', + 'description' => 'The billing method of the node. Valid values:'."\n" + ."\n" + .'* `PrePaid`: the subscription billing method. If the value is PrePaid, make sure that you have a sufficient balance or credit in your account. Otherwise, an `InvalidPayMethod` error is returned.'."\n" + .'* `PostPaid`: the pay-as-you-go billing method.'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'instance_id' => [ + 'title' => '节点实例ID。', + 'description' => 'The ID of the instance.'."\n", + 'type' => 'string', + 'example' => 'i-2vcckdmxp7u0urj2****', + ], + 'instance_name' => [ + 'title' => '节点名称。', + 'description' => 'The name of the instance on which the node is deployed.'."\n", + 'type' => 'string', + 'example' => 'worker-k8s-for-cs-c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + 'instance_role' => [ + 'title' => '节点实例角色类型,Master或Worker。', + 'description' => 'The role of the node. Valid values:'."\n" + ."\n" + .'* Master: master node'."\n" + .'* Worker: worker node'."\n", + 'type' => 'string', + 'example' => 'Worker', + ], + 'instance_status' => [ + 'title' => '节点实例状态,', + 'description' => 'The status of the node.'."\n", + 'type' => 'string', + 'example' => 'Running', + ], + 'instance_type' => [ + 'title' => '节点实例类型。', + 'description' => 'The type of the node.'."\n", + 'type' => 'string', + 'example' => 'ecs.c5.xlarge', + ], + 'instance_type_family' => [ + 'title' => '节点实例所属ECS实例簇名称。', + 'description' => 'The ECS instance family of the node.'."\n", + 'type' => 'string', + 'example' => 'ecs.c5', + ], + 'ip_address' => [ + 'title' => '节点IP地址。', + 'description' => 'The IP address of the node.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IP address.'."\n", + 'type' => 'string', + 'example' => '192.168.0.36', + ], + ], + 'is_aliyun_node' => [ + 'title' => '节点是否为aliyun实例。', + 'description' => 'Indicates whether the instance on which the node is deployed is provided by Alibaba Cloud. Valid values:'."\n" + ."\n" + .'* `true`: The instance is provided by Alibaba Cloud.'."\n" + .'* `false`: The instance is not provided by Alibaba Cloud.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'node_name' => [ + 'title' => '节点名称,该名称是k8s专用名称。', + 'description' => 'The name of the node. This name is the identifier of the node in the cluster.'."\n", + 'type' => 'string', + 'example' => 'cn-chengdu.192.168.0.36', + ], + 'node_status' => [ + 'title' => '节点状态,是否Ready。', + 'description' => 'Indicates whether the node is ready. Valid values:'."\n" + ."\n" + .'* `Ready`: The node is ready.'."\n" + .'* `NotReady`: The node is not ready.'."\n" + .'* `Unknown`: The status of the node is unknown.'."\n" + .'* `Offline`: The node is offline.'."\n", + 'type' => 'string', + 'example' => 'Ready', + ], + 'nodepool_id' => [ + 'title' => '节点池ID。', + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np0794239424a84eb7a95327369d56****', + ], + 'source' => [ + 'title' => '节点通过什么方式创建出来的,例如:ROS。', + 'description' => 'Indicates how the node is initialized. A node can be manually created or created by using Resource Orchestration Service (ROS).'."\n", + 'type' => 'string', + 'example' => 'ess_attach', + ], + 'state' => [ + 'title' => 'ECS运行状态,例如:Running。', + 'description' => 'The status of the node. Valid values:'."\n" + ."\n" + .'* `pending`: The node is being created.'."\n" + .'* `running`: The node is running.'."\n" + .'* `starting`: The node is being started.'."\n" + .'* `stopping`: The node is being stopped.'."\n" + .'* `stopped`: The node is stopped.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'spot_strategy' => [ + 'title' => '抢占时实例类型', + 'description' => 'The type of preemptible instance. Valid values:'."\n" + ."\n" + .'* NoSpot: a non-preemptible instance.'."\n" + .'* SpotWithPriceLimit: a preemptible instance that is configured with the highest bid price.'."\n" + .'* SpotAsPriceGo: a preemptible instance for which the system automatically bids based on the current market price.'."\n", + 'type' => 'string', + 'example' => 'NoSpot', + ], + ], + ], + ], + 'page' => [ + 'title' => '分页信息。', + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'title' => '总页数。', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'page_size' => [ + 'title' => '单页展示结果数量。', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'total_count' => [ + 'title' => '结果总条数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"nodes\\": [\\n {\\n \\"creation_time\\": \\"2025-04-16T07:28:00Z\\",\\n \\"error_message\\": \\"error***\\",\\n \\"expired_time\\": \\"2099-12-31T15:59:00Z\\",\\n \\"host_name\\": \\"iZ2vcckdmxp7u0urj2k****\\",\\n \\"image_id\\": \\"aliyun_3_x64_20G_alibase_20241218.vhd\\",\\n \\"instance_charge_type\\": \\"PostPaid\\",\\n \\"instance_id\\": \\"i-2vcckdmxp7u0urj2****\\",\\n \\"instance_name\\": \\"worker-k8s-for-cs-c5cdf7e3938bc4f8eb0e44b21a80f****\\",\\n \\"instance_role\\": \\"Worker\\",\\n \\"instance_status\\": \\"Running\\",\\n \\"instance_type\\": \\"ecs.c5.xlarge\\",\\n \\"instance_type_family\\": \\"ecs.c5\\",\\n \\"ip_address\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"is_aliyun_node\\": true,\\n \\"node_name\\": \\"cn-chengdu.192.168xx.xx\\",\\n \\"node_status\\": \\"Ready\\",\\n \\"nodepool_id\\": \\"np0794239424a84eb7a95327369d56****\\",\\n \\"source\\": \\"ess\\",\\n \\"state\\": \\"running\\",\\n \\"spot_strategy\\": \\"NoSpot\\"\\n }\\n ],\\n \\"page\\": {\\n \\"page_number\\": 1,\\n \\"page_size\\": 10,\\n \\"total_count\\": 5\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterNodesResponse>\\n <nodes>\\n <creation_time>2020-08-25T11:25:35+08:00</creation_time>\\n <error_message>error***</error_message>\\n <expired_time>2099-12-31T23:59:00+08:00</expired_time>\\n <host_name>iZ2vcckdmxp7u0urj2k****</host_name>\\n <image_id>aliyun_2_1903_x64_20G_alibase_20200529.vhd</image_id>\\n <instance_charge_type>PostPaid</instance_charge_type>\\n <instance_id>i-2vcckdmxp7u0urj2****</instance_id>\\n <instance_name>worker-k8s-for-cs-c5cdf7e3938bc4f8eb0e44b21a80f****</instance_name>\\n <instance_role>Worker</instance_role>\\n <instance_status>Running</instance_status>\\n <instance_type>ecs.c5.xlarge</instance_type>\\n <instance_type_family>ecs.c5</instance_type_family>\\n <ip_address>192.168.0.36</ip_address>\\n <is_aliyun_node>true</is_aliyun_node>\\n <node_name>cn-chengdu.192.168.0.36</node_name>\\n <node_status>Ready</node_status>\\n <nodepool_id>np0794239424a84eb7a95327369d56****</nodepool_id>\\n <source>ess_attach</source>\\n <state>running</state>\\n <spot_strategy>NoSpot</spot_strategy>\\n </nodes>\\n <page>\\n <page_number>1</page_number>\\n <page_size>10</page_size>\\n <total_count>5</total_count>\\n </page>\\n</DescribeClusterNodesResponse>","errorExample":""}]', + 'title' => 'DescribeClusterNodes', + ], + 'DeleteClusterNodes' => [ + 'summary' => 'Removes nodes from a Container Service for Kubernetes (ACK) cluster when they are no longer required through the DeleteClusterNodes interface. When removing nodes, you can specify whether to release the Elastic Compute Service (ECS) instances and drain the nodes.', + 'path' => '/clusters/{ClusterId}/nodes', + 'methods' => [ + 'post', + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c850429a2287b4d968e27e87a4921****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '请求体。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'drain_node' => [ + 'title' => '是否自动排空节点上的Pod。', + 'description' => 'Specifies whether to remove all pods from the nodes you want to remove. Valid values:'."\n" + ."\n" + .'* `true`: removes all pods automatically.'."\n" + .'* `false`: skips removing pods.'."\n" + ."\n" + .'Default value: `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'release_node' => [ + 'title' => '是否同时释放 ECS', + 'description' => 'Specifies whether to release the ECS instances. Valid values:'."\n" + ."\n" + .'* `true`: releases the ECS instances.'."\n" + .'* `false`: retains the ECS instances.'."\n" + ."\n" + .'Default value: `false`'."\n" + ."\n" + .'**'."\n" + ."\n" + .'**Notes** Unsupported for subscription ECS instances.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'nodes' => [ + 'title' => '移除节点列表。', + 'description' => 'The list of nodes to remove. You must specify the node names used in the cluster, for example, `cn-hangzhou.192.168.xx.xx`.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The node name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-chengdu.192.168.0.70', + ], + 'required' => true, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => '返回数据体', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c104d5d5f301c4e2a8ee578c37bc****', + ], + 'request_id' => [ + 'title' => '请求ID', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'A9891419-D125-4D89-AFCA-68846675E2F7', + ], + 'task_id' => [ + 'title' => '任务ID', + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => 'T-60fea8ad2e277f0879000ae9', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"c104d5d5f301c4e2a8ee578c37******\\",\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-688466******\\",\\n \\"task_id\\": \\"T-60fea8ad2e27000ae9******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteClusterNodesResponse>\\n <cluster_id>c104d5d5f301c4e2a8ee578c37bc****</cluster_id>\\n <request_id>A9891419-D125-4D89-AFCA-68846675E2F7</request_id>\\n <task_id>T-60fea8ad2e277f0879000ae9</task_id>\\n</DeleteClusterNodesResponse>","errorExample":""}]', + 'title' => 'DeleteClusterNodes', + 'description' => '* Use this API or the [ACK console](https://cs.console.aliyun.com) for node removal. Do not remove a node by running the `kubectl delete node` command.'."\n" + .'* Never directly release or remove ECS instances through the ECS or Auto Scaling console/APIs. Renew subscription ECS instances before they expire. Violations may cause node termination and removal from the ACK console.'."\n" + .'* If a node pool has the Expected Nodes parameter configured, the node pool automatically scales other ECS instances to maintain the expected number of nodes.'."\n" + .'* When you remove a node, the pods on the node are migrated to other nodes. To prevent service interruptions, remove nodes during off-peak hours. Unexpected risks may arise during node removal. Back up the data in advance.'."\n" + .'* ACK drains the node during node removal. Make sure that other nodes in the cluster have sufficient resources to host the evicted pods.'."\n" + .'* To ensure the pods on the node you want to remove can be successfully scheduled to other nodes, check whether the node affinity rules and scheduling policies of the pods meet the requirements.'."\n", + ], + 'AttachInstances' => [ + 'summary' => 'Adds existing Elastic Compute Service (ECS) instances to a Container Service for Kubernetes (ACK) cluster. When you need to add an ECS instance as a worker node to an ACK cluster or re-add a worker node to the cluster, you can call this operation.', + 'path' => '/clusters/{ClusterId}/attach', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeNodes' => [ + 'FEATUREcsk4JRUSW', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '请求体', + 'description' => 'The request body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'title' => '实例列表。', + 'description' => 'The ECS instances that you want to add.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECS instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-2zed0sswuau6o89b****', + ], + 'required' => true, + ], + 'key_pair' => [ + 'title' => 'key_pair名称,与login_password二选一', + 'description' => 'The name of the key pair used to log on to the ECS instances. You must specify this parameter or `login_password`.'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'secrity-key', + ], + 'password' => [ + 'title' => 'password,与key_pair二选一。', + 'description' => 'The SSH logon password used to log on to the ECS instances. You must specify this parameter or `key_pair`. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The password cannot contain backslashes (\\\\) or double quotation marks (").'."\n" + ."\n" + .'The password is encrypted during data transfer to ensure security.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Hello1234', + ], + 'format_disk' => [ + 'title' => '是否格式化数据盘。', + 'description' => 'Specifies whether to store container data and images on data disks. Valid value:'."\n" + ."\n" + .'* `true`: stores container data and images on data disks.'."\n" + .'* `false`: does not store container data or images on data disks.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'How data disks are attached:'."\n" + ."\n" + .'* If the ECS instance is already attached with data disks and the file system of the last data disk is not initialized, the system automatically formats this data disk to ext4. Then, the system uses the disk to store the data in the /var/lib/docker and /var/lib/kubelet directories.'."\n" + .'* If no data disk is attached to the ECS instance, the system does not purchase a new data disk.'."\n" + ."\n" + .'> If you choose to store container data and images on data disks and a data disk is already attached to the ECS instance, the original data on this data disk is cleared. You can back up the disk to prevent data loss.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'keep_instance_name' => [ + 'title' => '是否保留实例名称。', + 'description' => 'Specifies whether to retain the instance name. Valid value:'."\n" + ."\n" + .'* `true`: retains the instance name.'."\n" + .'* `false`: does not retain the instance name.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'is_edge_worker' => [ + 'title' => '是否为边缘节点。', + 'description' => 'Specifies whether the node that you want to add is an Edge Node Service (ENS) node. Valid value:'."\n" + ."\n" + .'* `true`: the node that you want to add is an ENS node.'."\n" + .'* `false`: the node that you want to add is not an ENS node.'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'> If the node that you want to add is an ENS node, you must set the value to `true`. This allows you to identify the node.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'nodepool_id' => [ + 'title' => '节点池ID,欲将节点添加到哪个节点池中。。', + 'description' => 'The ID of the node pool to which the node is added. If you do not specify this parameter, the node is added to the default node pool.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'np615c0e0966124216a0412e10afe0****', + ], + 'image_id' => [ + 'title' => '自定义镜像ID。', + 'description' => 'The custom image ID. If you do not specify this parameter, the default system image is used.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If you specify a custom image, the custom image is used to deploy the operating system on the system disk of the node.'."\n" + ."\n" + .'* This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', + ], + 'cpu_policy' => [ + 'title' => 'CPU亲和策略。', + 'description' => 'The CPU management policy of the node. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:'."\n" + ."\n" + .'* `static`: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n" + .'* `none`: uses default CPU affinity.'."\n" + ."\n" + .'Default value: `none`'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + 'user_data' => [ + 'title' => '节点自定义数据。', + 'description' => 'The user-defined data on the node. For more information, see [Use instance user data to automatically run commands or scripts on instance startup](~~49121~~).'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', + ], + 'rds_instances' => [ + 'title' => 'RDS实例列表。', + 'description' => 'A list of ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ApsaraDB RDS instance ID.'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rm-67yawhau****', + ], + 'required' => false, + ], + 'runtime' => [ + 'description' => 'The container runtime.'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/runtime', + ], + 'tags' => [ + 'title' => '节点标签。', + 'description' => 'The labels that you want to add to the node. When you add labels to a node, the following rules apply:'."\n" + ."\n" + .'* A label is a case-sensitive key-value pair. You can add up to 20 labels.'."\n" + .'* The key must be unique and cannot exceed 64 characters in length. The value can be empty and cannot exceed 128 characters in length. Keys and values cannot start with `aliyun`, `acs:`, `https://`, or `http://`. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n" + ."\n" + .'> This parameter is not supported if you specify `nodepool_id`.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The labels that you want to add to the node.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'list' => [ + 'title' => '节点信息列表。', + 'description' => 'The details of the added nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'title' => '状态码。', + 'description' => 'The code that indicates the task result.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'instanceId' => [ + 'title' => '实例ID。', + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'example' => 'i-2ze0lgm3y6iylcbt****', + ], + 'message' => [ + 'title' => '添加结果描述。', + 'description' => 'Indicates whether the ECS instance is successfully added to the ACK cluster.'."\n", + 'type' => 'string', + 'example' => 'successful', + ], + ], + ], + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5a544aff80282e39ea000039', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"list\\": [\\n {\\n \\"code\\": \\"200\\",\\n \\"instanceId\\": \\"i-2ze0lgm3y6iylcbt****\\",\\n \\"message\\": \\"successful\\"\\n }\\n ],\\n \\"task_id\\": \\"T-5a544aff80282e39ea00****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachInstancesResponse>\\n <list>\\n <code>200</code>\\n <instanceId>i-2ze0lgm3y6iylcbt****</instanceId>\\n <message>successful</message>\\n </list>\\n <task_id>T-5a544aff80282e39ea000039</task_id>\\n</AttachInstancesResponse>","errorExample":""}]', + 'title' => 'AttachInstances', + ], + 'InstallClusterAddons' => [ + 'summary' => 'Installs a component by specifying the name and version of the component. To enhance Kubernetes capabilities, you can install a variety of components in Container Service for Kubernetes (ACK) clusters, such as fully-managed core components and application, logging and monitoring, network, storage, and security group components.', + 'path' => '/clusters/{ClusterId}/components/install', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'abilityTreeCode' => '486', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => '集群ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => 'Addon列表。', + 'description' => '请求体参数。', + 'type' => 'array', + 'items' => [ + 'description' => '组件详情。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => '组件名称。您可以通过[ListAddons](~~2667939~~)接口查询可用组件的信息,包括组件名称及版本等。', + 'type' => 'string', + 'required' => true, + 'example' => 'logtail-ds', + ], + 'version' => [ + 'title' => '组件版本号。', + 'description' => '组件版本。您可以通过[ListAddons](~~2667939~~)接口查询可用组件的信息,包括组件名称及版本等。', + 'type' => 'string', + 'required' => true, + 'example' => 'v1.7.3.0-aliyun', + ], + 'config' => [ + 'title' => '组件配置信息。', + 'description' => '组件自定义参数,使用JSON字符串编码。', + 'type' => 'string', + 'required' => false, + 'example' => '{\\"IngressDashboardEnabled\\":\\"true\\",\\"sls_project_name\\":\\"your_sls_project_name\\"}', + ], + ], + 'required' => false, + ], + 'required' => false, + 'example' => 'ags-metrics-collector', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => '集群ID。', + 'type' => 'string', + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => '任务ID。', + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea0****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea0****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\"\\n}","type":"json"}]', + 'title' => 'InstallClusterAddons', + ], + 'UnInstallClusterAddons' => [ + 'summary' => 'Uninstalls components that you no longer need from a cluster. You must specify the name of the components and specify whether to release associated Alibaba Cloud resources from the cluster.', + 'path' => '/clusters/{ClusterId}/components/uninstall', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '373', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + [ + 'name' => 'addons', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '卸载组件列表。', + 'description' => 'The list of add-ons to uninstall.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Add-on details.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The name of the add-on to uninstall. You can call the [ListClusterAddonInstances](~~2667940~~) operation to query the installed add-ons.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack-node-problem-detector', + ], + 'cleanup_cloud_resources' => [ + 'title' => '是否清理组件创建的云资源实例。', + 'description' => 'Specifies whether to clean up related cloud resources during uninstallation.'."\n" + ."\n" + .'* true: clean up'."\n" + .'* false: retain'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-66e39b39c0fdd001320005c0', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '74D1512F-67DA-54E8-99EA-4D50EB4898F4', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c5b5e80b0b64a4bf6939d2d8fbb******\\",\\n \\"task_id\\": \\"T-66e39b39c0fdd00132******\\",\\n \\"request_id\\": \\"74D1512F-67DA-54E8-99EA-4D50EB******\\"\\n}","type":"json"}]', + 'title' => 'UnInstallClusterAddons', + ], + 'ListAddons' => [ + 'summary' => 'Queries the available components based on specific conditions such as the region, cluster type, cluster subtype defined by cluster profile, and cluster version and queries the detailed information about a component. The information includes whether the component is managed, the supported custom parameter schema, and compatible operating system architecture.', + 'path' => '/addons', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '190344', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'region_id', + 'in' => 'query', + 'schema' => [ + 'title' => '地域。', + 'description' => 'The region of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'cluster_type', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => 'The type of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ManagedKubernetes', + ], + ], + [ + 'name' => 'profile', + 'in' => 'query', + 'schema' => [ + 'title' => '集群子类型。', + 'description' => 'The subtype of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'cluster_spec', + 'in' => 'query', + 'schema' => [ + 'title' => '集群规格。', + 'description' => 'The specifications of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack.pro.small', + ], + ], + [ + 'name' => 'cluster_version', + 'in' => 'query', + 'schema' => [ + 'title' => '集群版本。', + 'description' => 'The version of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.26.3-aliyun.1', + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID. If you specify a cluster ID, only components used in the specified cluster are queried. Other parameters are ignored.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c02b3e03be10643e8a644a843ffcb****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'addons' => [ + 'title' => '可用组件列表。', + 'description' => 'The list of available components.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'example' => 'arms-prometheus', + ], + 'version' => [ + 'title' => '版本。', + 'description' => 'The version number.'."\n", + 'type' => 'string', + 'example' => '1.1.9', + ], + 'managed' => [ + 'title' => '是否为托管组件。', + 'description' => 'Indicates whether the component is fully managed.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'install_by_default' => [ + 'title' => '是否默认安装。', + 'description' => 'Indicates whether the component is automatically installed by default.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'category' => [ + 'title' => '组件分类。', + 'description' => 'The category of the component.'."\n", + 'type' => 'string', + 'example' => 'monitor', + ], + 'config_schema' => [ + 'title' => '组件自定义参数的schema。', + 'description' => 'The schema of the custom parameters of the component.'."\n", + 'type' => 'string', + 'example' => '{}', + ], + 'supported_actions' => [ + 'title' => '组件支持的操作,可能的值:'."\n" + .'- Install'."\n" + .'- Upgrade'."\n" + .'- Modify'."\n" + .'- Uninstall', + 'description' => 'Operations supported by the component. Valid values:'."\n" + ."\n" + .'* Install'."\n" + .'* Upgrade'."\n" + .'* Modify'."\n" + .'* Uninstall'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Operations supported by the component. Valid values:'."\n" + ."\n" + .'* Install'."\n" + .'* Upgrade'."\n" + .'* Modify'."\n" + .'* Uninstall'."\n", + 'type' => 'string', + 'example' => 'Install', + ], + ], + 'architecture' => [ + 'title' => '组件支持的体系结构,可能的值:'."\n" + .'- amd64'."\n" + .'- arm64', + 'description' => 'Architectures supported by the component. Valid values:'."\n" + ."\n" + .'* amd64'."\n" + .'* arm64'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Operations supported by the component. Valid values:'."\n" + ."\n" + .'* Install'."\n" + .'* Upgrade'."\n" + .'* Modify'."\n" + .'* Uninstall'."\n", + 'type' => 'string', + 'example' => 'amd64', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"addons\\": [\\n {\\n \\"name\\": \\"arms-prometheus\\",\\n \\"version\\": \\"1.1.9\\",\\n \\"managed\\": false,\\n \\"install_by_default\\": false,\\n \\"category\\": \\"monitor\\",\\n \\"config_schema\\": \\"{}\\",\\n \\"supported_actions\\": [\\n \\"Install\\"\\n ],\\n \\"architecture\\": [\\n \\"amd64\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAddonsResponse>\\n <addons>\\n <name>aliyun-acr-credential-helper</name>\\n <category>security</category>\\n <install_by_default>false</install_by_default>\\n <managed>false</managed>\\n <version>v21.12.20.0-a6d9879-aliyun</version>\\n <supported_actions>Install</supported_actions>\\n <supported_actions>Upgrade</supported_actions>\\n <supported_actions>Uninstall</supported_actions>\\n <architecture>amd64</architecture>\\n <config_schema/>\\n </addons>\\n <addons>\\n <name>ack-scheduler</name>\\n <category>core</category>\\n <install_by_default>true</install_by_default>\\n <managed>true</managed>\\n <version>v1.26.3-aliyun-5.10-ca3c5b7a</version>\\n <supported_actions>Modify</supported_actions>\\n <supported_actions>Upgrade</supported_actions>\\n <architecture>amd64</architecture>\\n <config_schema>{\\n \\"$schema\\": \\"http://json-schema.org/draft-07/schema#\\",\\n \\"properties\\": {\\n \\"podMaxBackoffSeconds\\": {\\n \\"type\\": \\"integer\\",\\n \\"default\\": 10,\\n \\"minimum\\": 1,\\n \\"maximum\\": 100000,\\n \\"describe\\": \\"PodMaxBackoffSeconds is the max backoff for unschedulable pods.\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.pMBS\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.pMBS\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.pMBS\\"\\n },\\n \\"binpackEnable\\": {\\n \\"type\\": \\"boolean\\",\\n \\"default\\": false,\\n \\"describe\\": \\"enable the bin packing of resources or not\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.binpackEnable\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.binpackEnable\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.binpackEnable\\"\\n },\\n \\"binpackPluginWeight\\": {\\n \\"type\\": \\"integer\\",\\n \\"default\\": 100,\\n \\"minimum\\": 1,\\n \\"maximum\\": 100000,\\n \\"describe\\": \\"weight of binpack plugin when scoring\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.binpackPluginWeight\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.binpackPluginWeight\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.binpackPluginWeight\\"\\n },\\n \\"binpackResourceWeight\\": {\\n \\"type\\": \\"array\\",\\n \\"items\\": {\\n \\"type\\": \\"object\\",\\n \\"properties\\": {\\n \\"resourceName\\": {\\n \\"type\\": \\"string\\",\\n \\"description\\": \\"resource name\\",\\n \\"default\\": \\"\\",\\n \\"pattern\\": \\"^([a-zA-z][a-zA-z0-9\\\\\\\\.\\\\\\\\-\\\\\\\\/]*[a-zA-z0-9])|[a-zA-z]$\\",\\n \\"maxLength\\": 254,\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.binpackResourceWeight.key\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.binpackResourceWeight.key\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.binpackResourceWeight.key\\"\\n },\\n \\"resourceWeight\\": {\\n \\"type\\": \\"integer\\",\\n \\"description\\": \\"resource weight\\",\\n \\"default\\": 1,\\n \\"minimum\\": 1,\\n \\"maximum\\": 10000,\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.binpackResourceWeight.value\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.binpackResourceWeight.value\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.binpackResourceWeight.value\\"\\n }\\n }\\n }\\n },\\n \\"connectionQPS\\": {\\n \\"type\\": \\"integer\\",\\n \\"default\\": 50,\\n \\"minimum\\": 1,\\n \\"maximum\\": 10000,\\n \\"describe\\": \\"qps controls the number of queries per second allowed for this connection\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.connectionQPS\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.connectionQPS\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.connectionQPS\\"\\n },\\n \\"connectionBurst\\": {\\n \\"type\\": \\"integer\\",\\n \\"default\\": 100,\\n \\"minimum\\": 1,\\n \\"maximum\\": 10000,\\n \\"describe\\": \\"burst allows extra queries to accumulate when a client is exceeding its rate\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.connectionBurst\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.connectionBurst\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.connectionBurst\\"\\n },\\n \\"percentageOfNodesToScore\\": {\\n \\"type\\": \\"integer\\",\\n \\"default\\": 0,\\n \\"minimum\\": 0,\\n \\"maximum\\": 100,\\n \\"describe\\": \\"percentage of nodes to score when schedule\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.percentageOfNodesToScore\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.percentageOfNodesToScore\\", \\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.percentageOfNodesToScore\\"\\n },\\n \\"enableGPUShareScore\\": {\\n \\"type\\": \\"boolean\\",\\n \\"default\\": true,\\n \\"describe\\": \\"enable the score point of gpushare plugin or not\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.enableGPUShareScore\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.description.enableGPUShareScore\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.enableGPUShareScore\\"\\n },\\n \\"loadAwareEnable\\": {\\n \\"type\\": \\"boolean\\",\\n \\"default\\": false,\\n \\"describe\\": \\"enable the loadaware scheduling feature\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.laEnable\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.laEnable\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.laEnable\\"\\n },\\n \\"loadAwareResourceWeight\\": {\\n \\"type\\": \\"array\\",\\n \\"items\\": {\\n \\"type\\": \\"object\\",\\n \\"properties\\": {\\n \\"resourceName\\": {\\n \\"type\\": \\"string\\",\\n \\"description\\": \\"resource name\\",\\n \\"default\\": \\"cpu\\",\\n \\"enum\\": [\\"cpu\\",\\"memory\\"],\\n \\"maxLength\\": 254,\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.laResourceWeight.key\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.laResourceWeight.key\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.laResourceWeight.key\\"\\n },\\n \\"resourceWeight\\": {\\n \\"type\\": \\"integer\\",\\n \\"description\\": \\"resource weight\\",\\n \\"default\\": 1,\\n \\"minimum\\": 1,\\n \\"maximum\\": 10000,\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.laResourceWeight.value\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.laResourceWeight.value\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.laResourceWeight.value\\"\\n }\\n }\\n }\\n },\\n \\"loadAwareAggregatedUsageAggregationType\\": {\\n \\"type\\": \\"string\\",\\n \\"description\\": \\"usage aggregation type\\",\\n \\"default\\": \\"avg\\",\\n \\"enum\\": [\\"p99\\", \\"avg\\", \\"p90\\", \\"p50\\", \\"p95\\"],\\n \\"maxLength\\": 254,\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.ack-scheduler.description.aggregationType.value\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.ack-scheduler.prompt.aggregationType.value\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.ack-scheduler.validation.aggregationType.value\\"\\n }\\n },\\n \\"title\\": \\"Config\\",\\n \\"type\\": \\"object\\"\\n}</config_schema>\\n </addons>\\n <addons>\\n <name>logtail-ds</name>\\n <category>monitor</category>\\n <install_by_default>false</install_by_default>\\n <managed>false</managed>\\n <version>v1.8.2.0-aliyun</version>\\n <supported_actions>Install</supported_actions>\\n <supported_actions>Upgrade</supported_actions>\\n <supported_actions>Modify</supported_actions>\\n <supported_actions>Uninstall</supported_actions>\\n <architecture>amd64</architecture>\\n <architecture>arm64</architecture>\\n <config_schema>{\\n \\"$schema\\": \\"http://json-schema.org/draft-07/schema#\\",\\n \\"properties\\": {\\n \\"LogtailDSLimitCPU\\": {\\n \\"description\\": \\"the cpu limit for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$|^0\\\\\\\\.[1-9]$|^[1-9]\\\\\\\\.[0-9]$)\\",\\n \\"default\\": \\"2\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.cpulimit\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.cpulimit\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.cpulimit\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailDSLimitMemory\\": {\\n \\"description\\": \\"the memory limit for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$)\\",\\n \\"default\\": \\"2048\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.memlimit\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.memlimit\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.memlimit\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailDSMaxBytePerSec\\": {\\n \\"description\\": \\"the Max Byte Per Second for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$)\\",\\n \\"default\\": \\"209715200\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.maxbyte\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.maxbyte\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.maxbyte\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailDSSendRequestConcurrency\\": {\\n \\"description\\": \\"the Send Cocurrency for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$)\\",\\n \\"default\\": \\"40\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.cocurrency\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.cocurrency\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.cocurrency\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailDSProcessThreadCount\\": {\\n \\"description\\": \\"the Process Thread Count for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*$\\",\\n \\"default\\": \\"1\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.threadcount\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.threadcount\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.threadcount\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailDSExternalUserDefineIDs\\": {\\n \\"description\\": \\"the user define ids for Logtail-ds\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^.*$\\",\\n \\"default\\": \\"\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ds.userdefineids\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ds.userdefineids\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ds.userdefineids\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetReplicas\\": {\\n \\"description\\": \\"the Replica for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^0$|^[1-9][0-9]*$)\\",\\n \\"default\\": \\"1\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.replica\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.replica\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.replica\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetLimitCPU\\": {\\n \\"description\\": \\"the cpu limit for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$|^0\\\\\\\\.[1-9]$|^[1-9]\\\\\\\\.[0-9]$)\\",\\n \\"default\\": \\"2\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.cpulimit\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.cpulimit\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.cpulimit\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetLimitMemory\\": {\\n \\"description\\": \\"the memory limit for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"(^[1-9][0-9]*$)\\",\\n \\"default\\": \\"2048\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.memlimit\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.memlimit\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.memlimit\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetMaxBytePerSec\\": {\\n \\"description\\": \\"the Max Byte Per Second for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*$\\",\\n \\"default\\": \\"209715200\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.maxbyte\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.maxbyte\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.maxbyte\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetSendRequestConcurrency\\": {\\n \\"description\\": \\"the SendCocurrency for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*$\\",\\n \\"default\\": \\"40\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.cocurrency\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.cocurrency\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.cocurrency\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetProcessThreadCount\\": {\\n \\"description\\": \\"the Process Thread Count for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*$\\",\\n \\"default\\": \\"1\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.threadcount\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.threadcount\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.threadcount\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"LogtailStatefulsetExternalUserDefineIDs\\": {\\n \\"description\\": \\"the user define ids for Logtail-StatefulSet\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^.*$\\",\\n \\"default\\": \\"\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.ss.userdefineids\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.ss.userdefineids\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.ss.userdefineids\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n },\\n \\"SlsMonitoring\\": {\\n \\"description\\": \\"the switch for sls metric components\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^(true|false)$\\",\\n \\"default\\": \\"false\\",\\n \\"x-ui-description\\": \\"cos.k8s.addon.config.logtail-ds.description.fullstack\\",\\n \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.logtail-ds.prompt.fullstack\\",\\n \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.logtail-ds.validation.fullstack\\",\\n \\"x-ui-additional-tips\\": \\"\\"\\n }\\n },\\n \\"title\\": \\"Config\\",\\n \\"type\\": \\"object\\"\\n}</config_schema>\\n </addons>\\n <addons>\\n <name>storage-operator</name>\\n <category>storage</category>\\n <install_by_default>true</install_by_default>\\n <managed>false</managed>\\n <version>v1.26.2-1de13b6-aliyun</version>\\n <supported_actions>Install</supported_actions>\\n <supported_actions>Upgrade</supported_actions>\\n <architecture>amd64</architecture>\\n <config_schema/>\\n </addons>\\n</ListAddonsResponse>","errorExample":""}]', + 'title' => 'ListAddons', + ], + 'ListClusterAddonInstances' => [ + 'summary' => 'Queries the component instances that are running in the specified cluster and the information about the component instances. The information includes the component version and status.', + 'path' => '/clusters/{cluster_id}/addon_instances', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c02b3e03be10643e8a644a843ffcb****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'addons' => [ + 'title' => '已安装的组件实例列表。', + 'description' => 'A list of components that are installed in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '组件实例信息。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'example' => 'coredns', + ], + 'state' => [ + 'title' => '组件状态,可能的取值:'."\n" + .'- active:已安装'."\n" + .'- updating:变更中'."\n" + .'- upgrading:升级中'."\n" + .'- deleting:卸载中', + 'description' => 'The status of the component. Valid values:'."\n" + ."\n" + .'* active: The component is installed.'."\n" + .'* updating: The component is being modified.'."\n" + .'* upgrading: The component is being updated.'."\n" + .'* deleting: The component is being uninstalled.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'version' => [ + 'title' => '组件版本。', + 'description' => 'The version of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.9.3.10-7dfca203-aliyun', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"addons\\": [\\n {\\n \\"name\\": \\"coredns\\",\\n \\"state\\": \\"active\\",\\n \\"version\\": \\"v1.9.3.10-7dfca203-aliyun\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListClusterAddonInstancesResponse>\\n <addons>\\n <name>coredns</name>\\n <state>active</state>\\n <version>v1.9.3.10-7dfca203-aliyun</version>\\n </addons>\\n <addons>\\n <name>alicloud-monitor-controller</name>\\n <state>active</state>\\n <version>v1.8.1-103ddac-aliyun</version>\\n </addons>\\n <addons>\\n <name>ack-scheduler</name>\\n <state>active</state>\\n <version>v1.28.3-aliyun-5.8-89c55520</version>\\n </addons>\\n <addons>\\n <name>cloud-controller-manager</name>\\n <state>active</state>\\n <version>v2.8.1</version>\\n </addons>\\n <addons>\\n <name>storage-operator</name>\\n <state>active</state>\\n <version>v1.26.2-1de13b6-aliyun</version>\\n </addons>\\n <addons>\\n <name>metrics-server</name>\\n <state>active</state>\\n <version>v0.3.9.5-1e8461a-aliyun</version>\\n </addons>\\n <addons>\\n <name>csi-plugin</name>\\n <state>active</state>\\n <version>v1.26.2-327ca15-aliyun</version>\\n </addons>\\n <addons>\\n <name>csi-provisioner</name>\\n <state>active</state>\\n <version>v1.26.2-327ca15-aliyun</version>\\n </addons>\\n <addons>\\n <name>kube-flannel-ds</name>\\n <state>active</state>\\n <version>v0.15.1.22-20a397e6-aliyun</version>\\n </addons>\\n <addons>\\n <name>nginx-ingress-controller</name>\\n <state>active</state>\\n <version>v1.1.2-aliyun.1</version>\\n </addons>\\n <addons>\\n <name>ack-node-local-dns</name>\\n <state>active</state>\\n <version>1.5.3</version>\\n </addons>\\n <addons>\\n <name>kube-controller-manager</name>\\n <state>active</state>\\n <version>v1.28.3-aliyun.1</version>\\n </addons>\\n <addons>\\n <name>kube-apiserver</name>\\n <state>active</state>\\n <version>v1.28.3-aliyun.1</version>\\n </addons>\\n <addons>\\n <name>ack-node-problem-detector</name>\\n <state>active</state>\\n <version>1.2.18</version>\\n </addons>\\n</ListClusterAddonInstancesResponse>","errorExample":""}]', + 'title' => 'ListClusterAddonInstances', + ], + 'GetClusterAddonInstance' => [ + 'summary' => 'You can call the GetClusterAddonInstance operation to query the information of a component instance in a cluster, including the version, configurations, and log status of the component instance.', + 'path' => '/clusters/{cluster_id}/addon_instances/{instance_name}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c02b3e03be10643e8a644a843ffcb****', + ], + ], + [ + 'name' => 'instance_name', + 'in' => 'path', + 'schema' => [ + 'title' => '组件实例名称。', + 'description' => 'The name of the component instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack-node-problem-detector', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件实例名称。', + 'description' => 'The name of the component instance.'."\n", + 'type' => 'string', + 'example' => 'ack-node-problem-detector', + ], + 'state' => [ + 'title' => '组件状态,可能的取值:'."\n" + .'- active:已安装'."\n" + .'- updating:变更中'."\n" + .'- upgrading:升级中'."\n" + .'- deleting:卸载中', + 'description' => 'The status of the component. Valid values:'."\n" + ."\n" + .'* active: The component is installed.'."\n" + .'* updating: The component is being modified.'."\n" + .'* upgrading: The component is being updated.'."\n" + .'* deleting: The component is being uninstalled.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'version' => [ + 'title' => '组件实例版本。', + 'description' => 'The version of the component instance.'."\n", + 'type' => 'string', + 'example' => '1.2.16', + ], + 'config' => [ + 'title' => '组件自定义参数配置。', + 'description' => 'The custom configurations of the component.'."\n", + 'type' => 'string', + 'example' => '{"sls_project_name":""}', + ], + 'logging' => [ + 'title' => '组件日志功能状态。', + 'description' => 'The status of Simple Log Service.'."\n", + 'type' => 'object', + 'properties' => [ + 'capable' => [ + 'title' => '组件是否支持开启日志功能。', + 'description' => 'Indicates whether Simple Log Service is supported by the component.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'enabled' => [ + 'title' => '组件日志功能是否开启。', + 'description' => 'Indicates whether Simple Log Service is enabled for the component.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'log_project' => [ + 'title' => '组件日志功能使用的日志Project。', + 'description' => 'The Simple Log Service project that is used to collect logs for the component.'."\n", + 'type' => 'string', + 'example' => 'my-log-project', + ], + 'logstore' => [ + 'title' => '组件日志功能使用的日志logstore。', + 'description' => 'The Simple Log Service Logstore that is used to collect logs for the component.'."\n", + 'type' => 'string', + 'example' => 'my-logstore', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"name\\": \\"ack-node-problem-detector\\",\\n \\"state\\": \\"active\\",\\n \\"version\\": \\"1.2.16\\",\\n \\"config\\": \\"{\\\\\\"sls_project_name\\\\\\":\\\\\\"\\\\\\"}\\",\\n \\"logging\\": {\\n \\"capable\\": false,\\n \\"enabled\\": false,\\n \\"log_project\\": \\"k8s-log-c02b3e03be10643e8a644a843ffcb****\\",\\n \\"logstore\\": \\"my-logstore\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetClusterAddonInstanceResponse>\\n <name>ack-node-problem-detector</name>\\n <state>active</state>\\n <version>1.2.16</version>\\n <config>{\\"sls_project_name\\":\\"\\"}</config>\\n <logging>\\n <capable>false</capable>\\n <enabled>false</enabled>\\n </logging>\\n</GetClusterAddonInstanceResponse>","errorExample":""}]', + 'title' => 'GetClusterAddonInstance', + ], + 'DescribeAddon' => [ + 'summary' => 'Queries the information about a component based on specific conditions such as the region, cluster type, cluster subtype defined by cluster profile, cluster version, and component name. The information includes whether the component is managed, the component type, supported custom parameter schema, compatible operating system architecture, and earliest supported cluster version.', + 'path' => '/addons/{addon_name}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'addon_name', + 'in' => 'path', + 'schema' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'coredns', + ], + ], + [ + 'name' => 'region_id', + 'in' => 'query', + 'schema' => [ + 'title' => '地域。', + 'description' => 'The region ID. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'cluster_type', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。', + 'description' => 'The type of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ManagedKubernetes', + ], + ], + [ + 'name' => 'profile', + 'in' => 'query', + 'schema' => [ + 'title' => '集群子类型。', + 'description' => 'The subtype of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'cluster_spec', + 'in' => 'query', + 'schema' => [ + 'title' => '集群规格。', + 'description' => 'The specifications of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack.pro.small', + ], + ], + [ + 'name' => 'cluster_version', + 'in' => 'query', + 'schema' => [ + 'title' => '集群版本。', + 'description' => 'The version of the cluster. If cluster_id is specified, this parameter is ignored. You must specify the region_id, cluster_type, profile, cluster_spec, and cluster_version parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.26.3-aliyun.1', + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster. If you specify a cluster ID, only components used in the cluster are queried. Other parameters are ignored.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c02b3e03be10643e8a644a843ffcb****', + ], + ], + [ + 'name' => 'version', + 'in' => 'query', + 'schema' => [ + 'title' => '组件版本。', + 'description' => 'The version of the component. If you do not specify this parameter, the latest version of the component is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1.9.3.10-7dfca203-aliyun', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'example' => 'coredns', + ], + 'version' => [ + 'title' => '组件版本。', + 'description' => 'The version of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.9.3.6-32932850-aliyun', + ], + 'category' => [ + 'title' => '组件分类。', + 'description' => 'The category of the component.'."\n", + 'type' => 'string', + 'example' => 'network', + ], + 'managed' => [ + 'title' => '是否为托管组件。', + 'description' => 'Indicates whether the component is fully managed.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'install_by_default' => [ + 'title' => '是否默认安装。', + 'description' => 'Indicates whether the component is automatically installed by default.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'config_schema' => [ + 'title' => '组件自定义参数schema。', + 'description' => 'The custom parameter schema of the component.'."\n", + 'type' => 'string', + 'example' => '{}', + ], + 'supported_actions' => [ + 'title' => '组件支持的操作,可能的值:'."\n" + .'- Install'."\n" + .'- Upgrade'."\n" + .'- Modify'."\n" + .'- Uninstall', + 'description' => 'The operations supported by the component.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The operations supported by the component.'."\n" + ."\n" + .'* Install: installs the component.'."\n" + .'* Upgrade: upgrades the component.'."\n" + .'* Modify: modifies the component.'."\n" + .'* Uninstall: uninstalls the component.'."\n", + 'type' => 'string', + 'example' => 'Install', + ], + ], + 'architecture' => [ + 'title' => '组件支持的体系结构,可能的值:'."\n" + .'- amd64'."\n" + .'- arm64', + 'description' => 'The CPU architecture supported by the component.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CPU architecture supported by the component. Valid values:'."\n" + ."\n" + .'* amd64'."\n" + .'* arm64'."\n", + 'type' => 'string', + 'example' => 'amd64', + ], + ], + 'newer_versions' => [ + 'title' => '组件新版本。', + 'description' => 'The latest version information of the component.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the latest version.'."\n", + 'type' => 'object', + 'properties' => [ + 'version' => [ + 'title' => '版本号。', + 'description' => 'The latest version number of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.9.3.10-7dfca203-aliyun', + ], + 'upgradable' => [ + 'title' => '是否可升级到该版本,', + 'description' => 'Indicates whether the component can be updated to the version.'."\n" + ."\n" + .'* true: yes'."\n" + .'* false: no'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'minimum_cluster_version' => [ + 'title' => '该版本要求的最低集群版本。', + 'description' => 'The minimum cluster version required by the component version.'."\n", + 'type' => 'string', + 'example' => '1.20.4', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"name\\": \\"coredns\\",\\n \\"version\\": \\"v1.9.3.6-32932850-aliyun\\",\\n \\"category\\": \\"network\\",\\n \\"managed\\": false,\\n \\"install_by_default\\": true,\\n \\"config_schema\\": \\"{}\\",\\n \\"supported_actions\\": [\\n \\"Install\\"\\n ],\\n \\"architecture\\": [\\n \\"amd64\\"\\n ],\\n \\"newer_versions\\": [\\n {\\n \\"version\\": \\"v1.9.3.10-7dfca203-aliyun\\",\\n \\"upgradable\\": true,\\n \\"minimum_cluster_version\\": \\"1.20.4\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeAddonResponse>\\n <architecture>amd64</architecture>\\n <architecture>arm64</architecture>\\n <category>network</category>\\n <config_schema>{ \\"$schema\\": \\"http://json-schema.org/draft-07/schema#\\", \\"properties\\": { \\"MemoryRequest\\": { \\"type\\": \\"string\\", \\"description\\": \\"memory request for coredns\\", \\"pattern\\": \\"^[1-9][0-9]*(\\\\\\\\.\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\", \\"default\\": \\"100Mi\\", \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.memory.request\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.memory.request\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.memory.request\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"CpuRequest\\": { \\"type\\": \\"string\\", \\"description\\": \\"cpu request for coredns\\", \\"pattern\\": \\"^[1-9][0-9]*(m|\\\\\\\\.\\\\\\\\d+)?$\\", \\"default\\": \\"100m\\", \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.cpu.request\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.cpu.request\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.cpu.request\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"MemoryLimit\\": { \\"type\\": \\"string\\", \\"description\\": \\"memory limit for coredns\\", \\"pattern\\": \\"^(|[1-9][0-9]*(\\\\\\\\.\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?)$\\", \\"default\\": \\"2Gi\\", \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.memory.limit\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.memory.limit\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.memory.limit\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"CpuLimit\\": { \\"type\\": \\"string\\", \\"description\\": \\"cpu limit for coredns\\", \\"pattern\\": \\"^(|[1-9][0-9]*(m|\\\\\\\\.\\\\\\\\d+)?)$\\", \\"default\\": \\"\\", \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.cpu.limit\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.cpu.limit\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.cpu.limit\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"NodeSelector\\": { \\"type\\": \\"array\\", \\"items\\": { \\"type\\": \\"object\\", \\"properties\\": { \\"Key\\": { \\"type\\": \\"string\\", \\"description\\": \\"label name\\", \\"default\\": \\"\\", \\"pattern\\": \\"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\\\\\\\/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$\\", \\"maxLength\\": 254, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.nodeSelector.key\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.nodeSelector.key\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.nodeSelector.key\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"Value\\": { \\"type\\": \\"string\\", \\"description\\": \\"label value\\", \\"default\\": \\"\\", \\"pattern\\": \\"^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$\\", \\"maxLength\\": 63, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.nodeSelector.value\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.nodeSelector.value\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.nodeSelector.value\\", \\"x-ui-additional-tips\\": \\"\\" } }, \\"required\\": [ \\"Key\\", \\"Value\\" ] }, \\"description\\": \\"node selector for coredns\\", \\"default\\": [ { \\"Key\\": \\"kubernetes.io/os\\", \\"Value\\": \\"linux\\" } ], \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.nodeSelector\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.nodeSelector\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.nodeSelector\\", \\"x-ui-additional-tips\\": \\"\\" }, \\"Tolerations\\": { \\"type\\": \\"array\\", \\"items\\": { \\"type\\": \\"object\\", \\"description\\": \\"The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.\\", \\"properties\\": { \\"effect\\": { \\"description\\": \\"Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\\", \\"pattern\\": \\"^(NoSchedule|PreferNoSchedule|NoExecute)$\\", \\"maxLength\\": 254, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.toleration.effect\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.toleration.effect\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.toleration.effect\\", \\"x-ui-additional-tips\\": \\"\\", \\"type\\": [ \\"string\\", \\"null\\" ] }, \\"key\\": { \\"description\\": \\"Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.\\", \\"pattern\\": \\"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\\\\\\\/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$\\", \\"maxLength\\": 254, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.toleration.key\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.toleration.key\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.toleration.key\\", \\"x-ui-additional-tips\\": \\"\\", \\"type\\": [ \\"string\\", \\"null\\" ] }, \\"operator\\": { \\"description\\": \\"Operator represents a key\'s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\\", \\"pattern\\": \\"^(Exists|Equal)$\\", \\"maxLength\\": 254, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.toleration.operator\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.toleration.operator\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.toleration.operator\\", \\"x-ui-additional-tips\\": \\"\\", \\"type\\": [ \\"string\\", \\"null\\" ] }, \\"value\\": { \\"description\\": \\"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.\\", \\"pattern\\": \\"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\\\\\\\/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$\\", \\"maxLength\\": 254, \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.toleration.value\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.toleration.value\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.toleration.value\\", \\"x-ui-additional-tips\\": \\"\\", \\"type\\": [ \\"string\\", \\"null\\" ] } } }, \\"description\\": \\"tolerations for coredns\\", \\"default\\": [], \\"x-ui-description\\": \\"cos.k8s.addon.config.coredns.description.tolerations\\", \\"x-ui-prompt-message\\": \\"cos.k8s.addon.config.coredns.prompt.tolerations\\", \\"x-ui-validation-message\\": \\"cos.k8s.addon.config.coredns.validation.tolerations\\", \\"x-ui-additional-tips\\": \\"\\" } }, \\"title\\": \\"Config\\", \\"type\\": \\"object\\" }</config_schema>\\n <install_by_default>true</install_by_default>\\n <managed>false</managed>\\n <name>coredns</name>\\n <supported_actions>Install</supported_actions>\\n <supported_actions>Upgrade</supported_actions>\\n <supported_actions>Modify</supported_actions>\\n <version>v1.9.3.10-7dfca203-aliyun</version>\\n</DescribeAddonResponse>","errorExample":""}]', + 'title' => 'DescribeAddon', + ], + 'ModifyClusterAddon' => [ + 'summary' => 'Modifies the configuration of a cluster component. This operation may affect your businesses. We recommend that you assess the impact, back up data, and perform the operation during off-peak hours.', + 'path' => '/clusters/{cluster_id}/components/{component_id}/config', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c71d616e629ff40d5b42d7bb87770****', + ], + ], + [ + 'name' => 'component_id', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID', + 'description' => 'The component ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'coredns', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '组件配置', + 'description' => 'The component configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'config' => [ + 'title' => '自定义参数设置', + 'description' => 'The custom parameter settings that you want to use.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"CpuRequest":"800m"}', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'ModifyClusterAddon', + 'description' => 'You can call this API operation to modify the component parameters of an ACK Basic cluster or the control plane parameters of an ACK Pro cluster:'."\n" + ."\n" + .'* To view the component parameters of an ACK Basic cluster, call the DescribeClusterAddonMetadata API operation. For more information, see [Query the metadata of a cluster component](~~2667944~~).'."\n" + .'* To view the control plane parameters of an ACK Pro cluster, see [Customize the control plane parameters of an ACK Pro cluster](~~199588~~).'."\n" + ."\n" + .'After you call this operation, the component may be redeployed and restarted. We recommend that you assess the impact before you call this operation.', + 'requestParamsDescription' => 'Set `config` to a JSON string.'."\n", + ], + 'UpgradeClusterAddons' => [ + 'summary' => 'Updates cluster add-ons to newer versions for enhanced functionality.', + 'path' => '/clusters/{ClusterId}/components/upgrade', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '493', + 'abilityTreeNodes' => [ + 'FEATUREcsk6XCUME', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cf4299b79b3e34226abfdc80a4bda****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => 'Request body,类型是对象数组', + 'description' => 'The request parameters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'component_name' => [ + 'title' => '组件名称', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'coredns', + ], + 'next_version' => [ + 'title' => '可升级版本', + 'description' => 'The version to which the component can be updated. You can call the `DescribeClusterAddonsVersion` operation to query the version to which the component can be updated.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1.6.7', + ], + 'version' => [ + 'title' => '当前版本', + 'description' => 'The current version of the component.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1.6.2', + ], + 'config' => [ + 'title' => '组件自定义参数', + 'description' => 'The custom component settings that you want to use. The value is a JSON string.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{\\"CpuRequest\\":\\"800m\\"}', + ], + 'policy' => [ + 'title' => '组件升级策略。', + 'description' => 'The update policy. Valid values:'."\n" + ."\n" + .'* overwrite'."\n" + .'* canary'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'canary', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cf4299b79b3e34226abfdc80a4bda****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'bfd12953-31cb-42f1-8a36-7b80ec345094', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-62a944794ee141074400****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cf4299b79b3e34226abfdc80a4bda****\\",\\n \\"request_id\\": \\"bfd12953-31cb-42f1-8a36-7b80ec34****\\",\\n \\"task_id\\": \\"T-62a944794ee141074400****\\"\\n}","type":"json"}]', + 'title' => 'UpgradeClusterAddons', + ], + 'ListClusterAddonInstanceResources' => [ + 'summary' => '获取集群组件实例的资源列表', + 'path' => '/clusters/{cluster_id}/addon_instances/{instance_name}/resources', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '215253', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + ], + [ + 'name' => 'instance_name', + 'in' => 'path', + 'schema' => [ + 'title' => '组件实例名称。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'terway-eniip', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'kubernetes_objects' => [ + 'title' => '组件包含的Kubernetes对象列表。', + 'description' => '', + 'type' => 'array', + 'items' => [ + 'title' => 'Kubernetes对象。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'group' => [ + 'title' => '对象归属的Kubernetes API组。', + 'description' => '', + 'type' => 'string', + 'example' => 'rbac.authorization.k8s.io', + ], + 'version' => [ + 'title' => '对象归属的Kubernetes API版本。', + 'description' => '', + 'type' => 'string', + 'example' => 'v1', + ], + 'kind' => [ + 'title' => '对象归属的Kubernetes API类型。', + 'description' => '', + 'type' => 'string', + 'example' => 'ClusterRole', + ], + 'name' => [ + 'title' => '对象名称。', + 'description' => '', + 'type' => 'string', + 'example' => 'terway-pod-reader', + ], + 'namespace' => [ + 'title' => '对象所属命名空间。', + 'description' => '', + 'type' => 'string', + 'example' => 'kube-system', + ], + ], + ], + ], + 'helm_release' => [ + 'title' => '组件对应的Helm Release实例信息。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'release_name' => [ + 'title' => 'Helm Release实例名称。', + 'description' => '', + 'type' => 'string', + 'example' => 'ack-node-problem-detector', + ], + 'namespace' => [ + 'title' => '命名空间。', + 'description' => '', + 'type' => 'string', + 'example' => 'kube-system', + ], + 'chart_name' => [ + 'title' => '组件对应的Helm Chart名称。', + 'description' => '', + 'type' => 'string', + 'example' => 'ack-node-problem-detector', + ], + 'chart_version' => [ + 'title' => '组件对应的Helm Chart版本。', + 'description' => '', + 'type' => 'string', + 'example' => '1.2.28', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"kubernetes_objects\\": [\\n {\\n \\"group\\": \\"rbac.authorization.k8s.io\\",\\n \\"version\\": \\"v1\\",\\n \\"kind\\": \\"ClusterRole\\",\\n \\"name\\": \\"terway-pod-reader\\",\\n \\"namespace\\": \\"kube-system\\"\\n }\\n ],\\n \\"helm_release\\": {\\n \\"release_name\\": \\"ack-node-problem-detector\\",\\n \\"namespace\\": \\"kube-system\\",\\n \\"chart_name\\": \\"ack-node-problem-detector\\",\\n \\"chart_version\\": \\"1.2.28\\"\\n }\\n}","type":"json"}]', + ], + 'DescribeUserPermission' => [ + 'summary' => 'In an Container Service for Kubernetes (ACK) cluster, you can create and specify different Resource Access Management (RAM) users or roles to have different access permissions. This ensures access control and resource isolation. You can call the DescribeUserPermission operation to query the permissions that are granted to a RAM user or RAM role on ACK clusters, including the resources that are allowed to access, the scope of the permissions, the predefined role, and the permission source.', + 'path' => '/permissions/users/{uid}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'chargeType' => 'free', + 'abilityTreeCode' => '13132', + 'abilityTreeNodes' => [ + 'FEATUREcskM5ADAN', + ], + ], + 'parameters' => [ + [ + 'name' => 'uid', + 'in' => 'path', + 'schema' => [ + 'title' => 'RAM 用户的 UID', + 'description' => 'The ID of the RAM user or RAM role.'."\n" + ."\n" + .'* If you query RAM user permissions, the UID of the RAM user is used.'."\n" + .'* If you query the permissions of a RAM role, the ID of the RAM role is used.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '21175****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数', + 'description' => 'The response body.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cluster authorization details of the RAM user.'."\n", + 'type' => 'object', + 'properties' => [ + 'resource_id' => [ + 'title' => '集群访问配置', + 'description' => 'The authorization setting. Valid values:'."\n" + ."\n" + .'* `{cluster_id}` is returned if the permissions are scoped to a cluster.'."\n" + .'* `{cluster_id}/{namespace}` is returned if the permissions are scoped to a namespace of a cluster.'."\n" + .'* `all-clusters` is returned if the permissions are scoped to all clusters.'."\n", + 'type' => 'string', + 'example' => 'c1b542****', + ], + 'resource_type' => [ + 'title' => '授权类型', + 'description' => 'The authorization type. Valid values:'."\n" + ."\n" + .'* `cluster`: indicates that the permissions are scoped to a cluster.'."\n" + .'* `namespace`: indicates that the permissions are scoped to a namespace of a cluster.'."\n" + .'* `console`: indicates that the permissions are scoped to all clusters.'."\n", + 'type' => 'string', + 'example' => 'cluster', + ], + 'role_name' => [ + 'title' => '自定义角色名称', + 'description' => 'The name of the custom role. If a custom role is assigned, the value is the name of the assigned custom role.'."\n", + 'type' => 'string', + 'example' => 'view', + ], + 'role_type' => [ + 'title' => '预置的角色类型', + 'description' => 'The type of predefined role. Valid values:'."\n" + ."\n" + .'* `admin`: administrator'."\n" + .'* `ops`: O\\&M engineer'."\n" + .'* `dev`: developer'."\n" + .'* `restricted`: restricted user'."\n" + .'* `custom`: custom role'."\n", + 'type' => 'string', + 'example' => 'admin', + ], + 'is_owner' => [ + 'title' => '是否为集群 owner 的授权', + 'description' => 'Indicates whether the permissions are granted to the cluster owner.'."\n" + ."\n" + .'* `0`: indicates that the permissions are not granted to the cluster owner.'."\n" + .'* `1`: indicates that the permissions are granted to the cluster owner. The cluster owner is the administrator.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'is_ram_role' => [ + 'title' => '是否为ram 角色授权', + 'description' => 'Indicates whether the permissions are granted to the RAM role. Valid values:'."\n" + ."\n" + .'* `0`: indicates that the permissions are not granted to the RAM role.'."\n" + .'* `1`: indicates that the permissions are granted to the RAM role.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"resource_id\\": \\"c1b542****\\",\\n \\"resource_type\\": \\"cluster\\",\\n \\"role_name\\": \\"terway-pod-reader\\",\\n \\"role_type\\": \\"admin\\",\\n \\"is_owner\\": 1,\\n \\"is_ram_role\\": 1\\n }\\n]","errorExample":""},{"type":"xml","example":"<0>\\n <resource_id>c1b542**</resource_id>\\n <resource_type>cluster</resource_type>\\n <role_name>view</role_name>\\n <role_type>admin</role_type>\\n <is_owner>1</is_owner>\\n <is_ram_role>1</is_ram_role>\\n</0>","errorExample":""}]', + 'title' => 'DescribeUserPermission', + 'description' => '**Precautions**:'."\n" + ."\n" + .'* If you call this operation as a Resource Access Management (RAM) user or by assuming a RAM role, only the permissions granted on the clusters on which the current account has the role-based access control (RBAC) administrator permissions are returned. If you want to query the permissions on all clusters, you must use an account that has the RBAC administrator permissions on all clusters.'."\n", + 'responseParamsDescription' => 'The parent_id parameter is deprecated. Do not use this parameter.'."\n", + ], + 'GrantPermissions' => [ + 'summary' => 'By default, RAM users or roles who aren\'t cluster creators and haven\'t been granted full cluster permissions have no RBAC permissions in the cluster. You can call this interface to update RBAC access permissions for RAM users/roles, including accessible resources, permission scopes, and preset roles, for enhanced security control on resources in Container Service for Kubernetes (ACK) clusters.', + 'path' => '/permissions/users/{uid}', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'uid', + 'in' => 'path', + 'schema' => [ + 'title' => '指定 RAM 用户的 UID', + 'description' => 'The ID of the RAM user or RAM role whose permissions you want to update.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2367****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried permissions.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster' => [ + 'title' => '授权目标集群id', + 'description' => 'The ID of the cluster on which you want to grant permissions to the RAM role or RAM role.'."\n" + ."\n" + .'* Set this parameter to an empty string if `role_type` is set to `all-clusters`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c796c60***', + ], + 'is_custom' => [ + 'title' => '该授权是否是自定义授权', + 'description' => 'Specifies whether to assign a custom role to the RAM user or RAM role. If you want to assign a custom role to the RAM user or RAM role, set `role_name` to the name of the custom role.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'role_name' => [ + 'title' => '预置的角色名称', + 'description' => 'The predefined role name. Valid values:'."\n" + ."\n" + .'* `admin`: administrator'."\n" + .'* `admin-view`: read-only administrator'."\n" + .'* `ops`: O\\&M engineer'."\n" + .'* `dev`: developer'."\n" + .'* `restricted`: restricted user'."\n" + .'* Custom role'."\n" + ."\n" + .'Note:'."\n" + ."\n" + .'* You cannot grant namespace-level permissions to the `admin`, `admin-view`, and `ops` roles.'."\n" + .'* You cannot grant all cluster-level permissions to the `admin-view` role.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ops', + ], + 'role_type' => [ + 'title' => '授权类型', + 'description' => 'The authorization type. Valid values:'."\n" + ."\n" + .'* `cluster`: authorizes the RAM user or RAM role to manage the specified clusters.'."\n" + .'* `namespace`: authorizes the RAM user or RAM role to manage the specified namespaces.'."\n" + .'* `all-clusters`: authorizes the RAM user or RAM role to manage all clusters.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cluster', + ], + 'namespace' => [ + 'title' => '命名空间名称', + 'description' => 'The namespace that you want to authorize the RAM user or RAM role to manage. This parameter is required only if you set role_type to namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'is_ram_role' => [ + 'title' => '是否是 RAM 角色授权', + 'description' => 'Specifies whether to use a RAM role to grant permissions.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'GrantPermissions', + 'description' => '* If you use a Resource Access Management (RAM) account to call this operation, make sure it has permissions to modify cluster authorization information for other RAM users or RAM roles. Otherwise, the `StatusForbidden` or `ForbiddenGrantPermissions` error code is returned. For more information, see [Use a RAM user to grant RBAC permissions to other RAM users](~~119035~~).'."\n" + .'* This operation overwrites all existing cluster permissions for the target RAM user or RAM role. You must specify all the permissions you want to grant to the RAM user or RAM role in the request.'."\n", + ], + 'UpdateUserPermissions' => [ + 'summary' => 'In a Container Service for Kubernetes (ACK) cluster, non-cluster creators, Resource Access Management (RAM) users, and RAM roles do not have any Role-Based Access Control (RBAC) permissions in the cluster by default. You can call this operation to specify the resources that can be accessed, permission scope, and predefined roles. This helps you better manage the access control on resources in ACK clusters.', + 'path' => '/permissions/users/{uid}/update', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '213870', + 'abilityTreeNodes' => [ + 'FEATUREcskM5ADAN', + ], + ], + 'parameters' => [ + [ + 'name' => 'uid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the RAM user or RAM role whose permissions you want to update.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2367****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster' => [ + 'description' => 'The ID of the cluster on which you want to grant permissions to the RAM role or RAM role.'."\n" + ."\n" + .'* Set this parameter to an empty string if `role_type` is set to `all-clusters`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c796c60***', + ], + 'is_custom' => [ + 'description' => 'Specifies whether to assign a custom role to the RAM user or RAM role. If you want to assign a custom role to the RAM user or RAM role, set `role_name` to the name of the custom role.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'role_name' => [ + 'description' => 'The predefined role name. Valid values:'."\n" + ."\n" + .'* `admin`: administrator'."\n" + .'* `admin-view`: read-only administrator'."\n" + .'* `ops`: O\\&M engineer'."\n" + .'* `dev`: developer'."\n" + .'* `restricted`: restricted user'."\n" + .'* Custom role'."\n" + ."\n" + .'Note:'."\n" + ."\n" + .'* You cannot grant **namespace-level** permissions to the `admin`, `admin-view`, and `ops` roles.'."\n" + .'* You cannot grant **all cluster-level** permissions to the `admin-view` role.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ops', + ], + 'role_type' => [ + 'description' => 'The authorization type. Valid values:'."\n" + ."\n" + .'* `cluster`: authorizes the RAM user or RAM role to manage the specified clusters.'."\n" + .'* `namespace`: authorizes the RAM user or RAM role to manage the specified namespaces.'."\n" + .'* `all-clusters`: authorizes the RAM user or RAM role to manage all clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster', + ], + 'namespace' => [ + 'description' => 'The namespace that you want to authorize the RAM user or RAM role to manage. This parameter is required only if you set role_type to namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'is_ram_role' => [ + 'description' => 'Specifies whether to use a RAM role to grant permissions.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'mode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The authorization method. Valid values:'."\n" + ."\n" + .'* `apply`: The global update mode. Overwrites all existing permissions of the RAM user or RAM role on the cluster. You must specify all the permissions you want to grant to the RAM user or RAM role in the request parameters when you call this operation.'."\n" + .'* `delete`: The deletion mode. Revokes only the cluster permissions specified in the request, preserving other existing permissions of the RAM user or RAM role.'."\n" + .'* `patch`: The incremental mode. Adds only the cluster permissions specified in the request, preserving other existing permissions of the RAM user or RAM role.'."\n" + ."\n" + .'Default value: `apply`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'apply', + 'enum' => [ + 'delete', + 'patch', + 'apply', + ], + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'UpdateUserPermissions', + 'description' => '**Precautions**:'."\n" + ."\n" + .'* You can update the permissions of a RAM user or RAM role on a cluster by using full update or incremental update. If you use full update, the existing permissions of the RAM user or RAM role on the cluster are overwritten. You must specify all the permissions that you want to grant to the RAM user or RAM role in the request parameters when you call the operation. If you use incremental update, you can grant permissions to or revoke permissions from the RAM user or RAM role on the cluster. In this case, only the permissions that you specify in the request parameters when you call the operation are granted or revoked, other permissions of the RAM user or RAM role on the cluster are not affected.'."\n", + ], + 'CheckServiceRole' => [ + 'summary' => 'Checks whether the specified service roles are granted to Container Service for Kubernetes (ACK) within the current Alibaba Cloud account. ACK can access other cloud services, such as Elastic Compute Service (ECS), Object Storage Service (OSS), File Storage NAS (NAS), and Server Load Balancer (SLB), only after ACK is assigned the required service roles.', + 'path' => '/ram/check-service-role', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '215025', + 'abilityTreeNodes' => [ + 'FEATUREcskDQP655', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'roles' => [ + 'title' => '需要检查的角色列表', + 'description' => 'The list of service roles you want to check.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a service role.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '角色名称', + 'description' => 'The server role name. For more information about the service roles and their permissions in ACK, see [ACK roles](~~86483~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'AliyunCSManagedAutoScalerRole', + ], + ], + 'required' => false, + ], + 'required' => true, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'roles' => [ + 'title' => '角色检查结果', + 'description' => 'The check results.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The service roles.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '角色名称', + 'description' => 'The name of the service role.'."\n", + 'type' => 'string', + 'example' => 'AliyunCSManagedAutoScalerRole', + ], + 'granted' => [ + 'title' => '是否已授权', + 'description' => 'Indicates whether the service role is assigned to ACK.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* true: The role is assigned to ACK.'."\n" + .'* false: The role is not assigned to ACK.'."\n", + 'type' => 'boolean', + 'enumValueTitles' => [ + 'true' => '', + 'false' => '', + ], + 'example' => 'true', + ], + 'message' => [ + 'title' => '未授权时的提示信息', + 'description' => 'The message that is displayed for a role that is not assigned to ACK.'."\n", + 'type' => 'string', + 'example' => 'The role does not exist: AliyunCSManagedAutoScalerRole', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"roles\\": [\\n {\\n \\"name\\": \\"AliyunCSManagedAutoScalerRole\\",\\n \\"granted\\": true,\\n \\"message\\": \\"The role does not exist: AliyunCSManagedAutoScalerRole\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'CheckServiceRole', + ], + 'ScanClusterVuls' => [ + 'summary' => 'Scans for vulnerabilities in a Container Service for Kubernetes (ACK) cluster, including workload vulnerabilities, third-party software vulnerabilities, CVE vulnerabilities, WebCMS vulnerabilities, and Windows vulnerabilities. We recommend that you scan your cluster on a regular basis to ensure cluster security.', + 'path' => '/clusters/{cluster_id}/vuls/scan', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => 'A short description of struct', + 'description' => 'Cluster ID.', + 'type' => 'string', + 'required' => false, + 'example' => 'c259f563386444ebb8d7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314A1E1', + ], + 'task_id' => [ + 'description' => 'Task ID.', + 'type' => 'string', + 'example' => 'T-xascadasd*****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4******\\",\\n \\"task_id\\": \\"T-xascadasd*****\\"\\n}","type":"json"}]', + 'title' => 'ScanClusterVuls', + 'translator' => 'machine', + ], + 'DescribeClusterVuls' => [ + 'summary' => 'Queries the security vulnerability details of a cluster by cluster ID. The details include vulnerability name, vulnerability type, and vulnerability severity. We recommend that you scan your cluster on a regular basis to ensure cluster security.', + 'path' => '/clusters/{cluster_id}/vuls', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '165070', + 'abilityTreeNodes' => [ + 'FEATUREcsk4JRUSW', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => 'A short description of struct', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'vul_records' => [ + 'description' => 'The list of vulnerabilities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of a vulnerability.'."\n", + 'type' => 'object', + 'properties' => [ + 'nodepool_name' => [ + 'description' => 'The name of the node pool.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'nodepool_id' => [ + 'description' => 'The node pool ID.'."\n", + 'type' => 'string', + 'example' => 'np0156da1082b54fa987e32618dd45f5d3', + ], + 'node_count' => [ + 'description' => 'The number of nodes that have the vulnerability.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'vul_name' => [ + 'description' => 'The name of the vulnerability.'."\n", + 'type' => 'string', + 'example' => 'oval:com.redhat.rhsa:def:xxxxxxx', + ], + 'vul_alias_name' => [ + 'description' => 'The alias of the vulnerability.'."\n", + 'type' => 'string', + 'example' => 'CVE-2022-xxxx:rsync Security vulnerabilities', + ], + 'vul_type' => [ + 'description' => 'The type of vulnerability.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* app: application vulnerabilities'."\n" + .'* sca: application vulnerabilities (software component analysis)'."\n" + .'* cve: Linux vulnerabilities'."\n" + .'* cms: Web-CMS vulnerabilities'."\n" + .'* sys: Windows vulnerabilities'."\n" + .'* emg: emergency vulnerabilities', + 'type' => 'string', + 'enumValueTitles' => [ + 'app' => '', + 'sca' => '', + 'cve' => '', + 'cms' => '', + 'sys' => '', + 'emg' => '', + ], + 'example' => 'cve', + ], + 'necessity' => [ + 'description' => 'The severity level of the vulnerability.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* nntf: low'."\n" + .'* later: medium '."\n" + .'* asap: high', + 'type' => 'string', + 'enumValueTitles' => [ + 'nntf' => '', + 'later' => '', + 'asap' => '', + ], + 'example' => 'asap', + ], + 'cve_list' => [ + 'description' => 'The CVE list.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CVE information.'."\n", + 'type' => 'string', + 'example' => 'CVE-2022-xxxxx', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"vul_records\\": [\\n {\\n \\"nodepool_name\\": \\"test\\",\\n \\"nodepool_id\\": \\"np0156da1082b54fa987e32618dd******\\",\\n \\"node_count\\": 1,\\n \\"vul_name\\": \\"oval:com.redhat.rhsa:def:xxxxxxx\\",\\n \\"vul_alias_name\\": \\"CVE-2022-xxxx:rsync 安全漏洞\\",\\n \\"vul_type\\": \\"cve\\",\\n \\"necessity\\": \\"asap\\",\\n \\"cve_list\\": [\\n \\"CVE-2022-xxxxx\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeClusterVuls', + ], + 'UpdateResourcesDeleteProtection' => [ + 'summary' => 'Updates the deletion protection status of the specified resources. You can enable or disable deletion protection for namespaces and Services. You can call this operation to enable deletion protection for namespaces or Services that involve businesses-critical and sensitive data to avoid incurring maintenance costs caused by accidental namespace or Service deletion.', + 'path' => '/clusters/{ClusterId}/resources/protection', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '198784', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c850429a2287b4d968e27e87a4921****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body that specifies the status of deletion protection for the specified resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'namespace' => [ + 'description' => 'The namespace to which the resource belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'resource_type' => [ + 'description' => 'The type of resource for which deletion protection is enabled or disabled. You can specify namespaces or Services.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [], + 'example' => 'services', + 'enum' => [ + 'services', + 'namespaces', + ], + ], + 'resources' => [ + 'description' => 'The resources list.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the resource.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'required' => false, + ], + 'enable' => [ + 'description' => 'Specifies whether to enable deletion protection. Set the value to true to enable deletion protection and set the value to false to disable deletion protection.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'true', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '0527ac9a-c899-4341-a21a-xxxxxxxxx', + ], + 'namespace' => [ + 'description' => 'The namespace to which the resource belongs.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'resource_type' => [ + 'description' => 'The type of resource for which deletion protection is enabled or disabled.'."\n", + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'namespaces', + ], + 'resources' => [ + 'description' => 'The list of resources whose deletion protection status is updated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the resource whose deletion protection status is updated.'."\n", + 'type' => 'string', + 'example' => 'test1', + ], + ], + 'protection' => [ + 'description' => 'Indicates the status of deletion protection. A value of true indicates that deletion protection is enabled and a value of false indicates that deletion protection is disabled.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'enable' => 'deletion protection is enabled.', + 'disable' => 'deletion protection is disabled.', + ], + 'example' => 'enable', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0527ac9a-c899-4341-a21a-xxxxxxxxx\\",\\n \\"namespace\\": \\"default\\",\\n \\"resource_type\\": \\"namespaces\\",\\n \\"resources\\": [\\n \\"test1\\"\\n ],\\n \\"protection\\": \\"enable\\"\\n}","type":"json"}]', + 'title' => 'UpdateResourcesDeleteProtection', + ], + 'DescribeResourcesDeleteProtection' => [ + 'summary' => 'Queries whether the deletion protection feature is enabled for the specified resources in the cluster. The resources that you can query include namespaces and Services.', + 'path' => '/clusters/{ClusterId}/resources/{ResourceType}/protection', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '198785', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the Container Service for Kubernetes (ACK) cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'path', + 'schema' => [ + 'description' => 'The type of the resource that you want to query. Valid values:'."\n" + ."\n" + .'* Namespaces'."\n" + .'* services'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'namespaces', + 'enum' => [ + 'namespaces', + 'services', + ], + ], + ], + [ + 'name' => 'namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The namespace in which the resources that you want to query reside.'."\n" + ."\n" + .'This parameter is required when you set resource_type to services. Default value: default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'resources', + 'in' => 'query', + 'schema' => [ + 'description' => 'The names of the resources that you want to query. Separate multiple resource names with commas (,).'."\n" + ."\n" + .'* When you set resource_type to namespaces, you must specify namespace names. If you leave this parameter empty, all namespaces in the cluster are queried.'."\n" + .'* If you set resource_type to services, you must specify Service names.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test1,test2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The status of deletion protection for the specified resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'The resource name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + ], + 'namespace' => [ + 'description' => 'The namespace to which the resource belongs.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'resource' => [ + 'description' => 'The type of the resource.'."\n", + 'type' => 'string', + 'example' => 'namespaces', + ], + 'protection' => [ + 'description' => 'Indicates whether deletion protection is enabled.'."\n" + ."\n" + .'* true: deletion protection is enabled.'."\n" + .'* false: deletion protection is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + 'description' => '', + ], + 'required' => true, + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"[\\n {\\n \\"name\\": \\"arms-prom\\",\\n \\"namespace\\": \\"default\\",\\n \\"resource\\": \\"namespaces\\",\\n \\"protection\\": false\\n }\\n]","type":"json"}]', + 'title' => 'DescribeResourcesDeleteProtection', + ], + 'DeployPolicyInstance' => [ + 'summary' => 'Deploys a policy in the specified namespaces of a specific Container Service for Kubernetes (ACK) cluster. You can create and deploy a security policy by specifying the policy type, action of the policy such as alerting or denying, and namespaces to which the policy applies.', + 'path' => '/clusters/{cluster_id}/policies/{policy_name}', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群id', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'policy_name', + 'in' => 'path', + 'schema' => [ + 'title' => '策略治理规则名称', + 'description' => 'The policy name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ACKNoEnvVarSecrets', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'title' => '规则治理动作', + 'description' => 'The action of the policy. Valid values:'."\n" + ."\n" + .'* `deny`: Deployments that match the policy are denied.'."\n" + .'* `warn`: Alerts are generated for Deployments that match the policy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deny', + ], + 'namespaces' => [ + 'title' => '限制策略实施的命名空间,为空时表示所有命名空间', + 'description' => 'The namespaces to which the policy applies. If you leave this parameter empty, the policy is applicable to all namespaces of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The namespaces to which the policy applies. If you leave this parameter empty, the policy is applicable to all namespaces of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'required' => false, + ], + 'parameters' => [ + 'title' => '当前规则实例的配置参数', + 'description' => 'The parameter settings of the policy. For more information about the parameters supported by each policy, see [Predefined security policies of ACK](https://www.alibabacloud.com/help/doc-detail/359819.html).'."\n", + 'type' => 'object', + 'required' => false, + 'example' => '{"restrictedNamespaces": [ "test" ]}', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'title' => '策略实例列表', + 'description' => 'A list of policy instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The policy instances that are deployed.'."\n", + 'type' => 'string', + 'example' => '[ "allowed-repos-kqxnc" ]', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeployPolicyInstanceResponse>\\n <instances>allowed-repos-kqxnc</instances>\\n</DeployPolicyInstanceResponse>","errorExample":""}]', + 'title' => 'DeployPolicyInstance', + ], + 'ModifyPolicyInstance' => [ + 'summary' => 'Updates a policy in a specific Container Service for Kubernetes (ACK) cluster. You can modify the action of the policy such as alerting or denying and namespaces to which the policy applies.', + 'path' => '/clusters/{cluster_id}/policies/{policy_name}', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群id', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'policy_name', + 'in' => 'path', + 'schema' => [ + 'title' => '策略治理规则名称', + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ACKAllowedRepos', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'title' => '规则治理动作', + 'description' => 'The action of the policy. Valid values:'."\n" + ."\n" + .'* `deny`: Deployments that match the policy are denied.'."\n" + .'* `warn`: Alerts are generated for deployments that match the policy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deny', + ], + 'instance_name' => [ + 'title' => '策略规则实例id', + 'description' => 'The ID of the policy instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'allowed-repos-cbhhb', + ], + 'namespaces' => [ + 'title' => '限制策略实施的命名空间,为空时表示所有命名空间', + 'description' => 'The namespaces to which the policy is applied. The policy is applied to all namespaces if this parameter is left empty.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The applicable scope of the policy instance.'."\n" + ."\n" + .'A value of "" indicates all namespaces in the cluster. This is the default value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["test3","test4"]', + ], + 'required' => false, + ], + 'parameters' => [ + 'title' => '当前规则实例的配置参数', + 'description' => 'The parameters of the policy instance. For more information, see [Predefined security policies of ACK](~~359819~~).'."\n", + 'type' => 'object', + 'required' => false, + 'example' => '"restrictedNamespaces": [ "test" ]', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => 'The list of policy instances that are updated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The policy instance that is updated.'."\n", + 'type' => 'string', + 'example' => '[ "allowed-repos-kqxnc" ]', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ModifyPolicyInstanceResponse>\\n <instances>[ \\"allowed-repos-kqxnc\\" ]</instances>\\n</ModifyPolicyInstanceResponse>","errorExample":""}]', + 'title' => 'ModifyPolicyInstance', + ], + 'DeletePolicyInstance' => [ + 'summary' => 'Deletes policy instances in a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/clusters/{cluster_id}/policies/{policy_name}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群id', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'policy_name', + 'in' => 'path', + 'schema' => [ + 'title' => '策略治理规则名称', + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ACKAllowedRepos', + ], + ], + [ + 'name' => 'instance_name', + 'in' => 'query', + 'schema' => [ + 'title' => '策略规则实例id', + 'description' => 'The ID of the policy instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'allowed-repos-mqdsf', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'title' => '策略实例列表', + 'description' => 'A list of policy instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The policy instances that are deleted.'."\n", + 'type' => 'string', + 'example' => '[ "allowed-repos-kqxnc" ]', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeletePolicyInstanceResponse>\\n <instances>[ \\"allowed-repos-kqxnc\\" ]</instances>\\n</DeletePolicyInstanceResponse>","errorExample":""}]', + 'title' => 'DeletePolicyInstance', + ], + 'DescribePolicies' => [ + 'summary' => 'Queries a list of security policies. Container Service for Kubernetes (ACK) clusters offer a variety of built-in container security policies, such as Compliance, Infra, K8s-general, and pod security policy (PSP). You can use these policies to ensure the security of containers running in a production environment.', + 'path' => '/policies', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '系统支持的所有策略模板。key为策略类型,value为该策略类型下的所有策略模板名称列表', + 'description' => 'The list of the returned policies. The key of each entry indicates the type of the policy. The value of each entry indicates the names of the policies of the corresponding type.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'title' => '某个策略类型下的所有策略模板名称列表', + 'description' => 'The list of the names of policy templates of each type.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '策略模板名称', + 'type' => 'string', + 'example' => 'ACKNoEnvVarSecrets', + 'description' => 'For more information about policies, see [Predefined security policies of ACK](~~359819~~).'."\n", + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"key\\": [\\n \\"ACKNoEnvVarSecrets\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribePoliciesResponse>\\n <cis-k8s>ACKNoEnvVarSecrets</cis-k8s>\\n <cis-k8s>ACKPodsRequireSecurityContext</cis-k8s>\\n <cis-k8s>ACKRestrictNamespaces</cis-k8s>\\n <cis-k8s>ACKRestrictRoleBindings</cis-k8s>\\n <infra>ACKBlockProcessNamespaceSharing</infra>\\n <infra>ACKEmptyDirHasSizeLimit</infra>\\n <infra>ACKLocalStorageRequireSafeToEvict</infra>\\n <infra>ACKOSSStorageLocationConstraint</infra>\\n <k8s-general>ACKBlockAutoinjectServiceEnv</k8s-general>\\n <k8s-general>ACKBlockAutomountToken</k8s-general>\\n <k8s-general>ACKBlockLoadBalancer</k8s-general>\\n <k8s-general>ACKBlockNodePort</k8s-general>\\n <k8s-general>ACKContainerLimits</k8s-general>\\n <k8s-general>ACKExternalIPs</k8s-general>\\n <k8s-general>ACKImageDigests</k8s-general>\\n <k8s-general>ACKRequiredLabels</k8s-general>\\n <k8s-general>ACKRequiredProbes</k8s-general>\\n <k8s-general>ACKAllowedRepos</k8s-general>\\n <psp>ACKPSPAllowPrivilegeEscalationContainer</psp>\\n <psp>ACKPSPAllowedUsers</psp>\\n <psp>ACKPSPAppArmor</psp>\\n <psp>ACKPSPCapabilities</psp>\\n <psp>ACKPSPFSGroup</psp>\\n <psp>ACKPSPFlexVolumes</psp>\\n <psp>ACKPSPForbiddenSysctls</psp>\\n <psp>ACKPSPHostFilesystem</psp>\\n <psp>ACKPSPHostNamespace</psp>\\n <psp>ACKPSPHostNetworkingPorts</psp>\\n <psp>ACKPSPPrivilegedContainer</psp>\\n <psp>ACKPSPProcMount</psp>\\n <psp>ACKPSPReadOnlyRootFilesystem</psp>\\n <psp>ACKPSPSELinuxV2</psp>\\n <psp>ACKPSPSeccomp</psp>\\n <psp>ACKPSPVolumeTypes</psp>\\n</DescribePoliciesResponse>","errorExample":""}]', + 'title' => 'DescribePolicies', + ], + 'DescribePolicyDetails' => [ + 'summary' => 'Queries the detailed information about a policy. The information includes the content, action, and severity level of the policy. Container Service for Kubernetes (ACK) provides the following types of predefined security policies: Compliance, Infra, K8s-general, and pod security policy (PSP). These policies ensure that containers are running in the production environment in a secure manner.', + 'path' => '/policies/{policy_name}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'policy_name', + 'in' => 'path', + 'schema' => [ + 'title' => '策略治理规则名称', + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ACKAllowedRepos', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '策略治理规则名称', + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'example' => 'ACKAllowedRepos', + ], + 'category' => [ + 'title' => '规则模板类型', + 'description' => 'The type of the policy.'."\n", + 'type' => 'string', + 'example' => 'k8s-general', + ], + 'description' => [ + 'title' => '规则模板描述', + 'description' => 'The description of the policy.'."\n", + 'type' => 'string', + 'example' => 'Requires container images to begin with a repo string from a specified list', + ], + 'action' => [ + 'title' => '规则治理动作 ● enforce: 拦截违规部署 ● inform:告警', + 'description' => 'The action of the policy. Valid values:'."\n" + ."\n" + .'* `enforce`: blocks deployments that match the policy.'."\n" + .'* `inform`: generates alerts for deployments that match the policy.'."\n", + 'type' => 'string', + 'example' => 'enforce', + ], + 'severity' => [ + 'title' => '规则治理等级', + 'description' => 'The severity level of the policy. Valid values:'."\n" + ."\n" + .'* `high`'."\n" + .'* `medium`'."\n" + .'* `low`'."\n", + 'type' => 'string', + 'example' => 'high', + ], + 'template' => [ + 'title' => '规则模板详情', + 'description' => 'The content of the policy.'."\n", + 'type' => 'string', + 'example' => 'For more information, see sample requests.', + ], + 'no_config' => [ + 'title' => '是否需要配置策略: 0表示需要参数配置 1表示无需参数配置', + 'description' => 'Indicates whether parameters are required. Valid values:'."\n" + ."\n" + .'* 0: Parameters are required.'."\n" + .'* 1: Parameters are optional.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'is_deleted' => [ + 'title' => '软删除标志:0表示未删除 1表示删除', + 'description' => 'Indicates whether the policy is deleted. Valid values:'."\n" + ."\n" + .'* 0: The policy is not deleted.'."\n" + .'* 1: The policy is deleted.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"name\\": \\"ACKAllowedRepos\\",\\n \\"category\\": \\"k8s-general\\",\\n \\"description\\": \\"Requires container images to begin with a repo string from a specified list\\",\\n \\"action\\": \\"enforce\\",\\n \\"severity\\": \\"high\\",\\n \\"template\\": \\"详情请参见请求示例\\",\\n \\"no_config\\": 0,\\n \\"is_deleted\\": 0\\n}","errorExample":""},{"type":"xml","example":"<DescribePolicyDetailsResponse>\\n <name>ACKAllowedRepos</name>\\n <category>k8s-general</category>\\n <description>Requires container images to begin with a repo string from a specified list</description>\\n <action>enforce</action>\\n <severity>high</severity>\\n <template>详情请参见请求示例</template>\\n <no_config>0</no_config>\\n <is_deleted>0</is_deleted>\\n</DescribePolicyDetailsResponse>","errorExample":""}]', + 'title' => 'DescribePolicyDetails', + ], + 'DescribePolicyGovernanceInCluster' => [ + 'summary' => 'Container Service for Kubernetes (ACK) clusters offer a variety of built-in container security policies, such as Compliance, Infra, K8s-general, and pod security policy (PSP). You can use these policies to ensure the security of containers running in a production environment. You can call the DescribePolicyGovernanceInCluster operation to query the details of policies for an ACK cluster. For example, you can query the number of policies that are enabled per severity level, the audit logs of policies, and the blocking and alerting information.', + 'path' => '/clusters/{cluster_id}/policygovernance', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'on_state' => [ + 'title' => '当前集群中开启的不同等级策略计数统计', + 'description' => 'Details about the policies of different severity levels that are enabled for the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'enabled_count' => [ + 'title' => '当前开启的策略种类计数', + 'description' => 'The number of policies that are enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'total' => [ + 'title' => '该等级下策略种类总数', + 'description' => 'The total number of policies of the severity level.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'severity' => [ + 'title' => '策略治理等级', + 'description' => 'The severity level of the policy.'."\n", + 'type' => 'string', + 'example' => 'high', + ], + ], + ], + ], + 'admit_log' => [ + 'title' => '集群当前策略治理审计日志', + 'description' => 'The audit logs of the policies in the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'progress' => [ + 'title' => '查询结果的状态', + 'description' => 'The status of the query. Valid values:'."\n" + ."\n" + .'* `Complete`: The query succeeded and the complete query result is returned.'."\n" + .'* `Incomplete`: The query succeeded but the query result is incomplete. To obtain the complete query result, you must repeat the request.'."\n", + 'type' => 'string', + 'example' => 'Complete', + ], + 'count' => [ + 'title' => '当前查询到的日志总数', + 'description' => 'The number of audit log entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'logs' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'type' => 'string', + ], + 'constraint_action' => [ + 'type' => 'string', + ], + 'constraint_api_version' => [ + 'type' => 'string', + ], + 'constraint_category' => [ + 'type' => 'string', + ], + 'constraint_group' => [ + 'type' => 'string', + ], + 'constraint_kind' => [ + 'type' => 'string', + ], + 'constraint_name' => [ + 'type' => 'string', + ], + 'event_msg' => [ + 'type' => 'string', + ], + 'event_type' => [ + 'type' => 'string', + ], + 'request_uid' => [ + 'type' => 'string', + ], + 'request_userinfo' => [ + 'type' => 'string', + ], + 'request_username' => [ + 'type' => 'string', + ], + 'resource_kind' => [ + 'type' => 'string', + ], + 'resource_name' => [ + 'type' => 'string', + ], + 'time' => [ + 'type' => 'string', + ], + ], + ], + ], + 'log_project' => [ + 'type' => 'string', + ], + 'log_store' => [ + 'type' => 'string', + ], + ], + ], + 'Violation' => [ + 'type' => 'object', + 'properties' => [ + 'totalViolations' => [ + 'type' => 'object', + 'properties' => [ + 'deny' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'severity' => [ + 'type' => 'string', + ], + 'violations' => [ + 'type' => 'string', + ], + ], + ], + ], + 'warn' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'severity' => [ + 'type' => 'string', + ], + 'violations' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + ], + ], + ], + ], + ], + 'violations' => [ + 'type' => 'object', + 'properties' => [ + 'deny' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'policyDescription' => [ + 'type' => 'string', + ], + 'policyName' => [ + 'type' => 'string', + ], + 'severity' => [ + 'type' => 'string', + ], + 'violations' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + ], + ], + ], + 'warn' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'policyDescription' => [ + 'type' => 'string', + ], + 'policyName' => [ + 'type' => 'string', + ], + 'severity' => [ + 'type' => 'string', + ], + 'violations' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"on_state\\": [\\n {\\n \\"enabled_count\\": 3,\\n \\"total\\": 8,\\n \\"severity\\": \\"high\\"\\n }\\n ],\\n \\"admit_log\\": {\\n \\"progress\\": \\"Complete\\",\\n \\"count\\": 100,\\n \\"logs\\": [\\n {\\n \\"cluster_id\\": \\"hash code\\",\\n \\"constraint_action\\": \\"deny\\",\\n \\"constraint_api_version\\": \\"v1beta1\\",\\n \\"constraint_category\\": \\"cis-k8s\\",\\n \\"constraint_group\\": \\"constraints.gatekeeper.sh\\",\\n \\"constraint_kind\\": \\"ACKNamespacesDeleteProtection\\",\\n \\"constraint_name\\": \\"namespace-delete-protection-jpjwv\\",\\n \\"event_msg\\": \\"Admission webhook \\\\\\\\\\\\\\"validation.gatekeeper.sh\\\\\\\\\\\\\\" denied request, Resource Namespace: , Constraint: namespace-delete-protection-jpjwv, Message: not allow to delete protection namespace test.\\",\\n \\"event_type\\": \\"violation\\",\\n \\"request_uid\\": \\"hash code\\",\\n \\"request_userinfo\\": \\"account id\\",\\n \\"request_username\\": \\"account user name\\\\n\\",\\n \\"resource_kind\\": \\"Namespace\\",\\n \\"resource_name\\": \\"test\\",\\n \\"time\\": \\"2025-10-27T11:31:40Z\\"\\n }\\n ],\\n \\"log_project\\": \\"k8s-log-clusterid\\",\\n \\"log_store\\": \\"policyadmit-clusterid\\"\\n },\\n \\"Violation\\": {\\n \\"totalViolations\\": {\\n \\"deny\\": [\\n {\\n \\"severity\\": \\"medium\\",\\n \\"violations\\": \\"2\\"\\n }\\n ],\\n \\"warn\\": [\\n {\\n \\"severity\\": \\"high\\",\\n \\"violations\\": 0\\n }\\n ]\\n },\\n \\"violations\\": {\\n \\"deny\\": [\\n {\\n \\"policyDescription\\": \\"Prevent specific namespaces from being deleted.\\",\\n \\"policyName\\": \\"ACKNamespacesDeleteProtection\\",\\n \\"severity\\": \\"medium\\",\\n \\"violations\\": 1\\n }\\n ],\\n \\"warn\\": [\\n {\\n \\"policyDescription\\": \\"\\",\\n \\"policyName\\": \\"\\",\\n \\"severity\\": \\"\\",\\n \\"violations\\": 0\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePolicyGovernanceInClusterResponse>\\n <on_state>\\n <enabled_count>0</enabled_count>\\n <total>14</total>\\n <severity>low</severity>\\n </on_state>\\n <on_state>\\n <enabled_count>2</enabled_count>\\n <total>13</total>\\n <severity>high</severity>\\n </on_state>\\n <on_state>\\n <enabled_count>1</enabled_count>\\n <total>8</total>\\n <severity>medium</severity>\\n </on_state>\\n <admit_log>\\n <progress>Complete</progress>\\n <count>75</count>\\n <log>\\n <__source__>192.168.0.188</__source__>\\n <__tag__:__hostname__>iZwz98e621h0kvki3ja****</__tag__:__hostname__>\\n <__tag__:__pack_id__>63DE8FD17599E86****</__tag__:__pack_id__>\\n <__tag__:__path__>/policy_admit_logs/gatekeeper_admit.log</__tag__:__path__>\\n <__tag__:__receive_time__>1631168040</__tag__:__receive_time__>\\n <__tag__:__user_defined_id__>k8s-group-cb36d98a701ef4742b50603866809****</__tag__:__user_defined_id__>\\n <__tag__:_container_ip_>10.102.0.89</__tag__:_container_ip_>\\n <__tag__:_container_name_>manager</__tag__:_container_name_>\\n <__tag__:_image_name_>registry-vpc.cn-shenzhen.aliyuncs.com/acs/gatekeeper:v3.6.0.60-g72c4896-aliyun</__tag__:_image_name_>\\n <__tag__:_namespace_>kube-system</__tag__:_namespace_>\\n <__tag__:_node_ip_>192.168.0.188</__tag__:_node_ip_>\\n <__tag__:_node_name_>cn-shenzhen.192.168.XX.XX</__tag__:_node_name_>\\n <__tag__:_pod_name_>gatekeeper-7648f64cc8-27nd4</__tag__:_pod_name_>\\n <__tag__:_pod_uid_>11083b05-eecd-454c-8d22-81c83ce1****</__tag__:_pod_uid_>\\n <__time__>1631168037</__time__>\\n <__topic__/>\\n <cluster_id>cb36d98a701ef4742b50603866809****</cluster_id>\\n <constraint_action>deny</constraint_action>\\n <constraint_api_version>v1beta1</constraint_api_version>\\n <constraint_group>constraints.gatekeeper.sh</constraint_group>\\n <constraint_kind>ACKAllowedRepos</constraint_kind>\\n <constraint_name>allowed-repos-80970511-c93d-4c40-b692-be18c077****</constraint_name>\\n <event_msg>Admission webhook \\"validation.gatekeeper.sh\\" denied request, Resource Namespace: default, Constraint: allowed-repos-80970511-c93d-4c40-b692-be18c0770382, Message: container <nginx> has an invalid image repo <nginx:1.7.9>, allowed repos are [\\"registry.cn-shanghai.aliyuncs.com/acs/\\", \\"registry.cn-hangzhou.aliyuncs.com/acs/\\"]</event_msg>\\n <event_reason>GatekeeperFailedAdmission</event_reason>\\n <event_type>violation</event_type>\\n <level>info</level>\\n <logger>ack_policy_admit_log_for_sls</logger>\\n <msg>container <nginx> has an invalid image repo <nginx:1.7.9>, allowed repos are [\\"registry.cn-shanghai.aliyuncs.com/acs/\\", \\"registry.cn-hangzhou.aliyuncs.com/acs/\\"]</msg>\\n <process>admission</process>\\n <request_uid>9db8f008-c2e8-4723-a380-18ef358c2827</request_uid>\\n <request_username>system:serviceaccount:kube-system:replicaset-controller</request_username>\\n <resource_api_version>v1</resource_api_version>\\n <resource_group/>\\n <resource_kind>Pod</resource_kind>\\n <resource_name>nginx-deployment-basic2-84ccb74bfc-df22p</resource_name>\\n <resource_namespace>default</resource_namespace>\\n <time>2021-09-09T06:13:57Z</time>\\n <ts>1631168037.444757</ts>\\n </log>\\n <log>\\n <__source__>192.168.XX.XX</__source__>\\n </log>\\n </admit_log>\\n <Violation>\\n <totalViolations>\\n <deny>\\n <severity>high</severity>\\n <violations>75</violations>\\n </deny>\\n <deny>\\n <severity>medium</severity>\\n <violations>0</violations>\\n </deny>\\n <warn>\\n <severity>high</severity>\\n <violations>0</violations>\\n </warn>\\n <warn>\\n <severity>medium</severity>\\n <violations>0</violations>\\n </warn>\\n </totalViolations>\\n <violations>\\n <deny>\\n <policyName>policy-gatekeeper-ackallowedrepos</policyName>\\n <policyDescription>Requires container images to begin with a repo string from a specified list.</policyDescription>\\n <severity>high</severity>\\n <violations>11</violations>\\n </deny>\\n <deny>\\n <policyName>policy-gatekeeper-ackpspcapabilities</policyName>\\n <policyDescription>Controls Linux capabilities.</policyDescription>\\n <severity>high</severity>\\n <violations>81</violations>\\n </deny>\\n </violations>\\n </Violation>\\n</DescribePolicyGovernanceInClusterResponse>","errorExample":""}]', + 'title' => 'DescribePolicyGovernanceInCluster', + ], + 'DescribePolicyInstances' => [ + 'summary' => 'Queries the detailed information about policy instances of the specified type in a Container Service for Kubernetes (ACK) cluster, such as the policy description and severity level. You can choose a type of security policy for an ACK cluster, specify the action and applicable scope of the policy, and then create and deploy a policy instance.', + 'path' => '/clusters/{cluster_id}/policies', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '104729', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'policy_name', + 'in' => 'query', + 'schema' => [ + 'title' => '策略类型', + 'description' => 'The name of the policy that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ACKPSPCapabilities', + ], + ], + [ + 'name' => 'instance_name', + 'in' => 'query', + 'schema' => [ + 'title' => '策略实例名称', + 'description' => 'The name of the policy instance that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'allowed-repos-cz4s2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '策略实例列表', + 'description' => 'A list of policy instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The policy instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'ali_uid' => [ + 'title' => '策略实例实施者UID', + 'description' => 'The UID of the Alibaba Cloud account that is used to deploy the policy instance.'."\n", + 'type' => 'string', + 'example' => '16298168****', + ], + 'cluster_id' => [ + 'title' => '目标集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c8155823d057948c69a****', + ], + 'instance_name' => [ + 'title' => '规则实例名称', + 'description' => 'The name of the policy instance.'."\n", + 'type' => 'string', + 'example' => 'no-env-var-secrets-****', + ], + 'policy_name' => [ + 'title' => '策略治理规则名称', + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'example' => 'ACKPSPCapabilities', + ], + 'policy_category' => [ + 'title' => '策略类型名称', + 'description' => 'The type of the policy.'."\n", + 'type' => 'string', + 'example' => 'k8s-general', + ], + 'policy_description' => [ + 'title' => '规则模板描述', + 'description' => 'The description of the policy template.'."\n", + 'type' => 'string', + 'example' => 'Restricts secrets used in pod envs', + ], + 'policy_parameters' => [ + 'title' => '当前规则实例的配置参数', + 'description' => 'The parameters of the policy instance.'."\n", + 'type' => 'string', + 'example' => '"restrictedNamespaces": [ "test" ]', + ], + 'policy_severity' => [ + 'title' => '规则实例治理等级', + 'description' => 'The severity level of the policy instance.'."\n", + 'type' => 'string', + 'example' => 'low', + ], + 'policy_scope' => [ + 'title' => '策略实例实施范围: 默认"*"代表集群所有ns 否则返回作用namespaces名称,多个namespaces以逗号分隔', + 'description' => 'The applicable scope of the policy instance.'."\n" + ."\n" + .'A value of \\* indicates all namespaces in the cluster. This is the default value.'."\n" + ."\n" + .'Multiple namespaces are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => '*', + ], + 'policy_action' => [ + 'title' => '规则治理动作 deny: 拦截违规部署 warn:告警', + 'description' => 'The action of the policy. Valid values:'."\n" + ."\n" + .'* `deny`: Deployments that match the policy are denied.'."\n" + .'* `warn`: Alerts are generated for deployments that match the policy.'."\n", + 'type' => 'string', + 'example' => 'deny', + ], + 'Created' => [ + 'title' => '创建时间', + 'description' => 'The creation time of the instance. This parameter is deprecated.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => '2024-10-29T18:09:12+08:00', + ], + 'Updated' => [ + 'title' => '更新时间', + 'description' => 'The update time of the instance. This parameter is deprecated.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => '2024-10-29T18:09:12+08:00', + ], + 'resource_id' => [ + 'title' => '资源ID', + 'description' => 'The ID of the resource. This parameter is deprecated.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'example' => '123456***', + ], + 'total_violations' => [ + 'title' => '集群中处理违规计数', + 'description' => 'The number of violations processed in the cluster. This parameter is deprecated.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '0', + 'default' => '0', + ], + 'is_deleted' => [ + 'title' => '删除状态', + 'description' => 'The status of the deletion. This parameter is deprecated.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'example' => '0', + 'default' => '0', + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"ali_uid\\": \\"16298168****\\",\\n \\"cluster_id\\": \\"c8155823d057948c69a****\\",\\n \\"instance_name\\": \\"no-env-var-secrets-****\\",\\n \\"policy_name\\": \\"ACKPSPCapabilities\\",\\n \\"policy_category\\": \\"k8s-general\\",\\n \\"policy_description\\": \\"Restricts secrets used in pod envs\\",\\n \\"policy_parameters\\": \\"\\\\\\"restrictedNamespaces\\\\\\": [ \\\\\\"test\\\\\\" ]\\",\\n \\"policy_severity\\": \\"low\\",\\n \\"policy_scope\\": \\"*\\",\\n \\"policy_action\\": \\"deny\\",\\n \\"Created\\": \\"2024-10-29T18:09:12+08:00\\",\\n \\"Updated\\": \\"2024-10-29T18:09:12+08:00\\",\\n \\"resource_id\\": \\"123456***\\",\\n \\"total_violations\\": 0,\\n \\"is_deleted\\": 0\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribePolicyInstancesResponse>\\n <ali_uid>16298168****</ali_uid>\\n <cluster_id>c8155823d057948c69a****</cluster_id>\\n <instance_name>no-env-var-secrets-****</instance_name>\\n <policy_name>ACKPSPCapabilities</policy_name>\\n <policy_category>k8s-general</policy_category>\\n <policy_description>Restricts secrets used in pod envs</policy_description>\\n <policy_parameters>\\"restrictedNamespaces\\": [ \\"test\\" ]</policy_parameters>\\n <policy_severity>low</policy_severity>\\n <policy_scope>*</policy_scope>\\n <policy_action>deny</policy_action>\\n</DescribePolicyInstancesResponse>","errorExample":""}]', + 'title' => 'DescribePolicyInstances', + 'translator' => 'machine', + ], + 'DescribePolicyInstancesStatus' => [ + 'summary' => 'Queries the deployment of policy instances in the current Container Service for Kubernetes (ACK) cluster, including the number of policy instances of each type and the number of policy types of each severity level.', + 'path' => '/clusters/{cluster_id}/policies/status', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '目标集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c8155823d057948c69a****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'policy_instances' => [ + 'title' => '不同策略类型下的策略实例计数列表', + 'description' => 'The number of policy instances of each policy type.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'policy_category' => [ + 'description' => 'The type of the policy. For more information about different types of policies and their descriptions, see [Predefined security policies of ACK](~~359819~~).'."\n", + 'type' => 'string', + 'example' => 'compliance', + ], + 'policy_name' => [ + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'example' => 'ACKRestrictRoleBindings', + ], + 'policy_description' => [ + 'description' => 'The description of the policy.'."\n", + 'type' => 'string', + 'example' => 'Restricts use of the cluster-admin role.', + ], + 'policy_severity' => [ + 'description' => 'The severity level of the policy.'."\n", + 'type' => 'string', + 'example' => 'medium', + ], + 'policy_instances_count' => [ + 'description' => 'The number of policy instances that are deployed. If this parameter is empty, no policy instance is deployed.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + 'description' => '', + ], + ], + 'instances_severity_count' => [ + 'description' => 'The number of policy instances that are deployed in the cluster at different severity levels.'."\n", + 'type' => 'object', + 'example' => '{ "high": 11, "medium": 1 }', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"policy_instances\\": [\\n {\\n \\"policy_category\\": \\"compliance\\",\\n \\"policy_name\\": \\"ACKRestrictRoleBindings\\",\\n \\"policy_description\\": \\"Restricts use of the cluster-admin role.\\",\\n \\"policy_severity\\": \\"medium\\",\\n \\"policy_instances_count\\": 1\\n }\\n ],\\n \\"instances_severity_count\\": {\\n \\"high\\": 11,\\n \\"medium\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePolicyInstancesStatusResponse>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKBlockNodePort</policy_name>\\n <policy_description>Disallows all Services with type NodePort.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKExternalIPs</policy_name>\\n <policy_description>Restricts Services from containing externalIPs except those in a provided allowlist.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPHostNamespace</policy_name>\\n <policy_description>Controls usage of host namespaces.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPReadOnlyRootFilesystem</policy_name>\\n <policy_description>Requires the use of a read only root file system.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPVolumeTypes</policy_name>\\n <policy_description>Controls usage of volume types.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>infra</policy_category>\\n <policy_name>ACKOSSStorageLocationConstraint</policy_name>\\n <policy_description>Restricts location of oss storage in cluster.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKBlockAutoinjectServiceEnv</policy_name>\\n <policy_description>Disable autoinjecting information about services into pod\'s environment variables.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKImageDigests</policy_name>\\n <policy_description>Requires container images to contain a digest.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPAllowedUsers</policy_name>\\n <policy_description>Controls the user and group IDs of the container.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPHostFilesystem</policy_name>\\n <policy_description>Controls usage of the host filesystem.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>infra</policy_category>\\n <policy_name>ACKBlockProcessNamespaceSharing</policy_name>\\n <policy_description>Restricts shareProcessNamespace used in pod.</policy_description>\\n <policy_severity>high</policy_severity>\\n <policy_instances_count>2</policy_instances_count>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPCapabilities</policy_name>\\n <policy_description>Controls Linux capabilities.</policy_description>\\n <policy_severity>high</policy_severity>\\n <policy_instances_count>5</policy_instances_count>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPForbiddenSysctls</policy_name>\\n <policy_description>Controls the `sysctl` profile used by containers.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPSeccomp</policy_name>\\n <policy_description>Controls the seccomp profile used by containers.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKBlockLoadBalancer</policy_name>\\n <policy_description>Disallows all Services with type LoadBalancer.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPAppArmor</policy_name>\\n <policy_description>Controls the AppArmor profile used by containers.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPPrivilegedContainer</policy_name>\\n <policy_description>Controls running of privileged containers.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPProcMount</policy_name>\\n <policy_description>Controls the allowed `procMount` types for the container.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPSELinuxV2</policy_name>\\n <policy_description>Controls the SELinux context of the container.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>infra</policy_category>\\n <policy_name>ACKEmptyDirHasSizeLimit</policy_name>\\n <policy_description>Requires that emptydir volume must have a `sizelimit` defined.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPAllowPrivilegeEscalationContainer</policy_name>\\n <policy_description>Controls restricting escalation to root privileges.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPFSGroup</policy_name>\\n <policy_description>Controls allocating an FSGroup that owns the Pod\'s volumes.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>cis-k8s</policy_category>\\n <policy_name>ACKPodsRequireSecurityContext</policy_name>\\n <policy_description>Requires that Pods must have a `securityContext` defined.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>cis-k8s</policy_category>\\n <policy_name>ACKRestrictNamespaces</policy_name>\\n <policy_description>Restricts resources from using the `default` namespace.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKContainerLimits</policy_name>\\n <policy_description>Requires containers to have memory and CPU limits set and within a specified maximum amount.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPHostNetworkingPorts</policy_name>\\n <policy_description>Controls usage of host networking and ports.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKBlockAutomountToken</policy_name>\\n <policy_description>Disable automounting API credentials.</policy_description>\\n <policy_severity>high</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKRequiredLabels</policy_name>\\n <policy_description>Requires all resources to contain a specified label with a value matching a provided regular expression.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>psp</policy_category>\\n <policy_name>ACKPSPFlexVolumes</policy_name>\\n <policy_description>Controls the allowlist of Flexvolume drivers.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKAllowedRepos</policy_name>\\n <policy_description>Requires container images to begin with a repo string from a specified list.</policy_description>\\n <policy_severity>high</policy_severity>\\n <policy_instances_count>4</policy_instances_count>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>cis-k8s</policy_category>\\n <policy_name>ACKNoEnvVarSecrets</policy_name>\\n <policy_description>Restricts secrets used in pod envs.</policy_description>\\n <policy_severity>medium</policy_severity>\\n <policy_instances_count>1</policy_instances_count>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>cis-k8s</policy_category>\\n <policy_name>ACKRestrictRoleBindings</policy_name>\\n <policy_description>Restricts use of the cluster-admin role.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>infra</policy_category>\\n <policy_name>ACKLocalStorageRequireSafeToEvict</policy_name>\\n <policy_description>Restricts safe to evict annotation existing in pod with local storage.</policy_description>\\n <policy_severity>low</policy_severity>\\n </policy_instances>\\n <policy_instances>\\n <policy_category>k8s-general</policy_category>\\n <policy_name>ACKRequiredProbes</policy_name>\\n <policy_description>Requires Pods to have readiness and/or liveness probes.</policy_description>\\n <policy_severity>medium</policy_severity>\\n </policy_instances>\\n <instances_severity_count>\\n <high>11</high>\\n <medium>1</medium>\\n </instances_severity_count>\\n</DescribePolicyInstancesStatusResponse>","errorExample":""}]', + 'title' => 'DescribePolicyInstancesStatus', + ], + 'RunClusterCheck' => [ + 'summary' => 'Container Intelligence Service (CIS) provides a variety of cluster check capabilities to allow you to perform cluster update check, cluster migration check, component installation check, component update check, and node pool check. A precheck is automatically triggered before an update, migration, or installation is performed. You can perform changes only if the cluster passes the precheck. You can also manually call the RunClusterCheck operation to initiate cluster checks. We recommend that you periodically check and maintain your cluster to mitigate potential risks.', + 'path' => '/clusters/{cluster_id}/checks', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197074', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'title' => '检查类型。', + 'description' => 'The check type.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* ClusterMigrate: cluster migration.'."\n" + .'* MasterUpgrade: control plane upgrade.'."\n" + .'* NodePoolUpgrade: node pool upgrade.'."\n" + .'* ClusterUpgrade: cluster upgrade.'."\n", + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'ClusterMigrate' => 'cluster migration', + 'MasterUpgrade' => 'control plane upgrade', + 'NodePoolUpgrade' => 'node pool upgrade', + 'ClusterUpgrade' => 'cluster upgrade', + ], + 'example' => 'ClusterUpgrade', + ], + 'target' => [ + 'title' => '检查的对象。', + 'description' => 'The check target.'."\n" + ."\n" + .'If you set `type=NodePoolUpgrade`, you must set this parameter to the node pool ID. Otherwise, this parameter is optional.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'np1f6779297c4444a3a1cdd29be8e5****', + ], + 'options' => [ + 'title' => '检查选项。', + 'description' => 'The cluster check parameters.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'A cluster check parameter.'."\n", + 'example' => 'next_version', + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F04DF81D-5C12-1524-B36A-86E02526****', + ], + 'check_id' => [ + 'title' => '检查ID。', + 'description' => 'The ID of the cluster check task.'."\n", + 'type' => 'string', + 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"F04DF81D-5C12-1524-B36A-86E025******\\",\\n \\"check_id\\": \\"1697100584236******-ce0da5a1d627e4e9e9f96cae8ad******-clustercheck-lboto\\"\\n}","type":"json"}]', + 'title' => 'RunClusterCheck', + ], + 'ListClusterChecks' => [ + 'summary' => 'You can call the ListClusterChecks operation to query all the cluster check results of a cluster.', + 'path' => '/clusters/{cluster_id}/checks', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197075', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', + ], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => [ + 'title' => '检查类型。', + 'description' => 'The check method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ClusterUpgrade', + ], + ], + [ + 'name' => 'target', + 'in' => 'query', + 'schema' => [ + 'title' => '筛选指定的检查对象。', + 'description' => 'The targets to check.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp19ay6nnvd4cexxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'checks' => [ + 'title' => '检查列表。', + 'description' => 'The list of check items.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'check_id' => [ + 'title' => '检查ID。', + 'description' => 'The ID of the cluster check task.'."\n", + 'type' => 'string', + 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto', + ], + 'type' => [ + 'title' => '检查类型。', + 'description' => 'The check method.'."\n", + 'type' => 'string', + 'example' => 'ClusterUpgrade', + ], + 'status' => [ + 'title' => '检查状态。', + 'description' => 'The status of the cluster check.'."\n", + 'type' => 'string', + 'example' => 'Succeeded', + ], + 'message' => [ + 'title' => '检查状态信息。', + 'description' => 'The message that indicates the status of the cluster check task.'."\n", + 'type' => 'string', + 'example' => 'task succeed', + ], + 'created_at' => [ + 'title' => '创建时间。', + 'description' => 'The time when the cluster check task was created.'."\n", + 'type' => 'string', + 'example' => '2023-10-16T08:31:20.292030178Z', + ], + 'finished_at' => [ + 'title' => '完成时间。', + 'description' => 'The time when the cluster check task was completed.'."\n", + 'type' => 'string', + 'example' => '2023-10-16T08:35:20.292030178Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"checks\\": [\\n {\\n \\"check_id\\": \\"1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto\\",\\n \\"type\\": \\"ClusterUpgrade\\",\\n \\"status\\": \\"Succeeded\\",\\n \\"message\\": \\"task succeed\\",\\n \\"created_at\\": \\"2025-04-11T02:56:02.565982623Z\\",\\n \\"finished_at\\": \\"2025-04-11T02:56:18.881054031Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListClusterChecks', + ], + 'GetClusterCheck' => [ + 'summary' => 'Queries a cluster check task by cluster ID and task ID. You can view the status, check items, creation time, and end time of the task. Container Intelligence Service (CIS) provides a variety of Kubernetes cluster check features, including cluster update check, cluster migration check, component installation check, component update check, and node pool check.', + 'path' => '/clusters/{cluster_id}/checks/{check_id}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197076', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', + ], + ], + [ + 'name' => 'check_id', + 'in' => 'path', + 'schema' => [ + 'title' => '检查ID。', + 'description' => 'The ID of the cluster check task. You can call the [RunClusterCheck](~~2667902~~) operation to obtain the check_id.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'check_id' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the cluster check task.'."\n", + 'type' => 'string', + 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto', + ], + 'type' => [ + 'title' => '检查类型。', + 'description' => 'The check method.'."\n", + 'type' => 'string', + 'example' => 'ClusterUpgrade', + ], + 'status' => [ + 'title' => '检查状态。', + 'description' => 'The status of the cluster check.'."\n", + 'type' => 'string', + 'example' => 'Succeeded', + ], + 'message' => [ + 'title' => '检查状态信息。', + 'description' => 'The message that indicates the status of the cluster check task.'."\n", + 'type' => 'string', + 'example' => 'task succeed', + ], + 'created_at' => [ + 'title' => '创建时间。', + 'description' => 'The time when the cluster check task was created.'."\n", + 'type' => 'string', + 'example' => '2023-10-16T08:31:20.292030178Z', + ], + 'finished_at' => [ + 'title' => '完成时间。', + 'description' => 'The time when the cluster check task was completed.'."\n", + 'type' => 'string', + 'example' => '2023-10-16T08:35:20.292030178Z', + ], + 'check_items' => [ + 'title' => '检查项。', + 'description' => 'A list of check items.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'example' => 'Name', + 'description' => 'A check item attribute.'."\n", + ], + 'description' => 'The details of a check item.'."\n", + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"check_id\\": \\"1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto\\",\\n \\"type\\": \\"ClusterUpgrade\\",\\n \\"status\\": \\"Succeeded\\",\\n \\"message\\": \\"task succeed\\",\\n \\"created_at\\": \\"2023-10-16T08:31:20.292030178Z\\",\\n \\"finished_at\\": \\"2023-10-16T08:35:20.292030178Z\\",\\n \\"check_items\\": {\\n \\"key\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetClusterCheck', + ], + 'CreateClusterInspectConfig' => [ + 'summary' => 'Configures cluster inspection.', + 'path' => '/clusters/{clusterId}/inspectConfig', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261199', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'title' => '是否开启巡检。', + 'description' => 'Specifies whether to enable cluster inspection.'."\n", + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + 'recurrence' => [ + 'title' => '使用 RFC5545 Recurrence Rule 语法定义的巡检周期。需要指定BYHOUR和BYMINUTE,仅支持FREQ=DAILY,不支持指定 COUNT 或 UNTIL。', + 'description' => 'The inspection period defined using RFC5545 Recurrence Rule. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT or UNTIL is not supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15', + ], + 'disabledCheckItems' => [ + 'title' => '被禁用的巡检项列表。', + 'description' => 'The list of disabled inspection items.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The disabled inspection item name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NginxIngressServiceAnnotationMultiTargets', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '873DC52C-28AA-5A5C-938C-684D3D4B****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]', + 'title' => 'CreateClusterInspectConfig', + ], + 'UpdateClusterInspectConfig' => [ + 'summary' => 'Modifies cluster inspection configurations.', + 'path' => '/clusters/{clusterId}/inspectConfig', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261198', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'enabled' => [ + 'description' => 'Specifies whether to enable cluster inspection.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'scheduleTime' => [ + 'description' => 'The inspection period defined using RFC5545 Recurrence Rule. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT or UNTIL is not supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15'."\n", + ], + 'disabledCheckItems' => [ + 'description' => 'The list of disabled inspection check items.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the disabled inspection check item.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NginxIngressServiceAnnotationMultiTargets', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\"\\n}","type":"json"}]', + 'title' => 'UpdateClusterInspectConfig', + ], + 'GetClusterInspectConfig' => [ + 'summary' => 'Retrieves cluster inspection configuration.', + 'path' => '/clusters/{clusterId}/inspectConfig', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261197', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B095', + ], + 'enabled' => [ + 'title' => '是否开启巡检。', + 'description' => 'Specifies whether to enable inspection.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'recurrence' => [ + 'title' => '使用 RFC5545 Recurrence Rule 语法定义的巡检周期。需要指定BYHOUR和BYMINUTE,仅支持FREQ=DAILY,不支持指定 COUNT 或 UNTIL。', + 'description' => 'The inspection schedule defined through the RFC5545 Recurrence Rule syntax. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT and UNTIL are not supported.'."\n", + 'type' => 'string', + 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15', + ], + 'disabledCheckItems' => [ + 'title' => '被禁用的巡检项列表。', + 'description' => 'The list of disabled inspection items.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A disabled inspection item.'."\n", + 'type' => 'string', + 'example' => 'NginxIngressServiceAnnotationMultiTargets', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B095\\",\\n \\"enabled\\": true,\\n \\"recurrence\\": \\"FREQ=DAILY;BYHOUR=10;BYMINUTE=15\\",\\n \\"disabledCheckItems\\": [\\n \\"NginxIngressServiceAnnotationMultiTargets\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetClusterInspectConfig', + ], + 'RunClusterInspect' => [ + 'summary' => 'Triggers a cluster inspection and generates a report.', + 'path' => '/clusters/{clusterId}/inspectReports', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261190', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'clientToken' => [ + 'title' => '幂等Token。', + 'description' => 'The idempotency token that ensures an API request completes no more than one time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'reportId' => [ + 'title' => '巡检报告ID。', + 'description' => 'The inspection report ID.'."\n", + 'type' => 'string', + 'example' => '5d6557c983064c45bed62ab2a2119cc7', + ], + 'taskId' => [ + 'title' => '巡检任务ID。', + 'description' => 'The inspection task ID.'."\n", + 'type' => 'string', + 'example' => 'T-67d7ec016ce37c0106000***', + ], + 'requestId' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AB4D067-4DD7-5471-B90A-FCC564BC3337', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"reportId\\": \\"5d6557c983064c45bed62ab2a2119cc7\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"requestId\\": \\"0AB4D067-4DD7-5471-B90A-FCC564BC3337\\"\\n}","type":"json"}]', + 'title' => 'RunClusterInspect', + ], + 'ListClusterInspectReports' => [ + 'summary' => 'Obtains the details of the cluster inspection report.', + 'path' => '/clusters/{clusterId}/inspectReports', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261195', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + 'FEATUREcskI1OLEY', + 'FEATUREcskZG2TSX', + 'FEATUREcskDGKERY', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AK8uQQrxgFKsI3OiS5TbhUQ9R3kPme4I3', + ], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of returned results. Maximum value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', + ], + 'nextToken' => [ + 'title' => '分页Token。', + 'description' => 'The pagination token.'."\n", + 'type' => 'string', + 'example' => '405b99e5411f9a4e7148506e45', + ], + 'reports' => [ + 'title' => '巡检报告。', + 'description' => 'The list of inspection reports.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'reportId' => [ + 'title' => '巡检报告ID。', + 'description' => 'An inspection report ID.'."\n", + 'type' => 'string', + 'example' => '782df89346054a0000562063a6****', + ], + 'startTime' => [ + 'description' => 'The report start time.'."\n", + 'type' => 'string', + 'example' => '2024-12-18T19:40:16.778333+08:00', + ], + 'endTime' => [ + 'description' => 'The report completion time.'."\n", + 'type' => 'string', + 'example' => '2024-12-18T19:40:16.778333+08:00', + ], + 'status' => [ + 'title' => '巡检报告生成状态。', + 'description' => 'The inspection report status.'."\n", + 'type' => 'string', + 'example' => 'completed', + ], + 'summary' => [ + 'title' => '巡检报告概览。', + 'description' => 'The inspection summary.'."\n", + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'title' => '检查任务结果状态code。', + 'description' => 'Aggregated inspection task result code.'."\n", + 'type' => 'string', + 'example' => 'warning', + ], + 'normalCount' => [ + 'title' => '检查结果为normal的检查项统计。', + 'description' => 'The number of items whose result is normal.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'adviceCount' => [ + 'title' => '检查结果为advice的检查项统计。', + 'description' => 'The number of items whose result is advice.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'warnCount' => [ + 'title' => '检查结果为warning的检查项统计。', + 'description' => 'The number of items whose result is warning.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'errorCount' => [ + 'title' => '检查结果为error的检查项统计。', + 'description' => 'The number of items whose result is error.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"nextToken\\": \\"405b99e5411f9a4e7148506e45\\",\\n \\"reports\\": [\\n {\\n \\"reportId\\": \\"782df89346054a0000562063a6****\\",\\n \\"startTime\\": \\"2024-12-18T19:40:16.778333+08:00\\",\\n \\"endTime\\": \\"2024-12-18T19:40:16.778333+08:00\\",\\n \\"status\\": \\"completed\\",\\n \\"summary\\": {\\n \\"code\\": \\"warning\\",\\n \\"normalCount\\": 1,\\n \\"adviceCount\\": 0,\\n \\"warnCount\\": 0,\\n \\"errorCount\\": 0\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListClusterInspectReports', + ], + 'GetClusterInspectReportDetail' => [ + 'summary' => 'Obtain the details of the inspection report for the cluster', + 'path' => '/clusters/{clusterId}/inspectReports/{reportId}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261192', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'reportId', + 'in' => 'path', + 'schema' => [ + 'title' => '巡检报告ID。', + 'description' => 'The ID of the inspection report.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '782df89346054a0000562063a****', + ], + ], + [ + 'name' => 'language', + 'in' => 'query', + 'schema' => [ + 'title' => '查询语言。', + 'description' => 'The query language.'."\n" + ."\n" + .'* zh_CN'."\n" + .'* en_US'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh_CN', + ], + ], + [ + 'name' => 'category', + 'in' => 'query', + 'schema' => [ + 'title' => '巡检项归属领域。', + 'description' => 'The category of the inspection item. Valid values:'."\n" + ."\n" + .'* security: Security compliance'."\n" + .'* performance: Performance efficiency'."\n" + .'* stability: Business stability'."\n" + .'* limitation: Service limits'."\n" + .'* cost: Cost optimization'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cost', + ], + ], + [ + 'name' => 'targetType', + 'in' => 'query', + 'schema' => [ + 'title' => '巡检对象类型,仅返回符合targetType的检查项。', + 'description' => 'The type of the inspection object. Only items that meet the targetType parameter are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NodePool', + ], + ], + [ + 'name' => 'level', + 'in' => 'query', + 'schema' => [ + 'title' => '巡检项所属级别。', + 'description' => 'The level of the inspection item. Valid values:'."\n" + ."\n" + .'* advice: Suggestions'."\n" + .'* warning: Low severity'."\n" + .'* error: Medium severity'."\n" + .'* critical: High severity'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'error', + ], + ], + [ + 'name' => 'enableFilter', + 'in' => 'query', + 'schema' => [ + 'title' => '检查项过滤,为true仅返回result=true的异常检查项。', + 'description' => 'Inspection results filtering. If this parameter is set to true, only abnormal inspection items are returned.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The token that is used to display the returned tags on multiple pages.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bb41e2bcb47b747389dce6c0d2', + ], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries per page. Maximum value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', + ], + 'nextToken' => [ + 'description' => 'The token that is used to display the returned tags on multiple pages.'."\n", + 'type' => 'string', + 'example' => 'AK8uQQrxgFK8sbARvnCj6w9R3kPme4I3', + ], + 'reportId' => [ + 'title' => '巡检报告ID。', + 'description' => 'The ID of the inspection report.'."\n", + 'type' => 'string', + 'example' => '782df89346054a0000562063a****', + ], + 'startTime' => [ + 'description' => 'The start time of the inspection report.'."\n", + 'type' => 'string', + 'example' => '2024-12-18T19:40:16.778333+08:00', + ], + 'endTime' => [ + 'description' => 'The completion time of the inspection report.'."\n", + 'type' => 'string', + 'example' => '2024-12-18T19:41:12.778433+08:00', + ], + 'status' => [ + 'title' => '巡检报告生成状态。', + 'description' => 'The status of the inspection report. Valid values:'."\n" + ."\n" + .'* completed: The inspection report is generated.'."\n" + .'* running: The inspection report is generating.'."\n", + 'type' => 'string', + 'example' => 'completed', + ], + 'summary' => [ + 'title' => '巡检报告概览。', + 'description' => 'Overview of inspection reports.'."\n", + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'title' => '检查任务结果状态code。', + 'description' => 'Check the status code of the inspection task.'."\n", + 'type' => 'string', + 'example' => 'warning', + ], + 'normalCount' => [ + 'title' => '检查结果为normal的检查项统计。', + 'description' => 'The number of check items whose inspection result is normal.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'adviceCount' => [ + 'title' => '检查结果为advice的检查项统计。', + 'description' => 'The number of check items whose inspection result is advice.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'warnCount' => [ + 'title' => '检查结果为warning的检查项统计。', + 'description' => 'The number of check items whose inspection result is warning.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'errorCount' => [ + 'title' => '检查结果为error的检查项统计。', + 'description' => 'The number of check items whose inspection result is error.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + 'checkItemResults' => [ + 'description' => 'The results.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The inspection result.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'The name of the inspection item.'."\n", + 'type' => 'string', + 'example' => '', + ], + 'description' => [ + 'description' => 'The description of the inspection item.'."\n", + 'type' => 'string', + 'example' => '', + ], + 'fix' => [ + 'description' => 'The fixing suggestion.'."\n", + 'type' => 'string', + 'example' => '', + ], + 'targets' => [ + 'description' => 'The inspection objects.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The inspection object.'."\n", + 'type' => 'string', + 'example' => 'lb-5tstgwefjvwe1zko7xxx', + ], + ], + 'result' => [ + 'description' => 'The inspection results. Valid values:'."\n" + ."\n" + .'* true: The inspection item is abnormal.'."\n" + .'* false: The inspection item is normal.'."\n" + .'* disable: The inspection item is not enabled.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'targetType' => [ + 'description' => 'The resource type of the inspection object.'."\n", + 'type' => 'string', + 'example' => 'CLB', + ], + 'checkItemUid' => [ + 'description' => 'The unique identifier of the inspection item.'."\n", + 'type' => 'string', + 'example' => 'APIServerClbInstanceStatus', + ], + 'category' => [ + 'description' => 'The category of the inspection item. Valid values:'."\n" + ."\n" + .'* security: Security compliance'."\n" + .'* performance: Performance efficiency'."\n" + .'* stability: Business stability'."\n" + .'* limitation: Service limits'."\n" + .'* cost: Cost optimization'."\n", + 'type' => 'string', + 'example' => 'stability', + ], + 'level' => [ + 'description' => 'The level of the inspection item. Valid values:'."\n" + ."\n" + .'* advice: Suggestions'."\n" + .'* warning: Low severity'."\n" + .'* error: Medium severity'."\n" + .'* critical: High severity'."\n", + 'type' => 'string', + 'example' => 'critical', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"nextToken\\": \\"AK8uQQrxgFK8sbARvnCj6w9R3kPme4I3\\",\\n \\"reportId\\": \\"782df89346054a0000562063a****\\",\\n \\"startTime\\": \\"2024-12-18T19:40:16.778333+08:00\\",\\n \\"endTime\\": \\"2024-12-18T19:41:12.778433+08:00\\",\\n \\"status\\": \\"completed\\",\\n \\"summary\\": {\\n \\"code\\": \\"warning\\",\\n \\"normalCount\\": 10,\\n \\"adviceCount\\": 0,\\n \\"warnCount\\": 1,\\n \\"errorCount\\": 0\\n },\\n \\"checkItemResults\\": [\\n {\\n \\"name\\": \\"API Server CLB 实例状态异常\\",\\n \\"description\\": \\"集群API Server负载均衡实例异常会影响集群可用性,请检查负载均衡实例状态是否正常。\\",\\n \\"fix\\": \\"请提交工单处理。\\",\\n \\"targets\\": [\\n \\"lb-5tstgwefjvwe1zko7xxx\\"\\n ],\\n \\"result\\": \\"false\\",\\n \\"targetType\\": \\"CLB\\",\\n \\"checkItemUid\\": \\"APIServerClbInstanceStatus\\",\\n \\"category\\": \\"stability\\",\\n \\"level\\": \\"critical\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetClusterInspectReportDetail', + ], + 'DeleteClusterInspectConfig' => [ + 'summary' => 'Deletes cluster inspection configurations.', + 'path' => '/clusters/{clusterId}/inspectConfig', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261200', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '873DC52C-28AA-5A5C-938C-684D3D4B****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]', + 'title' => 'DeleteClusterInspectConfig', + ], + 'CreateClusterDiagnosis' => [ + 'summary' => 'Starts a cluster diagnostic.', + 'path' => '/clusters/{cluster_id}/diagnosis', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '211970', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'title' => '诊断类型。', + 'description' => 'The type of the diagnostic.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* node'."\n" + .'* ingress'."\n" + .'* cluster'."\n" + .'* memory'."\n" + .'* pod'."\n" + .'* service'."\n" + .'* network'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'node' => 'node', + 'ingress' => 'ingress', + 'cluster' => 'cluster', + 'memory' => 'memory', + 'pod' => 'pod', + 'service' => 'service', + 'network' => 'network', + ], + 'example' => 'node', + ], + 'target' => [ + 'title' => '用于指定诊断对象的参数。', + 'description' => 'The parameter used to specify the diagnostic object. Examples of parameters for different types of diagnostic objects:'."\n" + ."\n" + .'node:'."\n" + ."\n" + .' {"name": "cn-shanghai.10.10.10.107"}'."\n" + ."\n" + .'pod'."\n" + ."\n" + .' {"namespace": "kube-system", "name": "csi-plugin-2cg9f"}'."\n" + ."\n" + .'network'."\n" + ."\n" + .' {"src": "10.10.10.108", "dst": "10.11.247.16", "dport": "80"}'."\n" + ."\n" + .'ingress'."\n" + ."\n" + .' {"url": "https://example.com"}'."\n" + ."\n" + .'memory'."\n" + ."\n" + .' {"node":"cn-hangzhou.172.16.9.240"}'."\n" + ."\n" + .'service'."\n" + ."\n" + .' {"namespace": "kube-system", "name": "nginx-ingress-lb"}'."\n", + 'type' => 'object', + 'required' => false, + 'example' => '{"namespace": "kube-system", "name": "csi-plugin-2cg9f"}', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + 'diagnosis_id' => [ + 'title' => '诊断ID。', + 'description' => 'The diagnostic ID.'."\n", + 'type' => 'string', + 'example' => '6f719f23098240818eb26fe3a37d****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c5cdf7e3938bc4f8eb0e44b21a80f****\\",\\n \\"diagnosis_id\\": \\"6f719f23098240818eb26fe3a37d****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\"\\n}","type":"json"}]', + 'title' => 'CreateClusterDiagnosis', + ], + 'GetClusterDiagnosisResult' => [ + 'summary' => 'Queries cluster diagnostic results.', + 'path' => '/clusters/{cluster_id}/diagnosis/{diagnosis_id}/result', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '211972', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c8155823d057948c69a****', + ], + ], + [ + 'name' => 'diagnosis_id', + 'in' => 'path', + 'schema' => [ + 'title' => '诊断ID。', + 'description' => 'The diagnostic ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6f719f23098240818eb26fe3a37d****'."\n", + ], + ], + [ + 'name' => 'language', + 'in' => 'query', + 'schema' => [ + 'title' => '查询语言。', + 'description' => 'The query language.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh_CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'The code that indicates the diagnostic result. Valid values:'."\n" + ."\n" + .'* 0: the diagnostic is completed.'."\n" + .'* 1: the diagnostic failed.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'enumValueTitles' => [ + '0', + '1', + ], + 'example' => '0', + ], + 'created' => [ + 'description' => 'The time when the diagnostic is initiated.'."\n", + 'type' => 'string', + 'example' => '2024-05-28T11:29Z', + ], + 'diagnosis_id' => [ + 'description' => 'The diagnostic ID.'."\n", + 'type' => 'string', + 'example' => '6cf6b62e334e4583bdfd26707516****', + ], + 'finished' => [ + 'description' => 'The time when the diagnostic is completed.'."\n", + 'type' => 'string', + 'example' => '2024-05-28T11:29Z', + ], + 'message' => [ + 'description' => 'The diagnostic status information.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'result' => [ + 'description' => 'The diagnostic result.'."\n", + 'type' => 'string', + 'example' => '{"phase":5,"version":"20240101"}', + ], + 'status' => [ + 'description' => 'The status of the diagnostic. Valid values:'."\n" + ."\n" + .'* 0: The diagnostic is created.'."\n" + .'* 1: The diagnostic is running.'."\n" + .'* 2: The diagnostic is completed.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'enumValueTitles' => [ + '0', + '1', + '2', + ], + 'example' => '2', + ], + 'target' => [ + 'description' => 'The diagnostic object.'."\n", + 'type' => 'string', + 'example' => '{"name":"cn-hongkong.10.0.0.246"}', + ], + 'type' => [ + 'description' => 'The type of the diagnostic.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* node'."\n" + .'* ingress'."\n" + .'* cluster'."\n" + .'* memory'."\n" + .'* pod'."\n" + .'* service'."\n" + .'* network'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'node' => 'node', + 'ingress' => 'ingress', + 'cluster' => 'cluster', + 'memory' => 'memory', + 'pod' => 'pod', + 'service' => 'service', + 'network' => 'network', + ], + 'example' => 'Node', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": 0,\\n \\"created\\": \\"2024-05-28T11:29Z\\",\\n \\"diagnosis_id\\": \\"6cf6b62e334e4583bdfd26707516****\\",\\n \\"finished\\": \\"2024-05-28T11:29Z\\",\\n \\"message\\": \\"success\\",\\n \\"result\\": \\"{\\\\\\"phase\\\\\\":5,\\\\\\"version\\\\\\":\\\\\\"20240101\\\\\\"}\\",\\n \\"status\\": 2,\\n \\"target\\": \\"{\\\\\\"name\\\\\\":\\\\\\"cn-hongkong.10.0.0.246\\\\\\"}\\",\\n \\"type\\": \\"Node\\"\\n}","type":"json"}]', + 'title' => 'GetClusterDiagnosisResult', + ], + 'GetClusterDiagnosisCheckItems' => [ + 'summary' => 'Queries cluster diagnostic items.', + 'path' => '/clusters/{cluster_id}/diagnosis/{diagnosis_id}/check_items', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '212434', + 'abilityTreeNodes' => [ + 'FEATUREcskVD3FWR', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + ], + [ + 'name' => 'diagnosis_id', + 'in' => 'path', + 'schema' => [ + 'title' => '诊断ID。', + 'description' => 'The diagnostic ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6f719f23098240818eb26fe3a37d****', + ], + ], + [ + 'name' => 'language', + 'in' => 'query', + 'schema' => [ + 'title' => '查询语言。', + 'description' => 'The query language.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh_CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '1DFFD8C6-259E-582B-8B40-002C17DC****', + ], + 'code' => [ + 'description' => 'The status code.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'is_success' => [ + 'description' => 'Indicates whether the check is successful.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'check_items' => [ + 'description' => 'The check item.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'desc' => [ + 'description' => 'The description.'."\n", + 'type' => 'string', + 'example' => 'Check whether the node can access host dns service', + ], + 'display' => [ + 'description' => 'The display name.'."\n", + 'type' => 'string', + 'example' => 'HostDNS', + ], + 'group' => [ + 'description' => 'The name of the group to which the check item belongs.'."\n", + 'type' => 'string', + 'example' => 'Node', + ], + 'level' => [ + 'description' => 'The severity level of the check result.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* normal'."\n" + .'* warning'."\n" + .'* error'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'normal' => 'normal', + 'warning' => 'warning', + 'error' => 'error', + ], + 'example' => 'normal', + ], + 'message' => [ + 'description' => 'The check result.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'name' => [ + 'description' => 'The name of the check item.'."\n", + 'type' => 'string', + 'example' => 'HostDNS', + ], + 'refer' => [ + 'description' => 'The reference value.'."\n", + 'type' => 'string', + 'example' => 'True', + ], + 'value' => [ + 'description' => 'The value of the check item.'."\n", + 'type' => 'string', + 'example' => 'True', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"1DFFD8C6-259E-582B-8B40-002C17DC****\\",\\n \\"code\\": \\"success\\",\\n \\"is_success\\": true,\\n \\"check_items\\": [\\n {\\n \\"desc\\": \\"Check whether the node can access host dns service\\",\\n \\"display\\": \\"HostDNS\\",\\n \\"group\\": \\"Node\\",\\n \\"level\\": \\"normal\\",\\n \\"message\\": \\"success\\",\\n \\"name\\": \\"HostDNS\\",\\n \\"refer\\": \\"True\\",\\n \\"value\\": \\"True\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetClusterDiagnosisCheckItems', + ], + 'CreateTemplate' => [ + 'summary' => 'Creates an orchestration template. An orchestration template defines and describes a group of Kubernetes resources. It declaratively describes the configuration of an application or how an application runs. You can use orchestration templates to manage resources in Kubernetes clusters and automate resource deployment, such as pods, Services, Deployments, ConfigMaps, and persistent volumes (PVs).', + 'path' => '/templates', + 'methods' => [ + 'post', + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '8528', + 'abilityTreeNodes' => [ + 'FEATUREcskDJFO7P', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数。', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '模板名称。', + 'description' => 'The name of the orchestration template.'."\n" + ."\n" + .'The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'service-account-template', + ], + 'template' => [ + 'title' => 'YAML格式的模板内容。', + 'description' => 'The template content in the YAML format.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'apiVersion: v1\\nkind: ServiceAccount\\nmetadata:\\n name: test-sa', + ], + 'tags' => [ + 'title' => '模板标签。', + 'description' => 'The label of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'title' => '模板描述。', + 'description' => 'The description of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'this is test', + ], + 'template_type' => [ + 'title' => '模板类型。默认值:kubernetes', + 'description' => 'The template type.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If this parameter is not specified or the value is set to another value, the template is not displayed on the Orchestration Template page in the console.'."\n" + ."\n" + .'We recommend that you set the parameter to `kubernetes`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'template_id' => [ + 'title' => '模板ID。', + 'description' => 'The ID of the orchestration template.'."\n", + 'type' => 'string', + 'example' => 'ba1fe77b-b01e-4640-b77e-8f1b80e3e3cf', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"template_id\\": \\"ba1fe77b-b01e-4640-b77e-8f1b80******\\"\\n}","errorExample":""},{"type":"xml","example":"<template_id>ba1fe77b-b01e-4640-b77e-8f1b80e3e3cf</template_id>","errorExample":""}]', + 'title' => 'CreateTemplate', + ], + 'DescribeTemplateAttribute' => [ + 'summary' => 'An orchestration template defines and describes a group of Kubernetes resources. It declaratively describes the configuration of an application or how an application runs. You can call the DescribeTemplates API operation to query orchestration templates and their detailed information, including access permissions, YAML content, and labels.', + 'path' => '/templates/{TemplateId}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'path', + 'schema' => [ + 'title' => '模板ID。', + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '874ec485-e7e6-4373-8a3b-47bde8a****', + ], + ], + [ + 'name' => 'template_type', + 'in' => 'query', + 'schema' => [ + 'title' => '模板类型,值为创建部署模板时指定的模板类型。', + 'description' => 'The type of template. The value can be a custom value.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If the parameter is set to `compose`, the template is displayed on the Container Service - Swarm page in the console. Container Service for Swarm is deprecated.'."\n" + .'* If the value of the parameter is not `kubernetes`, the template is not displayed on the Templates page in the console. We recommend that you set the parameter to `kubernetes`.'."\n" + ."\n" + .'Default value: `kubernetes`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回参数。', + 'description' => 'The details of the queried template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '编排模板ID,模板每次修改,这个ID都会改变。 ', + 'description' => 'The ID of the template. When you update a template, a new template ID is generated.'."\n", + 'type' => 'string', + 'example' => '72d20cf8-a533-4ea9-a10d-e7630d3d****', + ], + 'acl' => [ + 'title' => '编排模板权限。取值:private,public,shared。', + 'description' => 'The access control policy of the template.'."\n", + 'type' => 'string', + 'example' => 'private', + ], + 'name' => [ + 'title' => '编排模板名称。 ', + 'description' => 'The name of the template.'."\n", + 'type' => 'string', + 'example' => 'web', + ], + 'template' => [ + 'title' => '编排模板内容。 ', + 'description' => 'The template content in the YAML format.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: V1\\n***', + ], + 'template_type' => [ + 'title' => '编排模板类型', + 'description' => 'The type of template. The value can be a custom value.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If the parameter is set to `compose`, the template is displayed on the Container Service - Swarm page in the console. Container Service for Swarm is deprecated.'."\n" + .'* If the value of the parameter is not `kubernetes`, the template is not displayed on the Templates page in the console. We recommend that you set the parameter to `kubernetes`.'."\n" + ."\n" + .'Default value: `kubernetes`.'."\n", + 'type' => 'string', + 'example' => 'kubernetes', + ], + 'description' => [ + 'title' => '编排模板描述。', + 'description' => 'The description of the template.'."\n", + 'type' => 'string', + 'example' => 'test template', + ], + 'tags' => [ + 'title' => '部署模板的标签。', + 'description' => 'The label of the template.'."\n", + 'type' => 'string', + 'example' => 'sa', + ], + 'template_with_hist_id' => [ + 'title' => '编排模板ID,该ID唯一不随更新而改变。 ', + 'description' => 'The unique ID of the template. The value remains unchanged after the template is updated.'."\n", + 'type' => 'string', + 'example' => '874ec485-e7e6-4373-8a3b-47bde8ae****', + ], + 'created' => [ + 'title' => '编排模板创建时间。', + 'description' => 'The time when the template was created.'."\n", + 'type' => 'string', + 'example' => '2020-09-16T19:21:29+08:00', + ], + 'updated' => [ + 'title' => '编排模板修改时间。 ', + 'description' => 'The time when the template was updated.'."\n", + 'type' => 'string', + 'example' => '2020-09-16T19:21:29+08:00', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"id\\": \\"72d20cf8-a533-4ea9-a10d-e7630d3d****\\",\\n \\"acl\\": \\"private\\",\\n \\"name\\": \\"web\\",\\n \\"template\\": \\"apiVersion: V1\\\\\\\\n***\\",\\n \\"template_type\\": \\"kubernetes\\",\\n \\"description\\": \\"test template\\",\\n \\"tags\\": \\"sa\\",\\n \\"template_with_hist_id\\": \\"874ec485-e7e6-4373-8a3b-47bde8ae****\\",\\n \\"created\\": \\"2025-04-25T16:56:33+08:00\\",\\n \\"updated\\": \\"2025-04-25T16:56:33+08:00\\"\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribeTemplateAttributeResponse>\\n <id>72d20cf8-a533-4ea9-a10d-e7630d3d****</id>\\n <acl>private</acl>\\n <name>web</name>\\n <template>apiVersion: V1\\\\n***</template>\\n <template_type>kubernetes</template_type>\\n <description>test template</description>\\n <tags>sa</tags>\\n <template_with_hist_id>874ec485-e7e6-4373-8a3b-47bde8ae****</template_with_hist_id>\\n <created>2020-09-16T19:21:29+08:00</created>\\n <updated>2020-09-16T19:21:29+08:00</updated>\\n</DescribeTemplateAttributeResponse>","errorExample":""}]', + 'title' => 'DescribeTemplateAttribute', + ], + 'DescribeTemplates' => [ + 'summary' => 'An orchestration template defines and describes a group of Kubernetes resources. It declaratively describes the configuration of an application or how an application runs. You can call the DescribeTemplates API operation to query orchestration templates and their detailed information, including access permissions, YAML content, and labels.', + 'path' => '/templates', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '391', + 'abilityTreeNodes' => [ + 'FEATUREcskT7MN2U', + 'FEATUREcskDJFO7P', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'template_type', + 'in' => 'query', + 'schema' => [ + 'title' => '模板类型,部署模板类型,目前一共有2种类型,取值为:kubernetes或compose。', + 'description' => 'The type of template. This parameter can be set to a custom value.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If you set the parameter to `compose`, the template is not displayed on the Templates page in the console.'."\n" + ."\n" + .'Default value: `kubernetes`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes', + ], + ], + [ + 'name' => 'page_num', + 'in' => 'query', + 'schema' => [ + 'title' => '对查询结果进行分页处理,指定返回第几页的数据。 默认值为 1', + 'description' => 'The page number.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '对查询结果进行分页处理,指定每页包含的数据条数。 默认值为 10', + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'templates' => [ + 'title' => '模板列表。', + 'description' => 'The list of returned templates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'acl' => [ + 'title' => '模板访问权限,取值为:private、pubilc或shared。。', + 'description' => 'The access control policy of the template. Valid values:'."\n" + ."\n" + .'* `private`: The template is private.'."\n" + .'* `public`: The template is public.'."\n" + .'* `shared`: The template can be shared.'."\n" + ."\n" + .'Default value: `private`.'."\n", + 'type' => 'string', + 'example' => 'private', + ], + 'id' => [ + 'title' => '模板ID。会模板随着更新而变化。', + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'example' => '874ec485-e7e6-4373-8a3b-47bde8ae789f', + ], + 'name' => [ + 'title' => '模板名称。', + 'description' => 'The name of the template.'."\n", + 'type' => 'string', + 'example' => 'webserver', + ], + 'description' => [ + 'title' => '模板描述信息。', + 'description' => 'The description of the template.'."\n", + 'type' => 'string', + 'example' => 'a web server', + ], + 'tags' => [ + 'title' => '模板标签,如果不显式指定了,默认为模板名称。', + 'description' => 'The label of the template. By default, the value is the name of the template.'."\n", + 'type' => 'string', + 'example' => 'kubernetes', + ], + 'template' => [ + 'title' => '模板详情。', + 'description' => 'The template content in the YAML format.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: apps/v1\\nkind: Deployment\\nmetadata:\\n name: nginx-deployment-basic\\n labels:\\n app: nginx\\nspec:\\n replicas: 2\\n selector:\\n matchLabels:\\n app: nginx\\n template:\\n metadata:\\n labels:\\n app: nginx\\n spec:\\n containers:\\n - name: nginx\\n image: busybox:latest\\n ports:\\n - containerPort: 80', + ], + 'template_type' => [ + 'title' => '部署模板类型。', + 'description' => 'The type of template. This parameter can be set to a custom value.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If the parameter is set to `compose`, the template is displayed on the Container Service - Swarm page in the console. However, Container Service for Swarm is deprecated.'."\n", + 'type' => 'string', + 'example' => 'kubernetes', + ], + 'created' => [ + 'title' => '模板创建时间。', + 'description' => 'The time when the template was created.'."\n", + 'type' => 'string', + 'example' => '2020-06-10T16:30:16+08:00', + ], + 'updated' => [ + 'title' => '模板修改时间。', + 'description' => 'The time when the template was updated.'."\n", + 'type' => 'string', + 'example' => '2020-06-10T16:30:16+08:00', + ], + 'template_with_hist_id' => [ + 'title' => '模板唯一ID。', + 'description' => 'The ID of the parent template. The value of `template_with_hist_id` is the same for each template version. This allows you to manage different template versions.'."\n", + 'type' => 'string', + 'example' => 'ad81d115-7c8b-47e7-a222-9c28d7f6e588', + ], + ], + ], + ], + 'page_info' => [ + 'title' => '分页信息。', + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_number' => [ + 'title' => '当前页数。', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'page_size' => [ + 'title' => '单页最大数据条数。', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'total_count' => [ + 'title' => '结果总数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"templates\\": [\\n {\\n \\"acl\\": \\"private\\",\\n \\"id\\": \\"874ec485-e7e6-4373-8a3b-47bde8******\\",\\n \\"name\\": \\"webserver\\",\\n \\"description\\": \\"a web server\\",\\n \\"tags\\": \\"kubernetes\\",\\n \\"template\\": \\"apiVersion: apps/v1\\\\\\\\nkind: Deployment\\\\\\\\nmetadata:\\\\\\\\n name: nginx-deployment-basic\\\\\\\\n labels:\\\\\\\\n app: nginx\\\\\\\\nspec:\\\\\\\\n replicas: 2\\\\\\\\n selector:\\\\\\\\n matchLabels:\\\\\\\\n app: nginx\\\\\\\\n template:\\\\\\\\n metadata:\\\\\\\\n labels:\\\\\\\\n app: nginx\\\\\\\\n spec:\\\\\\\\n containers:\\\\\\\\n - name: nginx\\\\\\\\n image: busybox:latest\\\\\\\\n ports:\\\\\\\\n - containerPort: 80\\",\\n \\"template_type\\": \\"kubernetes\\",\\n \\"created\\": \\"2025-04-25T16:56:33+08:00\\",\\n \\"updated\\": \\"2025-04-25T16:56:33+08:00\\",\\n \\"template_with_hist_id\\": \\"ad81d115-7c8b-47e7-a222-9c28d7******\\"\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_number\\": 20,\\n \\"page_size\\": 3,\\n \\"total_count\\": 50\\n }\\n}","errorExample":""},{"type":"xml","example":"<templates>\\n <acl>private</acl>\\n <id>874ec485-e7e6-4373-8a3b-47bde8ae789f</id>\\n <name>webserver</name>\\n <description>a web server</description>\\n <tags>kubernetes</tags>\\n <template>apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment-basic\\\\n labels:\\\\n app: nginx\\\\nspec:\\\\n replicas: 2\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: busybox:latest\\\\n ports:\\\\n - containerPort: 80</template>\\n <template_type>kubernetes</template_type>\\n <created>2020-06-10T16:30:16+08:00</created>\\n <updated>2020-06-10T16:30:16+08:00</updated>\\n <template_with_hist_id>ad81d115-7c8b-47e7-a222-9c28d7f6e588</template_with_hist_id>\\n</templates>\\n<page_info>\\n <page_number>20</page_number>\\n <page_size>3</page_size>\\n <total_count>50</total_count>\\n</page_info>","errorExample":""}]', + 'title' => 'DescribeTemplates', + ], + 'UpdateTemplate' => [ + 'summary' => 'Updates the configurations of an orchestration template. An orchestration template defines and describes a group of Container Service for Kubernetes (ACK) resources. An orchestration template describes the configurations of an application or how an application runs in a declarative manner.', + 'path' => '/templates/{TemplateId}', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'path', + 'schema' => [ + 'title' => '部署模板ID。', + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '72d20cf8-a533-4ea9-a10d-e7630d3d2708', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '请求体', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'description' => [ + 'title' => '部署模板描述信息。', + 'description' => 'The description of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'web server cluster', + ], + 'name' => [ + 'title' => '部署模板名称。', + 'description' => 'The name of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'webserver01', + ], + 'tags' => [ + 'title' => '部署模板标签', + 'description' => 'The label of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'web', + ], + 'template' => [ + 'title' => '部署模板yaml。', + 'description' => 'The YAML content of the template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment-basic\\\\n labels:\\\\n app: nginx\\\\nspec:\\\\n replicas: 2\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: busybox:latest\\\\n ports:\\\\n - containerPort: 8080', + ], + 'template_type' => [ + 'title' => '部署模板类型。', + 'description' => 'The type of template. This parameter can be set to a custom value.'."\n" + ."\n" + .'* If the parameter is set to `kubernetes`, the template is displayed on the Templates page in the console.'."\n" + .'* If the parameter is set to `compose`, the template is displayed on the Container Service - Swarm page in the console. Container Service for Swarm is deprecated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes', + ], + ], + 'required' => false, + 'example' => 'webserver01', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'UpdateTemplate', + ], + 'DeleteTemplate' => [ + 'summary' => 'Deletes the orchestration templates that you no longer need.', + 'path' => '/templates/{TemplateId}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'path', + 'schema' => [ + 'title' => '模板ID。', + 'description' => 'The orchestration template ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '20663627-81ee-4cfe-9b69-c96fcb84a674', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'DeleteTemplate', + ], + 'CreateTrigger' => [ + 'summary' => 'Creates a trigger for an application to redeploy the application pods when specific conditions are met.', + 'path' => '/clusters/{cluster_id}/triggers', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeNodes' => [ + 'FEATUREcskT7MN2U', + ], + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + 'project_id' => [ + 'title' => '项目名称。', + 'description' => 'The name of the trigger project.'."\n" + ."\n" + .'The name consists of the namespace where the application is deployed and the name of the application. The format is `${namespace}/${name}`.'."\n" + ."\n" + .'Example: `default/test-app`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default/test-app', + ], + 'action' => [ + 'title' => '触发器行为', + 'description' => 'The action that the trigger performs. Set the value to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resources specified by `project_id`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'redeploy', + ], + 'type' => [ + 'title' => '触发器类型。默认deployment。', + 'description' => 'The type of trigger. Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deployment', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c68deb844dc6d480eb775be611fdf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '触发器ID。', + 'description' => 'The trigger ID.'."\n", + 'type' => 'string', + 'example' => '102536', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c93095129fc41463aa455d89444fd****', + ], + 'project_id' => [ + 'title' => '触发器项目名称。', + 'description' => 'The name of the trigger project.'."\n", + 'type' => 'string', + 'example' => 'default/test-app', + ], + 'type' => [ + 'title' => '触发器类型。默认值为 deployment 。', + 'description' => 'The trigger type.'."\n", + 'type' => 'string', + 'example' => 'deployment', + ], + 'action' => [ + 'title' => '触发器行为。', + 'description' => 'The actions performed by the trigger.'."\n", + 'type' => 'string', + 'example' => 'redeploy', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"id\\": \\"75973497486******\\",\\n \\"cluster_id\\": \\"c93095129fc41463aa455d89444fd****\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTriggerResponse>\\n <id>102536</id>\\n <cluster_id>c93095129fc41463aa455d89444fd****</cluster_id>\\n <project_id>default/test-app</project_id>\\n <type>deployment</type>\\n <action>redeploy</action>\\n</CreateTriggerResponse>","errorExample":""}]', + 'title' => 'CreateTrigger', + ], + 'DeleteTrigger' => [ + 'summary' => 'Deletes an application trigger.', + 'path' => '/clusters/{cluster_id}/triggers/{Id}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c68deb844dc6d480eb775be611fdf****', + ], + ], + [ + 'name' => 'Id', + 'in' => 'path', + 'schema' => [ + 'title' => '触发器ID。', + 'description' => 'The trigger ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '123407', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'DeleteTrigger', + ], + 'DescribeTrigger' => [ + 'summary' => 'Queries triggers that match specific conditions.', + 'path' => '/clusters/{cluster_id}/triggers', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '应用所属命名空间。', + 'description' => 'The namespace to which the application belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'title' => '应用类型。', + 'description' => 'The type of trigger. Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n" + ."\n" + .'If you do not set this parameter, triggers are not filtered by type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deployment', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '应用名称。', + 'description' => 'The application name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'web-server', + ], + ], + [ + 'name' => 'action', + 'in' => 'query', + 'schema' => [ + 'title' => '触发器行为。', + 'description' => 'The action that the trigger performs. Set the value to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resources specified by `project_id`.'."\n" + ."\n" + .'If you do not specify this parameter, triggers are not filtered by action.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'redeploy', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回参数。', + 'description' => 'The details of the triggers returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '触发器ID。', + 'description' => 'The ID of the trigger.'."\n", + 'type' => 'string', + 'example' => '1234', + ], + 'name' => [ + 'title' => '触发器名称。', + 'description' => 'The name of the trigger.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'cluster_id' => [ + 'title' => '集群ID', + 'description' => 'The ID of the associated cluster.'."\n", + 'type' => 'string', + 'example' => 'c259f563386444ebb8d7****', + ], + 'project_id' => [ + 'title' => '触发器项目名称', + 'description' => 'The name of the project.'."\n" + ."\n" + .'The name consists of the namespace where the application is deployed and the name of the application. The format is `${namespace}/${name}`. Example: default/test-app.'."\n", + 'type' => 'string', + 'example' => 'default/test-app', + ], + 'type' => [ + 'title' => '触发器类型。', + 'description' => 'The type of trigger.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n", + 'type' => 'string', + 'example' => 'deployment', + ], + 'action' => [ + 'title' => '触发器行为', + 'description' => 'The action that the trigger performs. The value is set to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resource specified by project_id.'."\n", + 'type' => 'string', + 'example' => 'redeploy', + ], + 'token' => [ + 'title' => 'Token', + 'description' => 'The token information.'."\n", + 'type' => 'string', + 'example' => 'eyJhbGci***', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"id\\": \\"75973497486******\\",\\n \\"name\\": \\"test\\",\\n \\"cluster_id\\": \\"c259f563386444ebb8d7****\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\",\\n \\"token\\": \\"eyJhbGci***\\"\\n }\\n]","errorExample":""},{"type":"xml","example":"<DescribeTriggerResponse>\\n <id>1234</id>\\n <name>test</name>\\n <cluster_id>c259f563386444ebb8d7****</cluster_id>\\n <project_id>default/test-app</project_id>\\n <type>deployment</type>\\n <action>redeploy</action>\\n <token>eyJhbGci***</token>\\n</DescribeTriggerResponse>","errorExample":""}]', + 'title' => 'DescribeTrigger', + ], + 'ListTagResources' => [ + 'summary' => 'Queries resource labels and the detailed information, such as the key-value pairs of the labels and the clusters to which the labels are added. You can use labels to classify and manage Container Service for Kubernetes (ACK) clusters in order to meet monitoring, cost analysis, and tenant isolation requirements.', + 'path' => '/tags', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '579', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'resource_ids', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '集群ID列表。', + 'description' => 'The list of cluster IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c71cf3d796c374bf48644482cb0c3****', + ], + 'required' => true, + 'example' => '["xxxxx","xxxxxx"]', + ], + ], + [ + 'name' => 'resource_type', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型,只支持Cluster', + 'description' => 'The resource type. Set the value to `CLUSTER`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'CLUSTER', + ], + ], + [ + 'name' => 'region_id', + 'in' => 'query', + 'schema' => [ + 'title' => '地域ID', + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'tags', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '按标签查找。', + 'description' => 'The list of labels that you want to query. You can specify up to 20 labels.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The label.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + 'example' => 'ack.aliyun.com', + ], + 'required' => false, + 'example' => '[{\\"key\\":\\"env\\",\\"value\\",\\"dev\\"},{\\"key\\":\\"dev\\", \\"value\\":\\"IT\\"}]', + ], + ], + [ + 'name' => 'next_token', + 'in' => 'query', + 'schema' => [ + 'title' => '下一次查询Token。', + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '***', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'next_token' => [ + 'title' => '下一个查询开始Token,为空说明没有下一个', + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", + 'type' => 'string', + 'example' => 'c374bf4864448****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'E368C761-F8F6-4A36-9B58-BD53D5CD0CEB', + ], + 'tag_resources' => [ + 'title' => '资源标签列表。', + 'description' => 'The details of the queried labels and resources.'."\n", + 'type' => 'object', + 'properties' => [ + 'tag_resource' => [ + 'title' => '资源标签。', + 'description' => 'The resource and label.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'tag_key' => [ + 'title' => '标签key。', + 'description' => 'The key of the label.'."\n", + 'type' => 'string', + 'example' => 'ack.aliyun.com', + ], + 'tag_value' => [ + 'title' => '标签值。', + 'description' => 'The value of the label.'."\n", + 'type' => 'string', + 'example' => 'c71cf3d796c374bf48644482cb0c3****', + ], + 'resource_id' => [ + 'title' => '资源ID。', + 'description' => 'The ID of the resource.'."\n", + 'type' => 'string', + 'example' => 'i-xxx', + ], + 'resource_type' => [ + 'title' => '资源类型。', + 'description' => 'The type of the resource. For more information, see [Labels](~~110425~~).'."\n", + 'type' => 'string', + 'example' => 'CLUSTER', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"next_token\\": \\"c374bf4864448****\\",\\n \\"request_id\\": \\"E368C761-F8F6-4A36-9B58-BD53D5******\\",\\n \\"tag_resources\\": {\\n \\"tag_resource\\": [\\n {\\n \\"tag_key\\": \\"ack.aliyun.com\\",\\n \\"tag_value\\": \\"c71cf3d796c374bf48644482cb0c3****\\",\\n \\"resource_id\\": \\"c2e39566adf23481fa1164ed510****\\",\\n \\"resource_type\\": \\"ALIYUN::CS::CLUSTER\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<next_token>c374bf4864448****</next_token>\\n<request_id>E368C761-F8F6-4A36-9B58-BD53D5CD0CEB</request_id>\\n<tag_resources>\\n <tag_resource>\\n <tag_key>ack.aliyun.com</tag_key>\\n <tag_value>c71cf3d796c374bf48644482cb0c3****</tag_value>\\n <resource_id>i-xxx</resource_id>\\n <resource_type>CLUSTER</resource_type>\\n </tag_resource>\\n</tag_resources>","errorExample":""}]', + 'title' => 'ListTagResources', + ], + 'TagResources' => [ + 'summary' => 'You can add labels in key-value pairs to clusters. This allows cluster developers or O\\\\\\&M engineers to classify and manage clusters in a more flexible manner. This also meets the requirements for monitoring, cost analysis, and tenant isolation. You can call the TagResources operation to add labels to a cluster.', + 'path' => '/tags', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'resource_ids' => [ + 'title' => '资源ID列表', + 'description' => 'The list of resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[c1a7bb282fc0d48b****]', + ], + 'required' => true, + ], + 'resource_type' => [ + 'title' => '资源类型定义。取值范围: 只支持CLUSTER这一种资源类型', + 'description' => 'The type of resources that you want to label. Set the value to `CLUSTER`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'CLUSTER', + ], + 'region_id' => [ + 'title' => '资源所属的地域ID', + 'description' => 'The ID of the region in which the resource resides.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + 'tags' => [ + 'title' => '资源的标签键值对。数组长度范围:1~20。一旦传值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'description' => 'The tags that you want to add to the resources in key-value pairs. You can add up to 20 key-value pairs. Note:'."\n" + ."\n" + .'* The values cannot be empty strings. A value must be 1 to 128 characters in length.'."\n" + .'* A key or value cannot start with `aliyun` or `acs:`.'."\n" + .'* A key or value cannot contain `http://` or `https://`.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource tags.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => true, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '响应体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求id。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2D69A58F-345C-4FDE-88E4-BF51894XXXXX', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894******\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>2D69A58F-345C-4FDE-88E4-BF51894XXXXX</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', + 'title' => 'TagResources', + ], + 'UntagResources' => [ + 'summary' => 'If you no longer need the labels (key-value pairs) of a cluster, you can call the UntagResources operation to delete the labels.', + 'path' => '/tags', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'region_id', + 'in' => 'query', + 'schema' => [ + 'title' => '资源所属的地域ID', + 'description' => 'The region ID of the resources.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'resource_ids', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '资源ID。数组长度取值范围为:1~50', + 'description' => 'The list of resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c1a7bb282fc0d48b593***', + ], + 'required' => true, + ], + ], + [ + 'name' => 'resource_type', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型定义。取值范围: 只支持CLUSTER这一种资源类型', + 'description' => 'The type of resource. Set the value to `CLUSTER`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'CLUSTER', + ], + ], + [ + 'name' => 'tag_keys', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '资源的标签键。N的取值范围:1~20', + 'description' => 'The list of keys of the labels that you want to remove.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key of the label that you want to remove. You can specify up to 20 keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey1', + ], + 'required' => true, + ], + ], + [ + 'name' => 'all', + 'in' => 'query', + 'schema' => [ + 'title' => '是否删除全部自定义标签,仅当tag_keys为空时生效,取值:[true,false]。', + 'description' => 'Specifies whether to remove all custom labels. This parameter takes effect only when `tag_keys` is left empty. Valid values:'."\n" + ."\n" + .'* `true`: Remove all custom labels.'."\n" + .'* `false`: Do not remove all custom labels.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '响应体。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求id。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2D69A58F-345C-4FDE-88E4-BF51894XXXXX', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894******\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>2D69A58F-345C-4FDE-88E4-BF51894XXXXX</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', + 'title' => 'UntagResources', + ], + 'ModifyClusterTags' => [ + 'summary' => 'You can add labels in key-value pairs to clusters. This allows cluster developers or O\\\\\\&M engineers to classify and manage clusters in a more flexible manner. This also meets the requirements for monitoring, cost analysis, and tenant isolation. You can call the ModifyClusterTags operation to modify the labels of a cluster.', + 'path' => '/clusters/{ClusterId}/tags', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '383', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '汲取ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '集群标签列表。', + 'description' => 'The data of the tags that you want to modify.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/tag', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'ModifyClusterTags', + ], + 'StartAlert' => [ + 'summary' => 'Activates the specified alert rule(s).', + 'path' => '/alert/{ClusterId}/alert_rule/start', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '161580', + 'abilityTreeNodes' => [ + 'FEATUREcskNNODXQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The instance ID. You can call the ListClusters operation to query the cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c245ff43c717f494489f42f5f1575e98d', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'alert_rule_group_name' => [ + 'description' => 'The name of the alert rule group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + 'title' => '', + ], + 'alert_rule_name' => [ + 'description' => 'The name of the alert rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + 'title' => '', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'description' => 'The status.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'msg' => [ + 'description' => 'The message returned.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"success\\"\\n}","type":"json"}]', + 'title' => 'StartAlert', + ], + 'UpdateContactGroupForAlert' => [ + 'summary' => 'You can call the UpdateContactGroupForAlert operation to specify a contact group for an alert rule in an ACK cluster.', + 'path' => '/alert/{ClusterId}/alert_rule/contact_groups', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125473', + 'abilityTreeNodes' => [ + 'FEATUREcskNNODXQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID. You can call the ListCluster operation to query the cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce7d08276f8a6422282c46272a84bxxxx', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'alert_rule_group_name' => [ + 'description' => 'The name of the alert contact group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + ], + 'contact_group_ids' => [ + 'description' => 'The list of contact group IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A contact group ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345', + ], + 'required' => false, + ], + 'cr_name' => [ + 'description' => 'The name of the container registry instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + ], + 'namespace' => [ + 'description' => 'The namespace in which the resource resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'description' => 'The update status.'."\n" + ."\n" + .'* true: The update is successful.'."\n" + .'* false: The update failed.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'msg' => [ + 'description' => 'The error message returned if the call fails.'."\n", + 'type' => 'string', + 'example' => 'contact group illegal.', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"contact group illegal.\\"\\n}","type":"json"}]', + 'title' => 'UpdateContactGroupForAlert', + ], + 'StopAlert' => [ + 'summary' => 'You can call the StopAlert operation to disable an alert rule or an alert rule set in the alert center of Container Service for Kubernetes (ACK).', + 'path' => '/alert/{ClusterId}/alert_rule/stop', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '161581', + 'abilityTreeNodes' => [ + 'FEATUREcskNNODXQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain cluster IDs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c7f9c85baee73452883b3299a0107****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'alert_rule_group_name' => [ + 'description' => 'The name of the alert rule group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + 'title' => '', + ], + 'alert_rule_name' => [ + 'description' => 'The name of the alert rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sample', + 'title' => '', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'description' => 'The operation result. Valid values:'."\n" + ."\n" + .'* True: The operation is successful.'."\n" + .'* False: The operation failed.'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'msg' => [ + 'description' => 'The error message returned if the call fails.'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"Success\\"\\n}","type":"json"}]', + 'title' => 'StopAlert', + ], + 'DeleteAlertContact' => [ + 'summary' => 'Deletes one or more ACK alert contacts.', + 'path' => '/alert/contacts', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125471', + 'abilityTreeNodes' => [ + 'FEATUREcskNNODXQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'contact_ids', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '删除ACK联系人的id列表', + 'description' => 'The list of alert contact IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '删除ACK联系人的id', + 'description' => 'An alert contact ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345', + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'result' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'type' => 'boolean', + ], + 'msg' => [ + 'type' => 'string', + ], + 'contact_id' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"0\\": {\\n \\"status\\": true,\\n \\"msg\\": \\"Delete contact resource failed.\\",\\n \\"contact_id\\": \\"12345\\"\\n },\\n \\"result\\": []\\n}","type":"json"}]', + 'title' => 'DeleteAlertContact', + 'translator' => 'machine', + ], + 'DeleteAlertContactGroup' => [ + 'summary' => 'Deletes an ACK alert contact group.', + 'path' => '/alert/contact_groups', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125472', + 'abilityTreeNodes' => [ + 'FEATUREcskNNODXQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'contact_group_ids', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The list of alert contact group IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A contact group ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345', + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The list of deletion results.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The alert contact group to be deleted.'."\n", + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'description' => 'The deletion status.'."\n" + ."\n" + .'* true: The alert contact group was deleted.'."\n" + .'* false: The alert contact group failed to be deleted.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'msg' => [ + 'description' => 'The error message returned if the call fails.'."\n", + 'type' => 'string', + 'example' => 'Delete contact group resource failed.', + ], + 'contact_group_id' => [ + 'description' => 'The alert contact group ID.'."\n", + 'type' => 'string', + 'example' => '12345', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"[\\n {\\n \\"status\\": true,\\n \\"msg\\": \\"Delete contact group resource failed.\\",\\n \\"contact_group_id\\": \\"12345\\"\\n }\\n]","type":"json"}]', + 'title' => 'DeleteAlertContactGroup', + ], + 'UpdateControlPlaneLog' => [ + 'summary' => 'Modifies the log configurations of control plane components. The configurations include the log retention period and components whose logs that you want to collect. Container Service for Kubernetes (ACK) managed clusters can collect the logs of control plane components and deliver the logs to projects in Simple Log Service. These control plane components include Kube-apiserver, kube-scheduler, Kubernetes controller manager, and cloud controller manager (CCM).', + 'path' => '/clusters/{ClusterId}/controlplanelog', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '165010', + 'abilityTreeNodes' => [ + 'FEATUREcsk0H96CV', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'log_project' => [ + 'description' => 'The name of the Simple Log Service Project that you want to use to store the logs of control plane components.'."\n" + ."\n" + .'Default value: k8s-log-$Cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + 'log_ttl' => [ + 'description' => 'The retention period of the log data stored in the Logstore. Valid values: 1 to 3000. Unit: days.'."\n" + ."\n" + .'Default value: 30.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30', + ], + 'aliuid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '162981*****', + ], + 'components' => [ + 'description' => 'The control plane components for which you want to enable log collection.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The control plane components for which you want to enable log collection. The following control plane components are supported:'."\n" + ."\n" + .'* `apiserver`'."\n" + .'* `ccm`'."\n" + .'* `scheduler`'."\n" + .'* `kcm`'."\n" + .'* `controlplane-events`'."\n" + .'* `vk`: supported only in Serverless Kubernetes (ASK) clusters.'."\n" + .'* `istio`: supported only in clusters that are associated with Service Mesh (ASM) instances.'."\n" + .'* `cluster-operator`: supported only in clusters that are managed by using Distributed Cloud Container Platform for Kubernetes (ACK One).'."\n" + .'* `application-controller`: supported only in clusters that are managed by using ACK One. By default, log collection is enabled for the following control plane components: `apiserver`, `ccm`, `scheduler`, `kcm`, and `controlplane-events`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["apiserver", "ccm", "scheduler", "kcm", "controlplane-events"]', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体数据。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '687C5BAA-D103-4993-884B-C35E4314****', + ], + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5a54309c80282e39ea00****', + ], + ], + ], + ], + '5XX' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea00****\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'UpdateControlPlaneLog', + ], + 'CheckControlPlaneLogEnable' => [ + 'summary' => 'Queries the current log configuration of control plane components, including the log retention period and the log collection component. Container Service for Kubernetes (ACK) managed clusters can collect the logs of control plane components and deliver the logs to projects in Simple Log Service. These control plane components include Kube API Server, Kube Scheduler, Kube Controller Manager, and Cloud Controller Manager.', + 'path' => '/clusters/{ClusterId}/controlplanelog', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk0H96CV', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'log_project' => [ + 'description' => 'The name of the Simple Log Service project that you want to use to store the logs of control plane components.'."\n" + ."\n" + .'Default value: k8s-log-$Cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + 'log_ttl' => [ + 'description' => 'The retention period of the log data stored in the Logstore. Valid values: 1 to 3000. Unit: days.'."\n" + ."\n" + .'Default value: 30.'."\n", + 'type' => 'string', + 'example' => '30', + ], + 'aliuid' => [ + 'description' => 'The ID of the Alibaba Cloud account to which the resource belongs.'."\n", + 'type' => 'string', + 'example' => '162981*****', + ], + 'components' => [ + 'description' => 'The control plane components for which log collection is enabled.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The control plane components for which log collection is enabled.'."\n" + ."\n" + .'By default, log collection is enabled for the following control plane components: `apiserver`, `ccm`, `scheduler`, `kcm`, and `controlplane-events`.'."\n", + 'type' => 'string', + 'example' => '["apiserver", "ccm", "scheduler", "kcm", "controlplane-events"]', + ], + 'required' => true, + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"log_project\\": \\"k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****\\",\\n \\"log_ttl\\": \\"30\\",\\n \\"aliuid\\": \\"162981*****\\",\\n \\"components\\": [\\n \\"[\\\\\\"apiserver\\\\\\", \\\\\\"ccm\\\\\\", \\\\\\"scheduler\\\\\\", \\\\\\"kcm\\\\\\", \\\\\\"controlplane-events\\\\\\", alb]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CheckControlPlaneLogEnableResponse>\\n <log_project>k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****</log_project>\\n <log_ttl>30</log_ttl>\\n <aliuid>162981*****</aliuid>\\n <components>[\\"apiserver\\", \\"ccm\\", \\"scheduler\\", \\"kcm\\", \\"controlplane-events\\"]</components>\\n</CheckControlPlaneLogEnableResponse>","errorExample":""}]', + 'title' => 'CheckControlPlaneLogEnable', + ], + 'GetClusterAuditProject' => [ + 'summary' => 'You can call the GetClusterAuditProject operation to check whether the cluster has API Server auditing enabled and the corresponding Simple Log Service project that stores API Server audit logs.', + 'path' => '/clusters/{clusterid}/audit', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '165007', + 'abilityTreeNodes' => [ + 'FEATUREcsk01W1JN', + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterid', + 'in' => 'path', + 'schema' => [ + 'description' => 'Cluster ID', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cad1230511cbb4db4a488e58518******', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'sls_project_name' => [ + 'description' => 'The SLS project in which the audit logs of the API server are stored.'."\n", + 'type' => 'string', + 'example' => 'k8s-log-cad1230511cbb4db4a488e58518******'."\n", + ], + 'audit_enabled' => [ + 'title' => '当前集群是否已启用API Server审计功能。true:已启用,false:未启用。', + 'description' => 'Indicates whether the cluster auditing feature is enabled for the cluster. '."\n" + ."\n" + .'* `true`: The cluster auditing feature is enabled for the cluster. '."\n" + .'* `false`: The cluster auditing feature is disabled for the cluster.', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sls_project_name\\": \\"k8s-log-cad1230511cbb4db4a488e58518******\\\\n\\",\\n \\"audit_enabled\\": true\\n}","type":"json"}]', + 'title' => 'GetClusterAuditProject', + 'translator' => 'machine', + ], + 'UpdateClusterAuditLogConfig' => [ + 'summary' => 'You can call the UpdateClusterAuditLogConfig operation to enable or disable the audit log feature in a Container Service for Kubernetes (ACK) cluster and update the audit log configuration. This operation also allows you to record requests to the Kubernetes API and the responses, which can be used to trace cluster operation history and troubleshoot cluster issues.', + 'path' => '/clusters/{clusterid}/audit_log', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '208650', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterid', + 'in' => 'path', + 'schema' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'sls_project_name' => [ + 'description' => 'The [Simple Log Service project](~~48873~~) to which the [Logstore](~~48873~~) storing the cluster audit logs belongs.'."\n" + ."\n" + .'* Default value: k8s-log-{clusterid}.'."\n" + .'* After the cluster audit log feature is enabled, a Logstore is created in the specified Simple Log Service project to store cluster audit logs.'."\n" + .'* If you want to change the project after audit logging is enabled for the cluster, you can use this parameter to specify another project. You can perform this operation only in ACK managed clusters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-log-c82e6987e2961451182edacd74faf****', + ], + 'disable' => [ + 'description' => 'Enable or disable audit logging.'."\n" + ."\n" + .'* false: enables audit logging or updates the audit logging configurations.'."\n" + .'* true: disables audit logging.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c93095129fc41463aa455d89444fd****', + ], + 'request_id' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '48BD70F6-A7E6-543D-9F23-08DEB764C92E', + ], + 'task_id' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => 'T-5faa48fb31b6b8078d00****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c93095129fc41463aa455d89444fd****\\",\\n \\"request_id\\": \\"48BD70F6-A7E6-543D-9F23-08DEB764****\\",\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\"\\n}","type":"json"}]', + 'title' => 'UpdateClusterAuditLogConfig', + 'description' => 'Before you call this operation, ensure that you understand the billing methods and pricing of [Simple Log Service](https://www.alibabacloud.com/product/log-service/pricing).'."\n", + ], + 'DescribeEventsForRegion' => [ + 'summary' => 'Queries all events in a specified region.', + 'path' => '/regions/{region_id}/events', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249410', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cf62854ac2130470897be7a27ed1f****', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '页数', + 'description' => 'The number of records on each page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'title' => '没页记录数量', + 'description' => 'The number of pages.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'region_id', + 'in' => 'path', + 'schema' => [ + 'title' => '地域。', + 'description' => 'The region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'events' => [ + 'description' => 'The events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'event_id' => [ + 'title' => '事件ID', + 'description' => 'The event ID.'."\n", + 'type' => 'string', + 'example' => 'A234-1234-1234', + ], + 'type' => [ + 'title' => '事件类型', + 'description' => 'The event type.'."\n", + 'type' => 'string', + 'example' => 'nodePool_upgrade', + ], + 'source' => [ + 'title' => '事件源', + 'description' => 'The event source.'."\n", + 'type' => 'string', + 'example' => '/clusters/cf62854ac2130470897be7a27ed1f****/nodepools', + ], + 'subject' => [ + 'title' => '事件', + 'description' => 'The object associated with the event.'."\n", + 'type' => 'string', + 'example' => 'nodePool-id', + ], + 'time' => [ + 'title' => '事件开始事件', + 'description' => 'The time when the event was generated.'."\n", + 'type' => 'string', + 'example' => '2020-12-01T17:31:00Z', + ], + 'cluster_id' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cluster-id', + ], + 'data' => [ + 'title' => '事件描述', + 'description' => 'The description of the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'level' => [ + 'title' => '事件级别', + 'description' => 'The severity level of the event.'."\n", + 'type' => 'string', + 'example' => 'info', + ], + 'reason' => [ + 'title' => '事件状态', + 'description' => 'The event status.'."\n", + 'type' => 'string', + 'example' => 'Started', + ], + 'message' => [ + 'title' => '事件详情', + 'description' => 'The details of the event.'."\n", + 'type' => 'string', + 'example' => 'Start to upgrade NodePool nodePool/nodePool-A', + ], + ], + ], + ], + ], + ], + 'page_info' => [ + 'description' => 'The pagination details.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_size' => [ + 'title' => '页数', + 'description' => 'The number of records on each page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'page_number' => [ + 'title' => '每页记录数量', + 'description' => 'The number of pages.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'total_count' => [ + 'title' => '结果总数', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"events\\": [\\n {\\n \\"event_id\\": \\"e-9ad04f72-8ee7-46bf-a02c-e4a06b39****\\\\n\\",\\n \\"type\\": \\"nodePool_upgrade\\",\\n \\"source\\": \\"task\\",\\n \\"subject\\": \\"npdd89dc2b76c04f14b06774883b******\\",\\n \\"time\\": \\"2025-05-14T10:00:56+08:00\\",\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"data\\": {\\n \\"level\\": \\"info\\",\\n \\"reason\\": \\"Started\\",\\n \\"message\\": \\"Start to upgrade NodePool nodePool/nodePool-A\\"\\n }\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 3\\n }\\n}","type":"json"}]', + 'title' => 'DescribeEventsForRegion', + ], + 'DescribeEvents' => [ + 'summary' => 'Queries the detailed information about a type of events, including the severity level, status, and time. Events are generated when clusters are created, modified, and updated, node pools are created and scaled out, and components are installed.', + 'path' => '/events', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cf62854ac2130470897be7a27ed1f****', + ], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => [ + 'title' => '事件类型', + 'description' => 'The event type. Valid values:'."\n" + ."\n" + .'* `cluster_create`: cluster creation.'."\n" + .'* `cluster_scaleout`: cluster scale-out.'."\n" + .'* `cluster_attach`: node addition.'."\n" + .'* `cluster_delete`: cluster deletion.'."\n" + .'* `cluster_upgrade`: cluster upgrades.'."\n" + .'* `cluster_migrate`: cluster migration.'."\n" + .'* `cluster_node_delete`: node removal.'."\n" + .'* `cluster_node_drain`: node draining.'."\n" + .'* `cluster_modify`: cluster modifications.'."\n" + .'* `cluster_configuration_modify`: modifications of control plane configurations.'."\n" + .'* `cluster_addon_install`: component installation.'."\n" + .'* `cluster_addon_upgrade`: component updates.'."\n" + .'* `cluster_addon_uninstall`: component uninstallation.'."\n" + .'* `runtime_upgrade`: runtime updates.'."\n" + .'* `nodepool_upgrade`: node pool upgrades.'."\n" + .'* `nodepool_update`: node pool updates.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nodepool_upgrade', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '页数', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'title' => '没页记录数量', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'events' => [ + 'description' => 'The details of the events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'event_id' => [ + 'title' => '事件ID', + 'description' => 'The event ID.'."\n", + 'type' => 'string', + 'example' => 'A234-1234-1234', + ], + 'type' => [ + 'title' => '事件类型', + 'description' => 'The event type. Valid values:'."\n" + ."\n" + .'* `cluster_create`: cluster creation.'."\n" + .'* `cluster_scaleout`: cluster scale-out.'."\n" + .'* `cluster_attach`: node addition.'."\n" + .'* `cluster_delete`: cluster deletion.'."\n" + .'* `cluster_upgrade`: cluster upgrades.'."\n" + .'* `cluster_migrate`: cluster migration.'."\n" + .'* `cluster_node_delete`: node removal.'."\n" + .'* `cluster_node_drain`: node draining.'."\n" + .'* `cluster_modify`: cluster modifications.'."\n" + .'* `cluster_configuration_modify`: modifications of control plane configurations.'."\n" + .'* `cluster_addon_install`: component installation.'."\n" + .'* `cluster_addon_upgrade`: component updates.'."\n" + .'* `cluster_addon_uninstall`: component uninstallation.'."\n" + .'* `runtime_upgrade`: runtime updates.'."\n" + .'* `nodepool_upgrade`: node pool upgrades.'."\n" + .'* `nodepool_update`: node pool updates.'."\n", + 'type' => 'string', + 'example' => 'nodepool_upgrade', + ], + 'source' => [ + 'title' => '事件源', + 'description' => 'The source of the event.'."\n", + 'type' => 'string', + 'example' => '/clusters/cf62854ac2130470897be7a27ed1f****/nodepools', + ], + 'subject' => [ + 'title' => '事件', + 'description' => 'The subject of the event.'."\n", + 'type' => 'string', + 'example' => 'nodePool-id', + ], + 'time' => [ + 'title' => '事件开始事件', + 'description' => 'The time when the event started.'."\n", + 'type' => 'string', + 'example' => '2022-11-23T20:48:01+08:00', + ], + 'cluster_id' => [ + 'title' => '集群ID', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cluster-id', + ], + 'data' => [ + 'title' => '事件描述', + 'description' => 'The description of the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'level' => [ + 'title' => '事件级别', + 'description' => 'The severity level of the event. Valid values:'."\n" + ."\n" + .'* info'."\n" + .'* warning'."\n" + .'* error'."\n", + 'type' => 'string', + 'example' => 'info', + ], + 'reason' => [ + 'title' => '事件状态', + 'description' => 'The status of the event.'."\n", + 'type' => 'string', + 'example' => 'Started', + ], + 'message' => [ + 'title' => '事件详情', + 'description' => 'The details of the event.'."\n", + 'type' => 'string', + 'example' => 'Start to upgrade NodePool nodePool/nodePool-A', + ], + ], + ], + ], + ], + ], + 'page_info' => [ + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_size' => [ + 'title' => '页数', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'page_number' => [ + 'title' => '每页记录数量', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'total_count' => [ + 'title' => '结果总数', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"events\\": [\\n {\\n \\"event_id\\": \\"e-dba703c8-953b-40d8-82e8-cb713590****\\",\\n \\"type\\": \\"nodepool_upgrade\\",\\n \\"source\\": \\"task\\",\\n \\"subject\\": \\"np6a5c86f4ecae436f8f4a3dc034a7****\\",\\n \\"time\\": \\"2025-04-23T20:48:01+08:00\\",\\n \\"cluster_id\\": \\"cf62854ac2130470897be7a27ed1f****\\",\\n \\"data\\": {\\n \\"level\\": \\"info\\",\\n \\"reason\\": \\"Started\\",\\n \\"message\\": \\"Start to upgrade NodePool nodePool/nodePool-A\\"\\n }\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 3\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeEventsResponse>\\n <events>\\n <event_id>A234-1234-1234</event_id>\\n <type>nodepool_upgrade</type>\\n <source>/clusters/cf62854ac2130470897be7a27ed1f****/nodepools</source>\\n <subject>nodePool-id</subject>\\n <time>2022-11-23T20:48:01+08:00</time>\\n <cluster_id>cluster-id</cluster_id>\\n <data>\\n <level>info</level>\\n <reason>Started</reason>\\n <message>Start to upgrade NodePool nodePool/nodePool-A</message>\\n </data>\\n </events>\\n <page_info>\\n <page_size>50</page_size>\\n <page_number>1</page_number>\\n <total_count>3</total_count>\\n </page_info>\\n</DescribeEventsResponse>","errorExample":""}]', + 'title' => 'DescribeEvents', + ], + 'DescribeClusterEvents' => [ + 'summary' => 'Queries events and event details in a Container Service for Kubernetes (ACK) cluster, including the severity level, status, and start time of each event. Events are generated when clusters created, modified, and updated, node pools are created and scaled out, and components are installed.', + 'path' => '/clusters/{ClusterId}/events', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'title' => '每页大小。', + 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'title' => '分页页数。', + 'description' => 'The number of the page to return.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'task_id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the query task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'T-xascadasd*****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => '返回体参数。', + 'description' => 'The response body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'events' => [ + 'title' => '事件列表。', + 'description' => 'The list of events.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'event_id' => [ + 'title' => '事件ID。', + 'description' => 'The event ID.'."\n", + 'type' => 'string', + 'example' => 'e-9ad04f72-8ee7-46bf-a02c-e4a06b39****', + ], + 'type' => [ + 'title' => '事件类型。', + 'description' => 'The type of event. Valid values:'."\n", + 'type' => 'string', + 'example' => 'nodepool_update', + ], + 'source' => [ + 'title' => '事件源。', + 'description' => 'The event source.'."\n", + 'type' => 'string', + 'example' => 'cluster', + ], + 'subject' => [ + 'title' => '事件子项。', + 'description' => 'The subject related to the event.'."\n", + 'type' => 'string', + 'example' => 'npdd89dc2b76c04f14b06774883b******', + ], + 'time' => [ + 'title' => '事件开始时间。', + 'description' => 'The time when the event started.'."\n", + 'type' => 'string', + 'example' => '2020-12-01T17:31:00Z', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + 'data' => [ + 'title' => '事件描述。', + 'description' => 'The description of the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'level' => [ + 'title' => '事件级别。', + 'description' => 'The severity level of the event.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* warning'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* error'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* info'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'warning' => 'warning', + 'error' => 'error', + 'info' => 'info', + ], + 'example' => 'info', + ], + 'reason' => [ + 'title' => '事件状态。', + 'description' => 'The status of the event.'."\n", + 'type' => 'string', + 'example' => 'Started', + ], + 'message' => [ + 'title' => '事件详情。', + 'description' => 'The details of the event.'."\n", + 'type' => 'string', + 'example' => 'Start to upgrade NodePool nodePool/npdd89dc2b76c04f14b06774883b******', + ], + ], + ], + ], + ], + ], + 'page_info' => [ + 'title' => '分页信息。', + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_size' => [ + 'title' => '每页大小。', + 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'page_number' => [ + 'title' => '分页页数。', + 'description' => 'The number of the page to return.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'total_count' => [ + 'title' => '结果总数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"events\\": [\\n {\\n \\"event_id\\": \\"e-9ad04f72-8ee7-46bf-a02c-e4a06b39****\\",\\n \\"type\\": \\"nodepool_update\\",\\n \\"source\\": \\"task\\",\\n \\"subject\\": \\"npdd89dc2b76c04f14b06774883b******\\",\\n \\"time\\": \\"2025-05-14T10:00:56+08:00\\",\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"data\\": {\\n \\"level\\": \\"info\\",\\n \\"reason\\": \\"Started\\",\\n \\"message\\": \\"Start to upgrade NodePool nodePool/npdd89dc2b76c04f14b06774883b******\\"\\n }\\n }\\n ],\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 126\\n }\\n}","type":"json"}]', + 'title' => 'DescribeClusterEvents', + ], + 'DescribeTaskInfo' => [ + 'summary' => 'Queries detailed information about a task, such as the task type, status, and progress.', + 'path' => '/tasks/{task_id}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'chargeType' => 'free', + 'abilityTreeCode' => '6923', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'task_id', + 'in' => 'path', + 'schema' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'T-5faa48fb31b6b8078d00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回体参数。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'T-5faa48fb31b6b8078d000006', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c78592bfe92244365b3c3ad47f1de****', + ], + 'task_type' => [ + 'title' => '当前任务类型。', + 'description' => 'The task type. A value of `cluster_scaleout` indicates a scale-out task.'."\n", + 'type' => 'string', + 'example' => 'cluster_scaleout', + ], + 'state' => [ + 'title' => '任务当前状态。', + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* `running`: The task is running.'."\n" + .'* `failed`: The task failed.'."\n" + .'* `success`: The task is complete.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'created' => [ + 'title' => '任务创建时间。', + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2020-11-10T16:02:04+08:00', + ], + 'updated' => [ + 'title' => '任务更新时间。', + 'description' => 'The time when the task was updated.'."\n", + 'type' => 'string', + 'example' => '2020-11-10T16:03:06+08:00', + ], + 'target' => [ + 'title' => '任务执行对象。', + 'description' => 'The object of the task.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '任务执行对象ID。', + 'description' => 'The ID of the object.'."\n", + 'type' => 'string', + 'example' => 'c78592bfe92244365b3c3ad47f1de****'."\n", + ], + 'type' => [ + 'title' => '任务执行对象类型。', + 'description' => 'The type of the object.'."\n", + 'type' => 'string', + 'example' => 'cluster', + ], + ], + ], + 'parameters' => [ + 'title' => '任务参数。', + 'description' => 'The task parameters.'."\n", + 'type' => 'object', + ], + 'stages' => [ + 'title' => '任务阶段。', + 'description' => 'Detailed information about the stage of the task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'state' => [ + 'title' => '任务阶段状态。', + 'description' => 'The status of the stage.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'start_time' => [ + 'title' => '任务阶段开始时间。', + 'description' => 'The start time of the stage.'."\n", + 'type' => 'string', + 'example' => '2022-12-15 23:00:00', + ], + 'end_time' => [ + 'title' => '任务阶段结束时间。', + 'description' => 'The end time of the stage.'."\n", + 'type' => 'string', + 'example' => '2022-12-15 23:00:00', + ], + 'message' => [ + 'title' => '任务阶段信息。', + 'description' => 'The message about the stage.'."\n", + 'type' => 'string', + 'example' => 'success to xxxxx', + ], + 'outputs' => [ + 'title' => '任务阶段输出。', + 'description' => 'The output generated at the stage.'."\n", + 'type' => 'object', + ], + ], + ], + ], + 'current_stage' => [ + 'title' => '任务当前运行阶段。', + 'description' => 'The current stage of the task.'."\n", + 'type' => 'string', + 'example' => 'DrainNodes', + ], + 'events' => [ + 'title' => '任务产生的事件。', + 'description' => 'The event generated by the task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'title' => '事件动作。', + 'description' => 'The action of the event.'."\n", + 'type' => 'string', + 'example' => 'start', + ], + 'level' => [ + 'title' => '事件等级。', + 'description' => 'The severity level of the event.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'message' => [ + 'title' => '事件消息。', + 'description' => 'The message about the event.'."\n", + 'type' => 'string', + 'example' => 'start to xxx', + ], + 'reason' => [ + 'title' => '事件原因。', + 'description' => 'The cause of the event.'."\n", + 'type' => 'string', + 'example' => 'NodePoolUpgradeStart', + ], + 'source' => [ + 'title' => '事件来源。', + 'description' => 'The source of the event.'."\n", + 'type' => 'string', + 'example' => 'ACK', + ], + 'timestamp' => [ + 'title' => '事件生成时间。', + 'description' => 'The timestamp when the event was generated.'."\n", + 'type' => 'string', + 'example' => '1669706229286', + ], + ], + ], + ], + 'task_result' => [ + 'title' => '任务执行详情。', + 'description' => 'The execution details of the task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'data' => [ + 'title' => '操作的资源,例如:实例ID。', + 'description' => 'The resources that are managed by the task. For a scale-out task, the value of this parameter is the ID of the instance that is added by the task.'."\n", + 'type' => 'string', + 'example' => 'i-xxx', + ], + 'status' => [ + 'title' => '资源的状态。', + 'description' => 'The status of the scale-out task. Valid values:'."\n" + ."\n" + .'* `success`: The scale-out task is successful.'."\n" + .'* `success`: The scale-out task failed.'."\n" + .'* `initial`: The scale-out task is being initialized.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + ], + ], + ], + 'error' => [ + 'title' => '任务错误信息。', + 'description' => 'The error returned for the task.'."\n", + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'title' => '错误码。', + 'description' => 'The error code returned.'."\n", + 'type' => 'string', + 'example' => '400', + ], + 'message' => [ + 'title' => '错误消息。', + 'description' => 'The error message returned.'."\n", + 'type' => 'string', + 'example' => 'failed to xxx', + ], + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d000006\\",\\n \\"cluster_id\\": \\"c78592bfe92244365b3c3ad47f1de****\\",\\n \\"task_type\\": \\"cluster_scaleout\\",\\n \\"state\\": \\"running\\",\\n \\"created\\": \\"2020-11-10T16:02:04+08:00\\",\\n \\"updated\\": \\"2020-11-10T16:03:06+08:00\\",\\n \\"target\\": {\\n \\"id\\": \\"c78592bfe92244365b3c3ad47f1de****\\\\n\\",\\n \\"type\\": \\"cluster\\"\\n },\\n \\"parameters\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"stages\\": [\\n {\\n \\"state\\": \\"running\\",\\n \\"start_time\\": \\"2022-12-15 23:00:00\\",\\n \\"end_time\\": \\"2022-12-15 23:00:00\\",\\n \\"message\\": \\"success to xxxxx\\",\\n \\"outputs\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n ],\\n \\"current_stage\\": \\"DrainNodes\\",\\n \\"events\\": [\\n {\\n \\"action\\": \\"start\\",\\n \\"level\\": \\"Normal\\",\\n \\"message\\": \\"start to xxx\\",\\n \\"reason\\": \\"NodePoolUpgradeStart\\",\\n \\"source\\": \\"ACK\\",\\n \\"timestamp\\": \\"1669706229286\\"\\n }\\n ],\\n \\"task_result\\": [\\n {\\n \\"data\\": \\"i-xxx\\",\\n \\"status\\": \\"success\\"\\n }\\n ],\\n \\"error\\": {\\n \\"code\\": \\"400\\",\\n \\"message\\": \\"failed to xxx\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<cluster_id>c78592bfe92244365b3c3ad47f1de****</cluster_id>\\n<task_id>T-5faa48fb31b6b8078d000006</task_id>\\n<created>2020-11-10T16:02:04+08:00</created>\\n<updated>2020-11-10T16:03:06+08:00</updated>\\n<state>running</state>\\n<task_type>cluster_scaleout</task_type>\\n<task_result>\\n <data>i-xxx</data>\\n <status>success</status>\\n</task_result>","errorExample":""}]', + 'title' => 'DescribeTaskInfo', + ], + 'PauseTask' => [ + 'summary' => 'Pauses an on-going task.', + 'path' => '/tasks/{task_id}/pause', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'chargeType' => 'free', + 'abilityTreeCode' => '124838', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'task_id', + 'in' => 'path', + 'schema' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'T-62a944794ee141074400****', + ], + ], + ], + 'responses' => [ + 202 => [], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'PauseTask', + ], + 'ResumeTask' => [ + 'summary' => 'Resumes a task.', + 'path' => '/tasks/{task_id}/resume', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'task_id', + 'in' => 'path', + 'schema' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'T-62a944794ee141074400****', + ], + ], + ], + 'responses' => [ + 202 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'ResumeTask', + ], + 'CancelTask' => [ + 'summary' => 'Cancels the execution of a cluster task.', + 'path' => '/tasks/{task_id}/cancel', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'task_id', + 'in' => 'path', + 'schema' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'T-62ccd14aacb8db06ca00****', + ], + ], + ], + 'responses' => [ + 202 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'CancelTask', + ], + 'DescribeClusterTasks' => [ + 'summary' => 'Queries tasks in a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/clusters/{cluster_id}/tasks', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群id。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'page_size', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'page_number', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'page_info' => [ + 'title' => '分页信息。', + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'page_size' => [ + 'title' => '每页数量。', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'page_number' => [ + 'title' => '页数。', + 'description' => 'The number of the page returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'total_count' => [ + 'title' => '结果总数。', + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + ], + ], + 'tasks' => [ + 'title' => '任务数组。', + 'description' => 'The information about the tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'task_id' => [ + 'title' => '任务ID。', + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => 'install-addons-c3xxxxxx', + ], + 'task_type' => [ + 'title' => '任务类型。', + 'description' => 'The type of task.'."\n", + 'type' => 'string', + 'example' => 'cluster_addon_install', + ], + 'state' => [ + 'title' => '任务状态。', + 'description' => 'The status of the task.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'created' => [ + 'title' => '创建时间。', + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2022-08-03T10:11:33+08:00', + ], + 'updated' => [ + 'title' => '更新时间。', + 'description' => 'The time when the task was updated.'."\n", + 'type' => 'string', + 'example' => '2022-08-03T10:12:03.482+08:00', + ], + 'error' => [ + 'description' => 'The error returned for the task.'."\n", + 'type' => 'object', + 'properties' => [ + 'message' => [ + 'title' => '错误信息。', + 'description' => 'The error message returned.'."\n", + 'type' => 'string', + 'example' => 'Addon status not match', + ], + 'code' => [ + 'title' => '错误码。', + 'description' => 'The error code returned.'."\n", + 'type' => 'string', + 'example' => 'BadRequest', + ], + ], + ], + ], + ], + ], + 'requestId' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0527ac9a-c899-4341-a21a-xxxxxxxxx', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"page_info\\": {\\n \\"page_size\\": 10,\\n \\"page_number\\": 1,\\n \\"total_count\\": 10\\n },\\n \\"tasks\\": [\\n {\\n \\"task_id\\": \\"install-addons-c3xxxxxx\\",\\n \\"task_type\\": \\"cluster_addon_install\\",\\n \\"state\\": \\"success\\",\\n \\"created\\": \\"2022-08-03T10:11:33+08:00\\",\\n \\"updated\\": \\"2022-08-03T10:12:03.482+08:00\\",\\n \\"error\\": {\\n \\"message\\": \\"Addon status not match\\",\\n \\"code\\": \\"BadRequest\\"\\n }\\n }\\n ],\\n \\"requestId\\": \\"0527ac9a-c899-4341-a21a-xxxxxxxxx\\"\\n}","type":"json"}]', + 'title' => 'DescribeClusterTasks', + ], + 'ListOperationPlansForRegion' => [ + 'summary' => '获取单个地域的自动运维执行计划列表', + 'path' => '/regions/{region_id}/operation/plans', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'region_id', + 'in' => 'path', + 'schema' => [ + 'title' => '地域ID。', + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '按集群ID过滤。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c02b3e03be10643e8a644a843ffcb****', + ], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => [ + 'title' => '按执行计划类型过滤。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'CVE_FIX' => 'CVE_FIX', + 'CONTAINERD_UPGRADE' => 'CONTAINERD_UPGRADE', + 'CLUSTER_UPGRADE_MASTER' => 'CLUSTER_UPGRADE_MASTER', + 'CLUSTER_UPGRADE_ADDON' => 'CLUSTER_UPGRADE_ADDON', + 'NODEPOOL_CONFIG' => 'NODEPOOL_CONFIG', + 'KUBELET_UPGRADE' => 'KUBELET_UPGRADE', + 'NODEPOOL_UPDATE_OS' => 'NODEPOOL_UPDATE_OS', + 'IMAGE_UPGRADE' => 'IMAGE_UPGRADE', + ], + 'example' => 'CLUSTER_UPGRADE_MASTER', + ], + ], + [ + 'name' => 'state', + 'in' => 'query', + 'schema' => [ + 'title' => '按执行计划状态过滤。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'Scheduled' => '', + 'Failed' => '', + 'ValidatingFailed' => '', + 'Executing' => '', + 'Canceled' => '', + 'Executed' => '', + ], + 'example' => 'Scheduled', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'plans' => [ + 'title' => '执行计划列表。', + 'description' => '', + 'type' => 'array', + 'items' => [ + 'title' => '执行计划。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'plan_id' => [ + 'title' => '执行计划ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'P-655c9c127e0e6603ef00****', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****', + ], + 'created' => [ + 'title' => '执行计划创建时间。', + 'description' => '', + 'type' => 'string', + 'example' => '2023-11-21T20:01:22+08:00', + ], + 'start_time' => [ + 'title' => '预期开始执行时间。', + 'description' => '', + 'type' => 'string', + 'example' => '2023-11-22T15:18:00+08:00', + ], + 'end_time' => [ + 'title' => '预期结束执行时间。', + 'description' => '', + 'type' => 'string', + 'example' => '2023-11-22T18:00:00+08:00', + ], + 'state' => [ + 'title' => '状态。', + 'description' => '', + 'type' => 'string', + 'enumValueTitles' => [ + 'Scheduled' => '', + 'Failed' => '', + 'ValidatingFailed' => '', + 'Executing' => '', + 'Canceled' => '', + 'Executed' => '', + ], + 'example' => 'Scheduled', + ], + 'state_reason' => [ + 'title' => '状态原因。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'title' => '代码。', + 'type' => 'string', + ], + 'message' => [ + 'title' => '信息。', + 'type' => 'string', + ], + ], + ], + 'type' => [ + 'title' => '类型。', + 'description' => '', + 'type' => 'string', + 'enumValueTitles' => [ + 'CVE_FIX' => 'CVE_FIX', + 'CONTAINERD_UPGRADE' => 'CONTAINERD_UPGRADE', + 'CLUSTER_UPGRADE_MASTER' => 'CLUSTER_UPGRADE_MASTER', + 'CLUSTER_UPGRADE_ADDON' => 'CLUSTER_UPGRADE_ADDON', + 'NODEPOOL_CONFIG' => 'NODEPOOL_CONFIG', + 'KUBELET_UPGRADE' => 'KUBELET_UPGRADE', + 'NODEPOOL_UPDATE_OS' => 'NODEPOOL_UPDATE_OS', + 'IMAGE_UPGRADE' => 'IMAGE_UPGRADE', + ], + 'example' => 'CLUSTER_UPGRADE_MASTER', + ], + 'target_type' => [ + 'title' => '执行目标类型。', + 'description' => '', + 'type' => 'string', + 'enumValueTitles' => [ + 'cluster' => 'cluster', + 'nodepool' => 'nodepool', + 'addon' => 'addon', + ], + 'example' => 'cluster', + ], + 'target_id' => [ + 'title' => '执行目标ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****', + ], + 'task_id' => [ + 'title' => '执行计划产生的任务ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'T-681ac448b23ced010600****', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"plans\\": [\\n {\\n \\"plan_id\\": \\"P-655c9c127e0e6603ef00****\\",\\n \\"cluster_id\\": \\"c29ced64b3dfe4f33b57ca0aa9f68****\\",\\n \\"created\\": \\"2023-11-21T20:01:22+08:00\\",\\n \\"start_time\\": \\"2023-11-22T15:18:00+08:00\\",\\n \\"end_time\\": \\"2023-11-22T18:00:00+08:00\\",\\n \\"state\\": \\"Scheduled\\",\\n \\"state_reason\\": {\\n \\"code\\": \\"CanceledByUser\\",\\n \\"message\\": \\"plan has been canceled by user\\"\\n },\\n \\"type\\": \\"CLUSTER_UPGRADE_MASTER\\",\\n \\"target_type\\": \\"cluster\\",\\n \\"target_id\\": \\"c29ced64b3dfe4f33b57ca0aa9f68****\\",\\n \\"task_id\\": \\"T-681ac448b23ced010600****\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListOperationPlans' => [ + 'summary' => 'Queries the automated maintenance schedules of a cluster.', + 'path' => '/operation/plans', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '196741', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****', + ], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => [ + 'title' => '执行计划类型。', + 'description' => 'The operation plan type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster_upgrade', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'plans' => [ + 'title' => '执行计划列表。', + 'description' => 'The list of auto O\\&M execution plans.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '执行计划。', + 'description' => 'An execution plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'plan_id' => [ + 'title' => '执行计划ID。', + 'description' => 'The operation plan ID.'."\n", + 'type' => 'string', + 'example' => 'P-655c9c127e0e6603ef00****', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****', + ], + 'created' => [ + 'title' => '执行计划创建时间。', + 'description' => 'The time when the operation plan was created.'."\n", + 'type' => 'string', + 'example' => '2023-11-21T20:01:22+08:00', + ], + 'start_time' => [ + 'title' => '预期开始执行时间。', + 'description' => 'The expected start time of the plan.'."\n", + 'type' => 'string', + 'example' => '2023-11-22T15:18:00+08:00', + ], + 'end_time' => [ + 'title' => '预期结束执行时间。', + 'description' => 'The expected end time of the plan.'."\n", + 'type' => 'string', + 'example' => '2023-11-22T18:00:00+08:00', + ], + 'state' => [ + 'title' => '状态。', + 'description' => 'The plan status. Valid values:'."\n" + ."\n" + .'* scheduled'."\n" + .'* Canceled'."\n", + 'type' => 'string', + 'example' => 'scheduled', + ], + 'type' => [ + 'title' => '类型。', + 'description' => 'The plan type. Valid values:'."\n" + ."\n" + .'* cluster_upgrade'."\n", + 'type' => 'string', + 'example' => 'cluster_upgrade', + ], + 'target_type' => [ + 'title' => '执行目标类型。', + 'description' => 'The target type.'."\n", + 'type' => 'string', + 'example' => 'cluster', + ], + 'target_id' => [ + 'title' => '执行目标ID。', + 'description' => 'The target ID.'."\n", + 'type' => 'string', + 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****', + ], + 'task_id' => [ + 'title' => '执行计划产生的任务ID。', + 'description' => 'The ID of the task generated by the execution plan.'."\n", + 'type' => 'string', + 'example' => 'T-6764d027be846d01310006b1', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"plans\\": [\\n {\\n \\"plan_id\\": \\"P-655c9c127e0e6603ef00****\\",\\n \\"cluster_id\\": \\"c29ced64b3dfe4f33b57ca0aa9f68****\\",\\n \\"created\\": \\"2023-11-21T20:01:22+08:00\\",\\n \\"start_time\\": \\"2023-11-22T15:18:00+08:00\\",\\n \\"end_time\\": \\"2023-11-22T18:00:00+08:00\\",\\n \\"state\\": \\"scheduled\\",\\n \\"type\\": \\"cluster_upgrade\\",\\n \\"target_type\\": \\"cluster\\",\\n \\"target_id\\": \\"c29ced64b3dfe4f33b57ca0aa9f68****\\",\\n \\"task_id\\": \\"T-6764d027be846d01310006b1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListOperationPlansResponse>\\n <plans>\\n <plan_id>P-655c9c127e0e6603ef00****</plan_id>\\n <cluster_id>c29ced64b3dfe4f33b57ca0aa9f68****</cluster_id>\\n <created>2023-11-21T20:01:22+08:00</created>\\n <start_time>2023-11-22T15:18:00+08:00</start_time>\\n <end_time>2023-11-22T18:00:00+08:00</end_time>\\n <state>scheduled</state>\\n <type>cluster_upgrade</type>\\n <target_type>cluster</target_type>\\n <target_id>c29ced64b3dfe4f33b57ca0aa9f68****</target_id>\\n </plans>\\n</ListOperationPlansResponse>","errorExample":""}]', + 'title' => 'ListOperationPlans', + ], + 'CancelOperationPlan' => [ + 'summary' => 'You can call the CancelOperationPlan operation to cancel a pending auto O\\\\\\\\\\\\\\\\\\\\&M plan.', + 'path' => '/operation/plans/{plan_id}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '196742', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'plan_id', + 'in' => 'path', + 'schema' => [ + 'title' => '执行计划ID。', + 'description' => 'The ID of the O\\&M plan.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'P-655c9c127e0e6603ef00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => '请求ID。', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'db82195b-75a8-40e5-9be4-16f1829dc624', + ], + ], + 'title' => 'Schema of Response', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f1829dc624\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelOperationPlanResponse>\\n <requestId>873DC52C-28AA-5A5C-938C-684D3D4B****</requestId>\\n</CancelOperationPlanResponse>","errorExample":""}]', + 'title' => 'CancelOperationPlan', + ], + 'GetUpgradeStatus' => [ + 'summary' => 'You can call the GetUpgradeStatus operation to query the update progress of a cluster by cluster ID.', + 'path' => '/api/v2/clusters/{ClusterId}/upgrade/status', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '387', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The details about the update progress of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'error_message' => [ + 'title' => '错误信息描述。', + 'description' => 'The error message returned during the update.'."\n", + 'type' => 'string', + 'example' => 'subject to actual return', + ], + 'precheck_report_id' => [ + 'title' => '预检查返回ID。', + 'description' => 'The ID of the precheck report.'."\n", + 'type' => 'string', + 'example' => 'be4c8eb72de94d459ea7ace7c811d119', + ], + 'status' => [ + 'title' => '升级状态。', + 'description' => 'The status of the update. Valid values:'."\n" + ."\n" + .'* `success`: The update is successful.'."\n" + .'* `fail`: The update failed.'."\n" + .'* `pause`: The update is paused.'."\n" + .'* `running`: The update is in progress.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'upgrade_step' => [ + 'title' => '升级任务执行到哪一步了。', + 'description' => 'The current phase of the update. Valid values:'."\n" + ."\n" + .'* `not_start`: The update is not started.'."\n" + .'* `prechecking`: The precheck is in progress.'."\n" + .'* `upgrading`: The cluster is being updated.'."\n" + .'* `pause`: The update is paused.'."\n" + .'* `success`: The update is successful.'."\n", + 'type' => 'string', + 'example' => 'prechecking', + ], + 'upgrade_task' => [ + 'title' => '升级任务详情。', + 'description' => 'The details of the update task.'."\n", + 'type' => 'object', + 'properties' => [ + 'status' => [ + 'title' => '任务状态: emptry、running、success、failed', + 'description' => 'The status of the update task. Valid values:'."\n" + ."\n" + .'* `running`: The update task is being executed.'."\n" + .'* `Success`: The update task is successfully executed.'."\n" + .'* `Failed`: The update task failed.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'message' => [ + 'title' => '任务描述信息。', + 'description' => 'The description of the update task.'."\n", + 'type' => 'string', + 'example' => 'subject to actual return', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DescribeTaskInfo', + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"error_message\\": \\"subject to actual return\\",\\n \\"precheck_report_id\\": \\"be4c8eb72de94d459ea7ace7c811d119\\",\\n \\"status\\": \\"running\\",\\n \\"upgrade_step\\": \\"prechecking\\",\\n \\"upgrade_task\\": {\\n \\"status\\": \\"running\\",\\n \\"message\\": \\"subject to actual return\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetUpgradeStatusResponse>\\n <error_message>subject to actual return</error_message>\\n <precheck_report_id>be4c8eb72de94d459ea7ace7c811d119</precheck_report_id>\\n <status>running</status>\\n <upgrade_step>prechecking</upgrade_step>\\n <upgrade_task>\\n <status>running</status>\\n <message>subject to actual return</message>\\n </upgrade_task>\\n</GetUpgradeStatusResponse>","errorExample":""}]', + 'title' => '(Deprecated)GetUpgradeStatus', + ], + 'PauseClusterUpgrade' => [ + 'summary' => 'You can call the PauseClusterUpgrade operation to pause the update of a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/api/v2/clusters/{ClusterId}/upgrade/pause', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '580', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::PauseTask', + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => '(Deprecated)PauseClusterUpgrade', + ], + 'CancelClusterUpgrade' => [ + 'summary' => 'You can call the CancelClusterUpgrade operation to cancel the update of a cluster.', + 'path' => '/api/v2/clusters/{ClusterId}/upgrade/cancel', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '414', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::CancelTask', + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => '(Deprecated)CancelClusterUpgrade', + ], + 'ResumeUpgradeCluster' => [ + 'summary' => 'You can call the ResumeUpgradeCluster operation to resume the update of a cluster by cluster ID.', + 'path' => '/api/v2/clusters/{ClusterId}/upgrade/resume', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::ResumeTask', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => '(Deprecated)ResumeUpgradeCluster', + ], + 'DescribeAddons' => [ + 'summary' => 'You can call the DescribeAddons operation to query the details about all components that are supported by Container Service for Kubernetes (ACK).', + 'path' => '/clusters/components/metadata', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => [ + 'title' => '地域ID。', + 'description' => 'The region ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing ', + ], + ], + [ + 'name' => 'cluster_type', + 'in' => 'query', + 'schema' => [ + 'title' => '集群类型。 - Kubernetes: 专有版集群。 - ManagedKubernetes:托管版集群。 - Ask:Serverless 集群。 - ExternalKubernetes:注册到ACK的外部集群。', + 'description' => '* `Kubernetes`: ACK dedicated cluster.'."\n" + .'* `ManagedKubernetes`: ACK managed cluster. ACK managed clusters include ACK Basic clusters, ACK Pro clusters, ACK Serverless Basic clusters, ACK Serverless Pro clusters, ACK Edge Basic clusters, ACK Edge Pro clusters, and ACK Lingjun Pro clusters.'."\n" + .'* `ExternalKubernetes`: registered cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kubernetes', + ], + ], + [ + 'name' => 'cluster_profile', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cluster type. Valid values:'."\n" + ."\n" + .'* `Default`: ACK managed cluster'."\n" + .'* `Serverless`: ACK Serverless cluster'."\n" + .'* `Edge`: ACK Edge cluster'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'cluster_spec', + 'in' => 'query', + 'schema' => [ + 'description' => 'If you set `cluster_type` to `ManagedKubernetes` and specify `profile`, you can further specify the edition of the cluster. Valid values:'."\n" + ."\n" + .'* `ack.pro.small`: creates an ACK Pro cluster.'."\n" + .'* `ack.standard`: creates an ACK Basic cluster. If you leave the parameter empty, an ACK Basic cluster is created.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ack.pro.small', + ], + ], + [ + 'name' => 'cluster_version', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cluster version.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.24.6-aliyun.1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The response body parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'ComponentGroups' => [ + 'title' => '组件分组信息,例如:存储类组件,网络组件等。', + 'description' => 'The list of the returned components.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'group_name' => [ + 'title' => '组件组名称。', + 'description' => 'The name of the component group.'."\n", + 'type' => 'string', + 'example' => 'storage', + ], + 'items' => [ + 'title' => '组件列表', + 'description' => 'The names of the components in the component group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'example' => 'flexvolume', + ], + ], + ], + ], + ], + ], + ], + 'StandardComponents' => [ + 'title' => '标准组件信息,包含各个组件的描述信息。', + 'description' => 'Standard components.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'example' => 'ack-arena', + ], + 'version' => [ + 'title' => '组件版本。', + 'description' => 'The version of the component.'."\n", + 'type' => 'string', + 'example' => '0.5.0', + ], + 'description' => [ + 'title' => '组件描述信息。', + 'description' => 'The description of the component.'."\n", + 'type' => 'string', + 'example' => '***', + ], + 'required' => [ + 'title' => '是否为必需组件。', + 'description' => 'Indicates whether the component is a required component. Valid values:'."\n" + ."\n" + .'* `true`: The component is required and must be installed when a cluster is created.'."\n" + .'* `false`: The component is optional. After a cluster is created, you can go to the `Add-ons` page to install the component.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'disabled' => [ + 'title' => '是否禁止默认安装。', + 'description' => 'Indicates whether the automatic installation of the component is disabled. By default, some optional components, such as components for logging and Ingresses, are installed when a cluster is created. You can set this parameter to disable automatic component installation. Valid values:'."\n" + ."\n" + .'* `true`: disables automatic component installation.'."\n" + .'* `false`: enables automatic component installation.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + 'description' => 'The details of the standard components.'."\n", + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::ListAddons', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ComponentGroups\\": [\\n {\\n \\"group_name\\": \\"storage\\",\\n \\"items\\": [\\n {\\n \\"name\\": \\"flexvolume\\"\\n }\\n ]\\n }\\n ],\\n \\"StandardComponents\\": {\\n \\"key\\": {\\n \\"name\\": \\"ack-arena\\",\\n \\"version\\": \\"0.5.0\\",\\n \\"description\\": \\"***\\",\\n \\"required\\": \\"false\\",\\n \\"disabled\\": false\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<StandardComponents>\\n <cloud-controller-manager>\\n <name>cloud-controller-manager</name>\\n <version>v1.9.3.339-g9830b58-aliyun</version>\\n <disabled>false</disabled>\\n <required>true</required>\\n <description>name: Cloud Controller Manager introduction: Using Cloud Controller Manager to create load balancers for k8s applications and manage node route entries doc:en: https://www.alibabacloud.com/help/doc-detail/94925.htm</description>\\n </cloud-controller-manager>\\n <csi-plugin>\\n <name>csi-plugin</name>\\n <version>v1.16.9.43-f36bb540-aliyun</version>\\n <disabled>false</disabled>\\n <required>false</required>\\n <description>csi-plugin</description>\\n </csi-plugin>\\n</StandardComponents>\\n<ComponentGroups>\\n <group_name>storage</group_name>\\n <items>\\n <name>flexvolume</name>\\n </items>\\n <items>\\n <name>alicloud-disk-controller</name>\\n </items>\\n <items>\\n <name>csi-plugin</name>\\n </items>\\n <items>\\n <name>csi-provisioner</name>\\n </items>\\n</ComponentGroups>\\n<ComponentGroups>\\n <group_name>network</group_name>\\n <items>\\n <name>kube-flannel-ds</name>\\n </items>\\n <items>\\n <name>terway</name>\\n </items>\\n <items>\\n <name>terway-eni</name>\\n </items>\\n <items>\\n <name>terway-eniip</name>\\n </items>\\n <items>\\n <name>nginx-ingress-controller</name>\\n </items>\\n <items>\\n <name>coredns</name>\\n </items>\\n <items>\\n <name>managed-kube-proxy</name>\\n </items>\\n</ComponentGroups>","errorExample":""}]', + 'title' => '(Deprecated)DescribeAddons', + ], + 'DescribeClusterAddonsVersion' => [ + 'summary' => 'You can call the DescribeClusterAddonsVersion operation to query the details about all components in a cluster by cluster ID.', + 'path' => '/clusters/{ClusterId}/components/version', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '402', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '组件版本信息。', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'component_name' => [ + 'title' => '组件名称', + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'example' => 'ack-node-problem-detector', + ], + 'version' => [ + 'title' => '组件当前版本', + 'description' => 'The current version of the component.'."\n" + ."\n" + .'> If the value of `version` is not empty, it indicates that the component is installed.'."\n", + 'type' => 'string', + 'example' => '1.2.1', + ], + 'next_version' => [ + 'title' => '组件可升级版本', + 'description' => 'The version to which the component can be updated.'."\n", + 'type' => 'string', + 'example' => '1.2.1', + ], + 'changed' => [ + 'title' => '组件是否升级过。', + 'description' => 'Indicates whether the component is updated. Valid values:'."\n" + ."\n" + .'* `true`: The component is updated.'."\n" + .'* `false`: The component is not updated.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'can_upgrade' => [ + 'title' => '组件是否可以升级。', + 'description' => 'Indicates whether the component is updatable. Valid values:'."\n" + ."\n" + .'* `true`: The component is updatable.'."\n" + .'* `false`: The component is not updatable.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'policy' => [ + 'title' => '组件升级策略', + 'description' => 'The update policy of the component.'."\n" + ."\n" + .'* `overwrite`: The component configurations of the later version overwrite those of the current version.'."\n" + ."\n" + .'Default value: `overwrite`.'."\n", + 'type' => 'string', + 'example' => 'overwrite', + ], + 'ready_to_upgrade' => [ + 'title' => '组件是否满足升级条件', + 'description' => 'Indicates whether the component meets the update conditions. Valid values:'."\n" + ."\n" + .'* `true`: The component meets the update conditions.'."\n" + .'* `false`: The component does not meet the update conditions.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'exist' => [ + 'title' => '组件是否已经存在', + 'description' => 'Indicates whether the component can be installed in the specified ACK cluster. Valid values:'."\n" + ."\n" + .'* `true`: The component can be installed in the cluster.'."\n" + .'* `false`: The component cannot be installed in the cluster.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'required' => [ + 'title' => '组件是否为集群必需。', + 'description' => 'Indicates whether the component is required in the cluster. Valid values:'."\n" + ."\n" + .'* `true`: The component is required in the cluster.'."\n" + .'* `false`: The component is not required in the cluster.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'message' => [ + 'title' => '组件描述信息', + 'description' => 'Additional information about whether the component is updatable.'."\n", + 'type' => 'string', + 'example' => 'Addons that detect node failures and report to event center.'."\n", + ], + 'value' => [ + 'title' => '安装addon的时候,用户自定义的参数值。Yaml字符串。', + 'description' => 'The custom parameters. When you install a component, you can customize parameters for the component.'."\n", + 'type' => 'string', + 'example' => 'npd:\\n # Custom monitor definitions to add to Node Problem Detector ****', + ], + ], + 'description' => 'The details of the component.'."\n", + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::ListClusterAddonInstances', + 'CS::2015-12-15::GetClusterAddonInstance', + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"key\\": {\\n \\"component_name\\": \\"ack-node-problem-detector\\",\\n \\"version\\": \\"1.2.1\\",\\n \\"next_version\\": \\"1.2.1\\",\\n \\"changed\\": \\"false\\",\\n \\"can_upgrade\\": false,\\n \\"policy\\": \\"overwrite\\",\\n \\"ready_to_upgrade\\": \\"false\\",\\n \\"exist\\": true,\\n \\"required\\": false,\\n \\"message\\": \\"节点故障检测以及上报至事件中心的插件\\",\\n \\"value\\": \\"npd:\\\\\\\\n # Custom monitor definitions to add to Node Problem Detector ****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<ack-node-problem-detector>\\n <exist>true</exist>\\n <component_name>ack-node-problem-detector</component_name>\\n <can_upgrade>false</can_upgrade>\\n <ready_to_upgrade>false</ready_to_upgrade>\\n <message>节点故障检测以及上报至事件中心的插件</message>\\n <version>1.2.1</version>\\n <value>npd:\\n # Custom monitor definitions to add to Node Problem Detector ****</value>\\n <required>false</required>\\n <next_version>1.2.1</next_version>\\n <changed>false</changed>\\n <policy>overwrite</policy>\\n</ack-node-problem-detector>","errorExample":""}]', + 'title' => '(Deprecated)DescribeClusterAddonsVersion', + ], + 'DescribeClusterAddonInstance' => [ + 'summary' => 'You can call the DescribeClusterAddonInstance operation to query the information about a cluster component, including the version, status, and configuration of the component.', + 'path' => '/clusters/{ClusterID}/components/{AddonName}/instance', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '170092', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterID', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cd06bbf8a86764a31bcac76136691****', + ], + ], + [ + 'name' => 'AddonName', + 'in' => 'path', + 'schema' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'terway-eniip', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'example' => 'terway-eniip', + ], + 'version' => [ + 'title' => '组件版本。', + 'description' => 'The version of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.4.3', + ], + 'state' => [ + 'title' => '组件状态。', + 'description' => 'The status of the component. Valid values:'."\n" + ."\n" + .'* initial: The component is being installed.'."\n" + .'* active: The component has been installed.'."\n" + .'* unhealthy: The component is in an abnormal state.'."\n" + .'* upgrading: The component is undergoing an upgrade.'."\n" + .'* updating: Component configuration changes are being applied.'."\n" + .'* deleting: The component is being uninstalled.'."\n" + .'* deleted: The component has been deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + 'enum' => [ + 'initial', + 'active', + 'unhealthy', + 'upgrading', + 'updating', + 'deleting', + 'deleted', + ], + ], + 'config' => [ + 'title' => '组件配置。', + 'description' => 'The configuration of the component.'."\n", + 'type' => 'string', + 'example' => '{"NetworkPolicy":"true"}', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::GetClusterAddonInstance', + ], + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"name\\": \\"terway-eniip\\",\\n \\"version\\": \\"v1.4.3\\",\\n \\"state\\": \\"active\\",\\n \\"config\\": \\"{\\\\\\"NetworkPolicy\\\\\\":\\\\\\"true\\\\\\"}\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterAddonInstanceResponse>\\n <name>terway-eniip</name>\\n <version>v1.4.3</version>\\n <state>active</state>\\n <config>{\\"NetworkPolicy\\":\\"true\\"}</config>\\n</DescribeClusterAddonInstanceResponse>","errorExample":""}]', + 'title' => '(Deprecated)DescribeClusterAddonInstance', + ], + 'DescribeClusterAddonMetadata' => [ + 'summary' => 'You can call the DescribeClusterAddonMetadata operation to query the metadata of a component version. The metadata includes the component version and available parameters.', + 'path' => '/clusters/{cluster_id}/components/{component_id}/metadata', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '101052', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c71d616e629ff40d5b42d7bb87770****', + ], + ], + [ + 'name' => 'component_id', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID', + 'description' => 'The component ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'coredns', + ], + ], + [ + 'name' => 'version', + 'in' => 'query', + 'schema' => [ + 'title' => '组件版本', + 'description' => 'The component version.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.8.4.1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '组件版本元数据', + 'description' => 'The metadata of the component version.'."\n", + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称', + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'example' => 'coredns', + ], + 'version' => [ + 'title' => '组件版本', + 'description' => 'The component version.'."\n", + 'type' => 'string', + 'example' => '1.8.4.1', + ], + 'config_schema' => [ + 'title' => '组件参数Schema', + 'description' => 'The component schema parameters.'."\n", + 'type' => 'string', + 'example' => '{\\n \\"$schema\\": \\"https://json-schema.org/draft-07/schema#\\",\\n \\"properties\\": {\\n \\"controller\\": {\\n \\"description\\": \\"\\",\\n \\"properties\\": {\\n \\"resources\\": {\\n \\"properties\\": {\\n \\"armsPrometheusOperator\\": {\\n \\"properties\\": {\\n \\"resources\\": {\\n \\"properties\\": {\\n \\"limits\\": {\\n \\"properties\\": {\\n \\"memory\\": {\\n \\"description\\": \\"memory limit of arms prometheus operator\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*(\\\\\\\\.\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\",\\n \\"default\\": \\"500m\\",\\n \\"x-ui-description\\": \\"<mds-key>\\",\\n \\"x-ui-prompt-message\\": \\"<mds-key>\\",\\n \\"x-ui-validation-message\\": \\"<mds-key>\\",\\n \\"x-ui-additional-tips\\": \\"<mds-key>\\"\\n },\\n \\"cpu\\": {\\n \\"description\\": \\"cpu limit of arms prometheus operator\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*(m|\\\\\\\\.\\\\\\\\d+)?$\\",\\n \\"default\\": \\"1.0\\",\\n \\"x-ui-description\\": \\"<mds-key>\\",\\n \\"x-ui-validation-message\\": \\"<mds-key>\\"\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n },\\n \\"requests\\": {\\n \\"properties\\": {\\n \\"memory\\": {\\n \\"description\\": \\"memory request of arms prometheus operator\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*(\\\\\\\\.\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\",\\n \\"default\\": \\"500m\\",\\n \\"x-ui-description\\": \\"<mds-key>\\",\\n \\"x-ui-validation-message\\": \\"<mds-key>\\"\\n },\\n \\"cpu\\": {\\n \\"description\\": \\"cpu request of arms prometheus operator\\",\\n \\"type\\": \\"string\\",\\n \\"pattern\\": \\"^[1-9][0-9]*(m|\\\\\\\\.\\\\\\\\d+)?$\\",\\n \\"default\\": \\"1.0\\",\\n \\"x-ui-description\\": \\"<mds-key>\\",\\n \\"x-ui-validation-message\\": \\"<mds-key>\\"\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n }\\n },\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n }\\n },\\n \\"title\\": \\"Values\\",\\n \\"type\\": \\"object\\",\\n \\"additionalProperties\\": false\\n}', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DescribeAddon', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"name\\": \\"coredns\\",\\n \\"version\\": \\"1.8.4.1\\",\\n \\"config_schema\\": \\"{\\\\\\\\n \\\\\\\\\\\\\\"$schema\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"https://json-schema.org/draft-07/schema#\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"controller\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"resources\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"armsPrometheusOperator\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"resources\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"limits\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"memory limit of arms prometheus operator\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"pattern\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"^[1-9][0-9]*(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"default\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"500m\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-prompt-message\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-validation-message\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-additional-tips\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\"\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"cpu limit of arms prometheus operator\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"pattern\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"^[1-9][0-9]*(m|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\d+)?$\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"default\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-validation-message\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\"\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"requests\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"memory request of arms prometheus operator\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"pattern\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"^[1-9][0-9]*(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"default\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"500m\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-validation-message\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\"\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\": {\\\\\\\\n \\\\\\\\\\\\\\"description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"cpu request of arms prometheus operator\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"pattern\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"^[1-9][0-9]*(m|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\d+)?$\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"default\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"x-ui-validation-message\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"<mds-key>\\\\\\\\\\\\\\"\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n }\\\\\\\\n },\\\\\\\\n \\\\\\\\\\\\\\"title\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Values\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"object\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"additionalProperties\\\\\\\\\\\\\\": false\\\\\\\\n}\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterAddonMetadataResponse>\\n <name>coredns</name>\\n <version>1.8.4.1</version>\\n <config_schema>{\\\\n \\\\\\"$schema\\\\\\": \\\\\\"https://json-schema.org/draft-07/schema#\\\\\\",\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"controller\\\\\\": {\\\\n \\\\\\"description\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"resources\\\\\\": {\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"armsPrometheusOperator\\\\\\": {\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"resources\\\\\\": {\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"limits\\\\\\": {\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"memory\\\\\\": {\\\\n \\\\\\"description\\\\\\": \\\\\\"memory limit of arms prometheus operator\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"pattern\\\\\\": \\\\\\"^[1-9][0-9]*(\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\\\\\",\\\\n \\\\\\"default\\\\\\": \\\\\\"500m\\\\\\",\\\\n \\\\\\"x-ui-description\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-prompt-message\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-additional-tips\\\\\\": \\\\\\"<mds-key>\\\\\\"\\\\n },\\\\n \\\\\\"cpu\\\\\\": {\\\\n \\\\\\"description\\\\\\": \\\\\\"cpu limit of arms prometheus operator\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"pattern\\\\\\": \\\\\\"^[1-9][0-9]*(m|\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\d+)?$\\\\\\",\\\\n \\\\\\"default\\\\\\": \\\\\\"1.0\\\\\\",\\\\n \\\\\\"x-ui-description\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"<mds-key>\\\\\\"\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n },\\\\n \\\\\\"requests\\\\\\": {\\\\n \\\\\\"properties\\\\\\": {\\\\n \\\\\\"memory\\\\\\": {\\\\n \\\\\\"description\\\\\\": \\\\\\"memory request of arms prometheus operator\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"pattern\\\\\\": \\\\\\"^[1-9][0-9]*(\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\d+)?(K|Ki|M|Mi|G|Gi|T|Ti)?$\\\\\\",\\\\n \\\\\\"default\\\\\\": \\\\\\"500m\\\\\\",\\\\n \\\\\\"x-ui-description\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"<mds-key>\\\\\\"\\\\n },\\\\n \\\\\\"cpu\\\\\\": {\\\\n \\\\\\"description\\\\\\": \\\\\\"cpu request of arms prometheus operator\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"pattern\\\\\\": \\\\\\"^[1-9][0-9]*(m|\\\\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\d+)?$\\\\\\",\\\\n \\\\\\"default\\\\\\": \\\\\\"1.0\\\\\\",\\\\n \\\\\\"x-ui-description\\\\\\": \\\\\\"<mds-key>\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"<mds-key>\\\\\\"\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n }\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n }\\\\n },\\\\n \\\\\\"title\\\\\\": \\\\\\"Values\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"object\\\\\\",\\\\n \\\\\\"additionalProperties\\\\\\": false\\\\n}</config_schema>\\n</DescribeClusterAddonMetadataResponse>","errorExample":""}]', + 'title' => '(Deprecated)DescribeClusterAddonMetadata', + ], + 'DescribeClusterAddonsUpgradeStatus' => [ + 'summary' => 'You can call the DescribeClusterAddonsUpgradeStatus operation to query the update progress of a component by component name.', + 'path' => '/clusters/{ClusterId}/components/upgradestatus', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '498', + 'abilityTreeNodes' => [ + 'FEATUREcskGIIHWM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c23421cfa74454bc8b37163fd19af****', + ], + ], + [ + 'name' => 'componentIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '组件名称列表。', + 'description' => 'The list of component names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'metric-server', + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => '组件升级详情', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'addon_info' => [ + 'title' => '组件信息', + 'description' => 'The information about the component.'."\n", + 'type' => 'object', + 'properties' => [ + 'component_name' => [ + 'title' => '组件名称', + 'description' => 'The name of the component.'."\n", + 'type' => 'string', + 'example' => 'cloud-controller-manager', + ], + 'version' => [ + 'title' => '组件版本', + 'description' => 'The current version of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.9.3.340-g9830b58-aliyun', + ], + 'ready_to_upgrade' => [ + 'title' => '组件是否满足升级条件', + 'description' => 'Indicates whether the component meets the update conditions. Valid values:'."\n" + ."\n" + .'* `true`: The component meets the update conditions.'."\n" + .'* `false`: The component does not meet the update conditions.'."\n", + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + 'tasks' => [ + 'title' => '升级任务详情', + 'description' => 'The details of the update task.'."\n", + 'type' => 'object', + 'properties' => [ + 'created_at' => [ + 'title' => '升级任务创建时间', + 'description' => 'The start time of the task.'."\n", + 'type' => 'string', + 'example' => '2020-12-28T17:00:50Z', + ], + 'finished_at' => [ + 'title' => '升级任务完成时间', + 'description' => 'The end time of the task.'."\n", + 'type' => 'string', + 'example' => '2020-12-28T17:05:36Z', + ], + 'status' => [ + 'title' => '升级任务状态', + 'description' => 'The status of the update task. Valid values:'."\n" + ."\n" + .'* `Upgrading`: The update task is in progress.'."\n" + .'* `Success`: The update task is successful.'."\n" + .'* `Failed`: The update task failed.'."\n" + .'* `Running`: The component is being installed.'."\n" + .'* `Paused`: The update task is paused.'."\n" + .'* `Canceled:` The update task is canceled.'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'is_canceled' => [ + 'title' => '升级任务是否被取消。', + 'description' => 'Indicates whether the update task is canceled. Valid values:'."\n" + ."\n" + .'* `true`: The update task is canceled.'."\n" + .'* `false`: The update task is not canceled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'description' => 'The details about the update progress of the components.'."\n", + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::ListClusterAddonInstances', + 'CS::2015-12-15::GetClusterAddonInstance', + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"key\\": {\\n \\"addon_info\\": {\\n \\"component_name\\": \\"cloud-controller-manager\\",\\n \\"version\\": \\"v1.9.3.340-g9830b58-aliyun\\",\\n \\"ready_to_upgrade\\": \\"true\\"\\n },\\n \\"tasks\\": {\\n \\"created_at\\": \\"2020-12-28T17:00:50Z\\",\\n \\"finished_at\\": \\"2020-12-28T17:05:36Z\\",\\n \\"status\\": \\"Success\\",\\n \\"is_canceled\\": false\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterAddonsUpgradeStatusResponse>\\n <key>\\n <addon_info>\\n <component_name>cloud-controller-manager</component_name>\\n <version>v1.9.3.340-g9830b58-aliyun</version>\\n <ready_to_upgrade>true</ready_to_upgrade>\\n </addon_info>\\n <tasks>\\n <created_at>2020-12-28T17:00:50Z</created_at>\\n <finished_at>2020-12-28T17:05:36Z</finished_at>\\n <status>Success</status>\\n <is_canceled>false</is_canceled>\\n </tasks>\\n </key>\\n</DescribeClusterAddonsUpgradeStatusResponse>","errorExample":""}]', + 'title' => '(Deprecated)DescribeClusterAddonsUpgradeStatus', + ], + 'UpdateNodePoolComponent' => [ + 'summary' => '更新节点组件', + 'path' => '/clusters/{clusterId}/nodepools/{nodepoolId}/component', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk4JRUSW', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'nodepoolId', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'np7c4fa4a5f1ce412b84967089****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '节点组件名称。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'kubelet', + ], + 'version' => [ + 'title' => '节点组件版本。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '1.28.9-aliyun.1', + ], + 'config' => [ + 'title' => '节点组件配置。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'customConfig' => [ + 'title' => '组件自定义配置。', + 'description' => '', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'description' => '', + 'example' => 'cpuCFSQuota', + ], + ], + ], + 'required' => false, + ], + 'disableRolling' => [ + 'title' => '是否禁止轮转,默认值为false,更新基线配置会同步轮转节点。', + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'default' => 'false', + ], + 'nodeNames' => [ + 'title' => '指定轮转的节点列表,默认为全部节点。', + 'description' => '', + 'type' => 'array', + 'items' => [ + 'title' => '节点名称。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou.10.91.xx.xx', + ], + 'required' => false, + ], + 'rollingPolicy' => [ + 'title' => '轮转配置。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'maxParallelism' => [ + 'title' => '每批次的最大并行数,默认值1。', + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + 'pausePolicy' => [ + 'title' => '节点升级过程中的自动暂停策略。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'NotPause', + 'default' => 'NotPause', + 'enum' => [ + 'NotPause', + 'FirstBatch', + 'EveryBatch', + ], + ], + 'batchInterval' => [ + 'title' => '批次之间的升级间隔时间,单位秒。', + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + 'default' => '0', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', + ], + 'taskId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'T-67d7ec016ce37c0106000***', + ], + 'clusterId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"clusterId\\": \\"c82e6987e2961451182edacd74faf****\\"\\n}","type":"json"}]', + ], + 'InstallNodePoolComponents' => [ + 'summary' => '为ACK集群节点池安装节点组件', + 'path' => '/clusters/{clusterId}/nodepools/{nodePoolId}/components', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcsk4HGX7D', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'nodePoolId', + 'in' => 'path', + 'schema' => [ + 'title' => '节点池ID。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'np7c4fa4a5f1ce412b849****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'components' => [ + 'title' => '节点组件列表。', + 'description' => '', + 'type' => 'array', + 'items' => [ + 'title' => '单个组件配置。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '组件名称。', + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'kubelet', + ], + 'version' => [ + 'title' => '组件版本。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '1.28.9-aliyun.1', + ], + 'config' => [ + 'title' => '组件配置。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'customConfig' => [ + 'title' => '组件自定义配置。', + 'description' => '', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'cpuCFSQuota', + 'description' => '', + ], + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'rollingPolicy' => [ + 'title' => '轮转配置。', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'maxParallelism' => [ + 'title' => '每批次的最大并行数,默认值1。', + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + 'pausePolicy' => [ + 'title' => '节点升级过程中的自动暂停策略。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'NotPause', + 'default' => 'NotPause', + 'enum' => [ + 'NotPause', + 'FirstBatch', + 'EveryBatch', + ], + ], + 'batchInterval' => [ + 'title' => '批次之间的升级间隔时间,单位秒。', + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + 'default' => '0', + ], + ], + 'required' => false, + ], + 'nodeNames' => [ + 'title' => '指定轮转的节点名称列表,默认为全部节点。', + 'description' => '', + 'type' => 'array', + 'items' => [ + 'title' => '节点名称。', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou.10.2xxx', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'title' => '请求ID。', + 'description' => '', + 'type' => 'string', + 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', + ], + 'taskId' => [ + 'title' => '任务ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'T-67d7ec016ce37c0106000***', + ], + 'clusterId' => [ + 'title' => '集群ID。', + 'description' => '', + 'type' => 'string', + 'example' => 'c8155823d057948c69a****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"clusterId\\": \\"c8155823d057948c69a****\\"\\n}","type":"json"}]', + ], + 'DescribeExternalAgent' => [ + 'summary' => 'Queries the proxy configurations of a registered cluster by cluster ID.', + 'path' => '/k8s/{ClusterId}/external/agent/deployment', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'abilityTreeCode' => '392', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '是否获取内网访问凭据。 true:获取内网连接凭据 false:获取公网连接凭据 默认值:false。', + 'description' => 'Specifies whether to obtain the credentials that are used to access the cluster over the internal network.'."\n" + ."\n" + .'* `true`: obtains the credentials that are used to access the cluster over the internal network.'."\n" + .'* `false`: obtains the credentials that are used to access the cluster over the Internet.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AgentMode', + 'in' => 'query', + 'schema' => [ + 'title' => 'agent模式', + 'description' => 'The permission mode of the agent. Valid values:'."\n" + ."\n" + .'admin: the admin mode, which provides full permissions. restricted: the restricted mode, which provides partial permissions. Default value: admin.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'admin', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'config' => [ + 'title' => '代理配置。', + 'description' => 'The agent configurations in the YAML format.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: v1****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"config\\": \\"apiVersion: v1****\\"\\n}","errorExample":""},{"type":"xml","example":"<config>apiVersion: v1****</config>","errorExample":""}]', + 'title' => 'DescribeExternalAgent', + 'description' => 'For more information, see [Register an external Kubernetes cluster](~~121053~~).'."\n", + ], + 'CreateKubernetesTrigger' => [ + 'summary' => 'You can call the CreateKubernetesTrigger operation to create a trigger for an application.', + 'path' => '/triggers', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskT7MN2U', + ], + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'schema' => [ + 'title' => '请求体参数', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + 'project_id' => [ + 'title' => '项目名称。', + 'description' => 'The name of the trigger project.'."\n" + ."\n" + .'The name consists of the namespace where the application is deployed and the name of the application. The format is `${namespace}/${name}`.'."\n" + ."\n" + .'Example: `default/test-app`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default/test-app', + ], + 'action' => [ + 'title' => '触发器行为', + 'description' => 'The action that the trigger performs. Set the value to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resources specified by `project_id`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'redeploy', + ], + 'type' => [ + 'title' => '触发器类型。默认deployment。', + 'description' => 'The type of trigger. Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deployment', + ], + ], + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '触发器ID。', + 'description' => 'The ID of the trigger.'."\n", + 'type' => 'string', + 'example' => '111', + ], + 'cluster_id' => [ + 'title' => '集群ID。', + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + 'project_id' => [ + 'title' => '触发器项目名称。', + 'description' => 'The name of the trigger project.'."\n", + 'type' => 'string', + 'example' => 'default/test-app', + ], + 'type' => [ + 'title' => '触发器类型。默认值为 deployment 。', + 'description' => 'The type of trigger.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n", + 'type' => 'string', + 'example' => 'deployment', + ], + 'action' => [ + 'title' => '触发器行为。', + 'description' => 'The action that the trigger performs. For example, a value of `redeploy` indicates that the trigger redeploys the application.'."\n", + 'type' => 'string', + 'example' => 'redeploy', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::CreateTrigger', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"id\\": \\"111\\",\\n \\"cluster_id\\": \\"c5cdf7e3938bc4f8eb0e44b21a80f****\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\"\\n}","errorExample":""},{"type":"xml","example":"<id>111</id>\\n<cluster_id>c5cdf7e3938bc4f8eb0e44b21a80f****</cluster_id>\\n<project_id>default/test-app</project_id>\\n<type>deployment</type>\\n<action>redeploy</action>","errorExample":""}]', + 'title' => 'CreateKubernetesTrigger', + ], + 'ResumeComponentUpgrade' => [ + 'summary' => 'You can call the ResumeComponentUpgrade operation to resume the update of a component.', + 'path' => '/clusters/{clusterid}/components/{componentid}/resume', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '378', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterid', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', + ], + ], + [ + 'name' => 'componentid', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID。', + 'description' => 'The component ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'metric-server', + ], + ], + ], + 'responses' => [ + 200 => [], + '5XX' => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::ResumeTask', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'ResumeComponentUpgrade', + ], + 'PauseComponentUpgrade' => [ + 'summary' => 'You can call the PauseComponentUpgrade operation to pause the update of a component.', + 'path' => '/clusters/{clusterid}/components/{componentid}/pause', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '381', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterid', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'componentid', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID。', + 'description' => 'The component ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'metric-server', + ], + ], + ], + 'responses' => [ + 200 => [], + '5XX' => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::PauseTask', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'PauseComponentUpgrade', + ], + 'GetKubernetesTrigger' => [ + 'summary' => 'You can call the GetKubernetesTrigger operationto query the triggers of an application by application name.', + 'path' => '/triggers/{ClusterId}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '388', + 'abilityTreeNodes' => [ + 'FEATUREcskT7MN2U', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '应用所属命名空间。', + 'description' => 'The namespace name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'title' => '应用类型。', + 'description' => 'The type of trigger. Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n" + ."\n" + .'If you do not set this parameter, triggers are not filtered by type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'deployment', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '应用名称。', + 'description' => 'The application name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'web-server', + ], + ], + [ + 'name' => 'action', + 'in' => 'query', + 'schema' => [ + 'title' => '触发器行为。', + 'description' => 'The action that the trigger performs. Set the value to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resources specified by `project_id`.'."\n" + ."\n" + .'If you do not specify this parameter, triggers are not filtered by action.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'redeploy', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回参数。', + 'description' => 'The details of the triggers returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'title' => '触发器ID。', + 'description' => 'The ID of the trigger.'."\n", + 'type' => 'string', + 'example' => '1234', + ], + 'name' => [ + 'title' => '触发器名称。', + 'description' => 'The name of the trigger.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'cluster_id' => [ + 'title' => '集群ID', + 'description' => 'The ID of the associated cluster.'."\n", + 'type' => 'string', + 'example' => 'c259f563386444ebb8d7**', + ], + 'project_id' => [ + 'title' => '触发器项目名称', + 'description' => 'The name of the project.'."\n" + ."\n" + .'The name consists of the namespace where the application is deployed and the name of the application. The format is `${namespace}/${name}`. Example: default/test-app.'."\n", + 'type' => 'string', + 'example' => 'default/test-app', + ], + 'type' => [ + 'title' => '触发器类型。', + 'description' => 'The type of trigger.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* `deployment`: performs actions on Deployments.'."\n" + .'* `application`: performs actions on applications that are deployed in Application Center.'."\n" + ."\n" + .'Default value: `deployment`.'."\n", + 'type' => 'string', + 'example' => 'deployment', + ], + 'action' => [ + 'title' => '触发器行为', + 'description' => 'The action that the trigger performs. The value is set to redeploy.'."\n" + ."\n" + .'`redeploy`: redeploys the resource specified by project_id.'."\n", + 'type' => 'string', + 'example' => 'redeploy', + ], + 'token' => [ + 'title' => 'Token', + 'description' => 'Token'."\n", + 'type' => 'string', + 'example' => 'eyJhbGci***', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DescribeTrigger', + ], + ], + 'responseDemo' => '[{"type":"json","example":"[\\n {\\n \\"id\\": \\"1234\\",\\n \\"name\\": \\"test\\",\\n \\"cluster_id\\": \\"c259f563386444ebb8d7**\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\",\\n \\"token\\": \\"eyJhbGci***\\"\\n }\\n]","errorExample":""},{"type":"xml","example":"<0>\\n <id>1234</id>\\n <name>test</name>\\n <cluster_id>c259f563386444ebb8d7**</cluster_id>\\n <project_id>default/test-app</project_id>\\n <type>deployment</type>\\n <action>redeploy</action>\\n</0>","errorExample":""}]', + 'title' => 'GetKubernetesTrigger', + ], + 'DescribeClusters' => [ + 'summary' => 'Queries all the clusters that belong to the current Alibaba Cloud account, including Kubernetes clusters and Swarm clusters.', + 'path' => '/clusters', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '394', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cluster name based on which the system performs fuzzy searches among the clusters that belong to the current Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'title' => '集群名称。', + ], + ], + [ + 'name' => 'clusterType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cluster type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ManagedKubernetes', + 'title' => '集群类型。', + ], + ], + [ + 'name' => 'resource_group_id', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'array', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '348D4C9C-9105-4A1B-A86E-B58F0F875575', + 'index' => 200, + ], + 'clusters' => [ + 'description' => 'The information about the clusters returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'created' => [ + 'description' => 'The time when the cluster was created.'."\n", + 'type' => 'string', + 'example' => '2019-11-25T15:50:20+08:00', + 'index' => 200, + ], + 'security_group_id' => [ + 'description' => 'The ID of the security group to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'sg-2zedf74ifulatvx0****', + 'index' => 200, + ], + 'docker_version' => [ + 'description' => 'The version of Docker.'."\n", + 'type' => 'string', + 'example' => '18.09.2', + 'index' => 200, + ], + 'master_url' => [ + 'description' => 'The endpoints that are open for connections to the cluster. The endpoints include api_server_endpoint, dashboard_endpoint, mirana_endpoint, reverse_tunnel_endpoint, and intranet_api_server_endpoint. For more information, see [Use SSH to connect to a cluster](~~86491~~).'."\n", + 'type' => 'string', + 'example' => '"{\\"api_server_endpoint\\":\\"https://47.93.xx.xxx:6443https://mirana.cs-cn-beijing.aliyuncs.com:4243https://192.xxx.x.xx:6443\\"}", "external_loadbalancer_id": "lb-2ze3buguz3gx9920z****"', + 'index' => 200, + ], + 'meta_data' => [ + 'description' => 'The metadata of the cluster.'."\n", + 'type' => 'string', + 'example' => '***', + 'index' => 200, + ], + 'cluster_id' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'cb95aa626a47740afbf6aa099b650****', + 'index' => 200, + ], + 'external_loadbalancer_id' => [ + 'description' => 'The ID of the Server Load Balancer (SLB) instance that is associated with the cluster.'."\n", + 'type' => 'string', + 'example' => 'lb-2ze3buguz3gx9920z****', + 'index' => 200, + ], + 'network_mode' => [ + 'description' => 'The network type of the cluster. A value of vpc indicates that the cluster uses a virtual private cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc', + 'index' => 200, + ], + 'zone_id' => [ + 'description' => 'The ID of the zone where the cluster is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing-a', + 'index' => 200, + ], + 'deletion_protection' => [ + 'description' => 'Indicates whether deletion protection is enabled for the cluster. If deletion protection is enabled, the cluster cannot be deleted by operations in the console or API operations.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'index' => 200, + ], + 'current_version' => [ + 'description' => 'The Kubernetes version of the cluster.'."\n", + 'type' => 'string', + 'example' => '1.14.8-aliyun.1', + 'index' => 200, + ], + 'updated' => [ + 'description' => 'The time when the cluster was last updated.'."\n", + 'type' => 'string', + 'example' => '2020-01-13T23:01:03+08:00', + 'index' => 200, + ], + 'resource_group_id' => [ + 'description' => 'The ID of the resource group to which the cluster belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmyvw3wjm****', + 'index' => 200, + ], + 'cluster_type' => [ + 'description' => 'The cluster type.'."\n", + 'type' => 'string', + 'example' => 'Kubernetes', + 'index' => 200, + ], + 'region_id' => [ + 'description' => 'The region ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + 'index' => 200, + ], + 'vpc_id' => [ + 'description' => 'The VPC ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'vpc-2zecuu62b9zw7a7qn****', + 'index' => 200, + ], + 'data_disk_size' => [ + 'description' => 'The data disk size. Unit: GB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'index' => 200, + ], + 'state' => [ + 'description' => 'The cluster status. Valid values: running, filed, and stopped. A value of running indicates that the cluster is running as expected. A value of filed or stopped indicates that the cluster is in the abnormal state.'."\n", + 'type' => 'string', + 'example' => 'running', + 'index' => 200, + ], + 'size' => [ + 'description' => 'The number of nodes in the cluster.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + 'index' => 200, + ], + 'vswitch_id' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'example' => 'vsw-2zete8s4qocqg0mf6****', + 'index' => 200, + ], + 'vswitch_cidr' => [ + 'description' => 'The prefix length of the CIDR block that is assigned to the vSwitch.'."\n", + 'type' => 'string', + 'example' => '"26"', + 'index' => 200, + ], + 'name' => [ + 'description' => 'The cluster name.'."\n", + 'type' => 'string', + 'example' => 'my-test-Kubernetes-cluster', + 'index' => 200, + ], + 'data_disk_category' => [ + 'description' => 'The category of the data disk.'."\n", + 'type' => 'string', + 'example' => 'cloud', + 'index' => 200, + ], + 'tags' => [ + 'description' => 'The labels of the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => 'The key of the label.'."\n", + 'type' => 'string', + 'example' => '2', + 'index' => 200, + ], + 'value' => [ + 'description' => 'The value of the label.'."\n", + 'type' => 'string', + 'example' => '3', + 'index' => 200, + ], + ], + ], + 'index' => 200, + 'itemName' => 'tags', + ], + ], + ], + 'index' => 200, + 'itemName' => 'clusterDetail', + ], + ], + 'title' => '返回数据体。', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'cluster_id' => [ + 'title' => '集群ID。', + 'type' => 'string', + ], + 'cluster_type' => [ + 'title' => '集群类型。', + 'type' => 'string', + ], + 'created' => [ + 'title' => '集群创建时间。', + 'type' => 'string', + ], + 'current_version' => [ + 'title' => '集群当前版本。', + 'type' => 'string', + ], + 'data_disk_category' => [ + 'title' => '节点系统盘类型。', + 'type' => 'string', + ], + 'data_disk_size' => [ + 'title' => '节点系统盘大小。', + 'type' => 'integer', + 'format' => 'int64', + ], + 'deletion_protection' => [ + 'title' => '集群是否开启删除保护。', + 'type' => 'boolean', + ], + 'docker_version' => [ + 'title' => '容器运行时版本。', + 'type' => 'string', + ], + 'external_loadbalancer_id' => [ + 'title' => '集群Ingerss SLB实例的ID。', + 'type' => 'string', + ], + 'init_version' => [ + 'title' => '集群创建时版本。', + 'type' => 'string', + ], + 'master_url' => [ + 'title' => '集群的endpoint地址。', + 'type' => 'string', + ], + 'meta_data' => [ + 'title' => '集群元数据。', + 'type' => 'string', + ], + 'name' => [ + 'title' => '集群名称。', + 'type' => 'string', + ], + 'network_mode' => [ + 'title' => '集群使用的网络类型。', + 'type' => 'string', + ], + 'private_zone' => [ + 'title' => '集群是否开启Private Zone,默认false。', + 'type' => 'boolean', + ], + 'profile' => [ + 'title' => '集群标识,区分是否为边缘托管版。', + 'type' => 'string', + ], + 'region_id' => [ + 'title' => '集群所在地域ID。', + 'type' => 'string', + ], + 'resource_group_id' => [ + 'title' => '集群资源组ID。', + 'type' => 'string', + ], + 'security_group_id' => [ + 'title' => '集群安全组ID。', + 'type' => 'string', + ], + 'size' => [ + 'title' => '集群内实例数量。', + 'type' => 'integer', + 'format' => 'int64', + ], + 'state' => [ + 'title' => '集群运行状态。', + 'type' => 'string', + ], + 'subnet_cidr' => [ + 'title' => 'POD网络。', + 'type' => 'string', + ], + 'tags' => [ + 'title' => '集群标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'title' => '标签名。', + 'type' => 'string', + ], + 'value' => [ + 'title' => '标签值。', + 'type' => 'string', + ], + ], + ], + ], + 'updated' => [ + 'title' => '集群更新时间。', + 'type' => 'string', + ], + 'vpc_id' => [ + 'title' => '集群使用的VPC ID。', + 'type' => 'string', + ], + 'vswitch_cidr' => [ + 'title' => '虚拟交换机网络ID。', + 'type' => 'string', + ], + 'vswitch_id' => [ + 'title' => '节点使用的Vswitch ID。', + 'type' => 'string', + ], + 'worker_ram_role_name' => [ + 'title' => '集群Worker节点RAM角色名称。', + 'type' => 'string', + ], + 'zone_id' => [ + 'title' => '集群所在Region内的区域ID。', + 'type' => 'string', + ], + ], + ], + ], + ], + '5XX' => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DescribeClustersForRegion', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"348D4C9C-9105-4A1B-A86E-B58F0F875575\\",\\n \\"clusters\\": [\\n {\\n \\"created\\": \\"2019-11-25T15:50:20+08:00\\",\\n \\"security_group_id\\": \\"sg-2zedf74ifulatvx0****\\",\\n \\"docker_version\\": \\"18.09.2\\",\\n \\"master_url\\": \\"\\\\\\"{\\\\\\\\\\\\\\"api_server_endpoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://47.93.xx.xxx:6443https://mirana.cs-cn-beijing.aliyuncs.com:4243https://192.xxx.x.xx:6443\\\\\\\\\\\\\\"}\\\\\\", \\\\\\"external_loadbalancer_id\\\\\\": \\\\\\"lb-2ze3buguz3gx9920z****\\\\\\"\\",\\n \\"meta_data\\": \\"***\\",\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"external_loadbalancer_id\\": \\"lb-2ze3buguz3gx9920z****\\",\\n \\"network_mode\\": \\"vpc\\",\\n \\"zone_id\\": \\"cn-beijing-a\\",\\n \\"deletion_protection\\": true,\\n \\"current_version\\": \\"1.14.8-aliyun.1\\",\\n \\"updated\\": \\"2020-01-13T23:01:03+08:00\\",\\n \\"resource_group_id\\": \\"rg-acfmyvw3wjm****\\",\\n \\"cluster_type\\": \\"Kubernetes\\",\\n \\"region_id\\": \\"cn-beijing\\",\\n \\"vpc_id\\": \\"vpc-2zecuu62b9zw7a7qn****\\",\\n \\"data_disk_size\\": 0,\\n \\"state\\": \\"running\\",\\n \\"size\\": 4,\\n \\"vswitch_id\\": \\"vsw-2zete8s4qocqg0mf6****\\",\\n \\"vswitch_cidr\\": \\"\\\\\\"26\\\\\\"\\",\\n \\"name\\": \\"my-test-Kubernetes-cluster\\",\\n \\"data_disk_category\\": \\"cloud\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"2\\",\\n \\"value\\": \\"3\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<0>\\n <name>sl-numa</name>\\n <cluster_id>cd62be8675b514f278163cf750acb****</cluster_id>\\n <size>4</size>\\n <region_id>cn-shenzhen</region_id>\\n <state>running</state>\\n <cluster_type>Kubernetes</cluster_type>\\n <current_version>1.16.6-aliyun.1</current_version>\\n <resource_group_id>rg-acfmyvw3wjm****</resource_group_id>\\n <instance_type/>\\n <vswitch_id>vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****</vswitch_id>\\n <data_disk_category>cloud</data_disk_category>\\n <security_group_id>sg-wz956lln6kknnwlw****</security_group_id>\\n <tags>\\n <key>ack.aliyun.com</key>\\n <value>cd62be8675b514f278163cf750acb****</value>\\n </tags>\\n <zone_id>cn-shenzhen-e</zone_id>\\n <docker_version>19.03.5</docker_version>\\n <deletion_protection>false</deletion_protection>\\n</0>\\n<1>\\n <name>sl-terway</name>\\n <cluster_id>c5b269738d1f5427ebd32884fc59c****</cluster_id>\\n <size>5</size>\\n <region_id>cn-shenzhen</region_id>\\n <state>running</state>\\n <cluster_type>Kubernetes</cluster_type>\\n <current_version>1.16.6-aliyun.1</current_version>\\n <vpc_id>vpc-wz984yvbd6lck22z3****</vpc_id>\\n <vswitch_id>vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****,vsw-wz9uwxhawmtzg7u9h****</vswitch_id>\\n <security_group_id>sg-wz9e8pvnjalx1tm1****</security_group_id>\\n <tags>\\n <key>ack.aliyun.com</key>\\n <value>c5b269738d1f5427ebd32884fc59c****</value>\\n </tags>\\n <zone_id>cn-shenzhen-e</zone_id>\\n <docker_version>19.03.5</docker_version>\\n <deletion_protection>false</deletion_protection>\\n</1>","errorExample":""}]', + 'title' => 'DescribeClusters', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeClusterV2UserKubeconfig' => [ + 'summary' => '获取集群kubeconfig接口', + 'path' => '/api/v2/k8s/{ClusterId}/user_config', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '395', + 'abilityTreeNodes' => [ + 'FEATUREcskCWOUHM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '是否为内网访问。', + 'type' => 'boolean', + ], + ], + [ + 'name' => 'TemporaryDurationMinutes', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '返回数据体。', + 'type' => 'object', + 'properties' => [ + 'config' => [ + 'title' => 'kubeconfig内容。', + 'type' => 'string', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DescribeClusterUserKubeconfig', + ], + ], + 'responseDemo' => null, + ], + 'DescribeClusterAddonUpgradeStatus' => [ + 'summary' => 'You can call the DescribeClusterAddonUpgradeStatus operation to query the update progress of a cluster component.', + 'path' => '/clusters/{ClusterId}/components/{ComponentId}/upgradestatus', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c106f377e16f34eb1808d6b9362c9****', + ], + ], + [ + 'name' => 'ComponentId', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID。', + 'description' => 'The component ID. Example: nginx-ingress-controller, flexvolume, or metrics-server.'."\n" + ."\n" + .'You can call the `DescribeAddons` API operation to query the components supported by the cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cloud-controller-manager', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '组件升级状态', + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'addon_info' => [ + 'title' => '组件详情', + 'description' => 'The information about the component.'."\n", + 'type' => 'object', + 'properties' => [ + 'component_name' => [ + 'title' => '组件名称', + 'description' => 'The component name.'."\n", + 'type' => 'string', + 'example' => 'cloud-controller-manager', + ], + 'version' => [ + 'title' => '组件版本', + 'description' => 'The current version of the component.'."\n", + 'type' => 'string', + 'example' => 'v1.9.3.340-g9830b58-aliyun', + ], + 'ready_to_upgrade' => [ + 'title' => '是否满足升级条件', + 'description' => 'Indicates whether the component meets the update conditions. Valid values:'."\n" + ."\n" + .'* `true`: The component meets the update conditions.'."\n" + .'* `false`: The component does not meet the update conditions.'."\n", + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + 'tasks' => [ + 'title' => '升级任务详情', + 'description' => 'The details of the update task.'."\n", + 'type' => 'object', + 'properties' => [ + 'created_at' => [ + 'title' => '升级开始时间', + 'description' => 'The time when the update task started.'."\n", + 'type' => 'string', + 'example' => '0001-01-01T00:00:00Z', + ], + 'finished_at' => [ + 'title' => '升级完成时间', + 'description' => 'The time when the update task completed.'."\n", + 'type' => 'string', + 'example' => '0001-01-01T00:00:00Z', + ], + 'status' => [ + 'title' => '升级任务状态', + 'description' => 'The status of the update task.'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'is_canceled' => [ + 'title' => '任务是否被取消', + 'description' => 'Indicates whether the update task was canceled. Valid values:'."\n" + ."\n" + .'* `true`: The update task was canceled.'."\n" + .'* `false`: The update task was not canceled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'description' => 'The details of the upgrade progress of the queried component.'."\n", + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::GetClusterAddonInstance', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"key\\": {\\n \\"addon_info\\": {\\n \\"component_name\\": \\"cloud-controller-manager\\",\\n \\"version\\": \\"v1.9.3.340-g9830b58-aliyun\\",\\n \\"ready_to_upgrade\\": \\"true\\"\\n },\\n \\"tasks\\": {\\n \\"created_at\\": \\"0001-01-01T00:00:00Z\\",\\n \\"finished_at\\": \\"0001-01-01T00:00:00Z\\",\\n \\"status\\": \\"Success\\",\\n \\"is_canceled\\": false\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<cloud-controller-manager>\\n <tasks>\\n <created_at>2020-12-28T16:05:32Z</created_at>\\n <finished_at>2020-12-28T16:06:54Z</finished_at>\\n <is_canceled>false</is_canceled>\\n <status>Success</status>\\n </tasks>\\n <addon_info>\\n <component_name>cloud-controller-manager</component_name>\\n <version>v1.9.3.340-g9830b58-aliyun</version>\\n <ready_to_upgrade>true</ready_to_upgrade>\\n </addon_info>\\n</cloud-controller-manager>","errorExample":""}]', + 'title' => 'DescribeClusterAddonUpgradeStatus', + ], + 'CancelComponentUpgrade' => [ + 'summary' => 'You can call the CancelComponentUpgrade operation to cancel the update of a component.', + 'path' => '/clusters/{clusterId}/components/{componentId}/cancel', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '413', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'clusterId', + 'in' => 'path', + 'schema' => [ + 'title' => '集群ID。', + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'componentId', + 'in' => 'path', + 'schema' => [ + 'title' => '组件ID。', + 'description' => 'The component ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'metric-server', + ], + ], + ], + 'responses' => [ + 200 => [], + '5XX' => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::CancelTask', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'CancelComponentUpgrade', + ], + 'DeleteKubernetesTrigger' => [ + 'summary' => 'You can call the DeleteKubernetesTrigger operation to delete an application trigger by trigger ID', + 'path' => '/triggers/revoke/{Id}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '408', + 'abilityTreeNodes' => [ + 'FEATUREcskT7MN2U', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'path', + 'schema' => [ + 'title' => '触发器ID。', + 'description' => 'The ID of the application trigger.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****', + ], + ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'CS::2015-12-15::DeleteTrigger', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + 'title' => 'DeleteKubernetesTrigger', + ], + 'CreateAutoRepairPolicy' => [ + 'summary' => '查询自愈规则', + 'path' => '/clusters/{cluster_id}/auto_repair_policies', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cb95aa626a47740afbf6aa099b650****', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'resource_type' => [ + 'title' => '', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'nodepool', + ], + 'resource_sub_type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ess', + ], + 'rules' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'incidents' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Node.FaultNeedReboot.HOST', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + 'conditions' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'KubeletReady', + ], + 'status' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'False', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'events' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'repair_procedure' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Drain', + ], + 'intervention' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'label', + ], + 'inquiring_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'inquiring', + ], + ], + 'required' => false, + ], + 'approved_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'approved', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'config' => [ + 'description' => '', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'any', + 'example' => '{'."\n" + .'"drain_timeout": "30s" '."\n" + .'}', + 'description' => '', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + 'example' => '["np-xxx"]', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => '', + 'type' => 'string', + 'example' => 'E368C761-F8F6-4A36-9B58-BD53D5******', + ], + 'policy_id' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'r-xxxxxxx', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"E368C761-F8F6-4A36-9B58-BD53D5******\\",\\n \\"policy_id\\": \\"r-xxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteAutoRepairPolicy' => [ + 'summary' => '查询自愈规则', + 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c104d5d5f301c4e2a8ee578c37******', + ], + ], + [ + 'name' => 'policy_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'r-xxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => '', + 'type' => 'string', + 'example' => 'A9891419-D125-4D89-AFCA-68846675****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-68846675****\\"\\n}","type":"json"}]', + ], + 'ModifyAutoRepairPolicy' => [ + 'summary' => '查询自愈规则', + 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}', + 'methods' => [ + 'put', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c68deb844dc6d480eb775be611fdf****', + ], + ], + [ + 'name' => 'policy_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'r-xxxxxx', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'rules' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'incidents' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Node.FaultNeedReboot.HOST', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + 'conditions' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'KubeletReady', + ], + 'status' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'False', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'events' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'repair_procedure' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'QuarantineGPU', + ], + 'intervention' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'label', + ], + 'inquiring_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'inquiring', + ], + ], + 'required' => false, + ], + 'approved_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'approved', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'config' => [ + 'description' => '', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'any', + 'description' => '', + 'example' => '{'."\n" + .'"drain_timeout": "30s" '."\n" + .'}', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'request_id' => [ + 'title' => 'Id of the request', + 'description' => '', + 'type' => 'string', + 'example' => 'db82195b-75a8-40e5-9be4-16f182******', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f182******\\"\\n}","type":"json"}]', + ], + 'DescribeAutoRepairPolicy' => [ + 'summary' => '查询自愈规则', + 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c82e6987e2961451182edacd74faf****', + ], + ], + [ + 'name' => 'policy_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'r-xxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'test', + ], + 'id' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'r-xxx', + ], + 'resource_type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'nodepool', + ], + 'resource_ids' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'npxxxxx', + ], + ], + 'rules' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'incidents' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'Node.FaultNeedReboot.HOST', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'system', + ], + 'conditions' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'KubeletReady', + ], + 'status' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'False', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxxx', + ], + ], + ], + ], + 'events' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxxx', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxxx', + ], + ], + ], + ], + ], + ], + ], + 'repair_procedure' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'QuarantineGPU', + ], + 'intervention' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'true', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'label', + ], + 'inquiring_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'inquiring', + ], + ], + ], + 'approved_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'approved', + ], + ], + ], + ], + ], + 'config' => [ + 'description' => '', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'any', + 'example' => '"drain_timeout": "30s" ', + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'resource_sub_type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'ess', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"name\\": \\"test\\",\\n \\"id\\": \\"r-xxx\\",\\n \\"resource_type\\": \\"nodepool\\",\\n \\"resource_ids\\": [\\n \\"npxxxxx\\"\\n ],\\n \\"rules\\": [\\n {\\n \\"incidents\\": [\\n {\\n \\"name\\": \\"Node.FaultNeedReboot.HOST\\",\\n \\"type\\": \\"system\\",\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"KubeletReady\\",\\n \\"status\\": \\"False\\",\\n \\"reason\\": \\"xxxx\\"\\n }\\n ],\\n \\"events\\": [\\n {\\n \\"type\\": \\"xxxx\\",\\n \\"reason\\": \\"xxxx\\"\\n }\\n ]\\n }\\n ],\\n \\"repair_procedure\\": [\\n {\\n \\"name\\": \\"QuarantineGPU\\",\\n \\"intervention\\": {\\n \\"enable\\": \\"true\\",\\n \\"type\\": \\"label\\",\\n \\"inquiring_label\\": {\\n \\"key\\": \\"k8s.aliyun.com/incident\\",\\n \\"value\\": \\"inquiring\\"\\n },\\n \\"approved_label\\": {\\n \\"key\\": \\"k8s.aliyun.com/incident\\",\\n \\"value\\": \\"approved\\"\\n }\\n },\\n \\"config\\": {\\n \\"key\\": \\"\\\\\\"drain_timeout\\\\\\": \\\\\\"30s\\\\\\" \\"\\n }\\n }\\n ]\\n }\\n ],\\n \\"resource_sub_type\\": \\"ess\\"\\n}","type":"json"}]', + ], + 'ListAutoRepairPolicies' => [ + 'summary' => '查询自愈规则', + 'path' => '/clusters/{cluster_id}/auto_repair_policies', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREcskEUXDVA', + ], + ], + 'parameters' => [ + [ + 'name' => 'cluster_id', + 'in' => 'path', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'items' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'test', + ], + 'id' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'r-xxxxx', + ], + 'resource_type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'nodepool', + ], + 'resource_sub_type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'ess', + ], + 'resource_ids' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'npxxxxx', + ], + ], + 'rules' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'incidents' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'Node.FaultNeedReboot.HOST', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'system'."\n", + ], + 'conditions' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'KubeletReady', + ], + 'status' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'False', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxx', + ], + ], + ], + ], + 'events' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxx', + ], + 'reason' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'xxx', + ], + ], + ], + ], + ], + ], + ], + 'repair_procedure' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'QuarantineGPU', + ], + 'intervention' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'enable' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'true', + ], + 'type' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'label', + ], + 'inquiring_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'inquiring', + ], + ], + ], + 'approved_label' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'k8s.aliyun.com/incident', + ], + 'value' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'approved', + ], + ], + ], + ], + ], + 'config' => [ + 'description' => '', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'any', + 'example' => '{'."\n" + .'"drain_timeout": "30s" '."\n" + .'}', + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"items\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"id\\": \\"r-xxxxx\\",\\n \\"resource_type\\": \\"nodepool\\",\\n \\"resource_sub_type\\": \\"ess\\",\\n \\"resource_ids\\": [\\n \\"npxxxxx\\"\\n ],\\n \\"rules\\": [\\n {\\n \\"incidents\\": [\\n {\\n \\"name\\": \\"Node.FaultNeedReboot.HOST\\",\\n \\"type\\": \\"system\\\\n\\",\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"KubeletReady\\",\\n \\"status\\": \\"False\\",\\n \\"reason\\": \\"xxx\\"\\n }\\n ],\\n \\"events\\": [\\n {\\n \\"type\\": \\"xxx\\",\\n \\"reason\\": \\"xxx\\"\\n }\\n ]\\n }\\n ],\\n \\"repair_procedure\\": [\\n {\\n \\"name\\": \\"QuarantineGPU\\",\\n \\"intervention\\": {\\n \\"enable\\": \\"true\\",\\n \\"type\\": \\"label\\",\\n \\"inquiring_label\\": {\\n \\"key\\": \\"k8s.aliyun.com/incident\\",\\n \\"value\\": \\"inquiring\\"\\n },\\n \\"approved_label\\": {\\n \\"key\\": \\"k8s.aliyun.com/incident\\",\\n \\"value\\": \\"approved\\"\\n }\\n },\\n \\"config\\": {\\n \\"key\\": \\"{\\\\n\\\\\\"drain_timeout\\\\\\": \\\\\\"30s\\\\\\" \\\\n}\\"\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'cs.cn-qingdao.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'cs.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'cs.cn-zhangjiakou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhengzhou-jva', + 'endpoint' => 'cs.cn-zhengzhou-jva.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'cs.cn-huhehaote.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'cs.cn-wulanchabu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'cs.cn-hangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'cs.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nanjing', + 'endpoint' => 'cs.cn-nanjing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-fuzhou', + 'endpoint' => 'cs.cn-fuzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'cs.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'cs.cn-heyuan.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'cs.cn-guangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'cs.cn-chengdu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-lr', + 'endpoint' => 'cs.cn-wuhan-lr.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'cs.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'cs.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2', + 'endpoint' => 'cs.ap-northeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'cs.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'cs.ap-southeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'cs.ap-southeast-3.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'cs.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'cs.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'cs.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'cs.eu-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'cs.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'cs.ap-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'cs.me-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-finance', + 'endpoint' => 'cs.cn-hangzhou-finance.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'cs.cn-shanghai-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'cs.cn-shenzhen-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7', + 'endpoint' => 'cs.ap-southeast-7.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'cs.cn-beijing-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'cs.me-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan-acdr-1', + 'endpoint' => 'cs.cn-heyuan-acdr-1.aliyuncs.com', + ], + [ + 'regionId' => 'na-south-1', + 'endpoint' => 'cs.na-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-southeast-1', + 'endpoint' => 'cs.us-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-gic-1', + 'endpoint' => 'cs.cn-wulanchabu-gic-1.aliyuncs.com', + ], + ], +]; |
