summaryrefslogtreecommitdiff
path: root/data/en_us/cs/2015-12-15/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/cs/2015-12-15/api-docs.php
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
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.php42449
1 files changed, 18516 insertions, 23933 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
index 061feee..a874e5e 100644
--- a/data/en_us/cs/2015-12-15/api-docs.php
+++ b/data/en_us/cs/2015-12-15/api-docs.php
@@ -1,4135 +1,3164 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'ROA',
- 'product' => 'CS',
- 'version' => '2015-12-15',
- ],
+ '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',
- ],
- ],
+ 'DescribeRegions', 'AttachInstances', 'AttachInstancesToNodePool', 'CancelClusterUpgrade', 'CancelComponentUpgrade', 'CancelOperationPlan', 'CancelTask', 'CheckControlPlaneLogEnable', 'CheckServiceRole', 'CleanClusterUserPermissions', 'CleanUserPermissions', 'CreateAutoRepairPolicy', 'CreateAutoscalingConfig', 'CreateCluster', 'CreateClusterDiagnosis', 'CreateClusterInspectConfig', 'CreateClusterNodePool', 'CreateKubernetesTrigger', 'CreateTemplate', 'CreateTrigger',
+ 'DeleteAlertContact', 'DeleteAlertContactGroup', 'DeleteAutoRepairPolicy', 'DeleteCluster', 'DeleteClusterInspectConfig', 'DeleteClusterNodepool', 'DeleteClusterNodes', 'DeleteKubernetesTrigger', 'DeletePolicyInstance', 'DeleteTemplate', 'DeleteTrigger', 'DeployPolicyInstance', 'DescribeAddon', 'DescribeAddons', 'DescribeAutoRepairPolicy', 'DescribeClusterAddonInstance', 'DescribeClusterAddonMetadata', 'DescribeClusterAddonUpgradeStatus', 'DescribeClusterAddonsUpgradeStatus', 'DescribeClusterAddonsVersion',
+ 'DescribeClusterAttachScripts', 'DescribeClusterDetail', 'DescribeClusterEvents', 'DescribeClusterLogs', 'DescribeClusterNodePoolDetail', 'DescribeClusterNodePools', 'DescribeClusterNodes', 'DescribeClusterResources', 'DescribeClusterTasks', 'DescribeClusterUserKubeconfig', 'DescribeClusterV2UserKubeconfig', 'DescribeClusterVuls', 'DescribeClusters', 'DescribeClustersForRegion', 'DescribeClustersV1', 'DescribeEvents', 'DescribeEventsForRegion', 'DescribeExternalAgent', 'DescribeKubernetesVersionMetadata', 'DescribeNodePoolVuls',
+ 'DescribePolicies', 'DescribePolicyDetails', 'DescribePolicyGovernanceInCluster', 'DescribePolicyInstances', 'DescribePolicyInstancesStatus', 'DescribeResourcesDeleteProtection', 'DescribeSubaccountK8sClusterUserConfig', 'DescribeTaskInfo', 'DescribeTemplateAttribute', 'DescribeTemplates', 'DescribeTrigger', 'DescribeUserClusterNamespaces', 'DescribeUserPermission', 'DescribeUserQuota', 'FixNodePoolVuls', 'GetClusterAddonInstance', 'GetClusterAuditProject', 'GetClusterCheck', 'GetClusterDiagnosisCheckItems', 'GetClusterDiagnosisResult',
+ 'GetClusterInspectConfig', 'GetClusterInspectReportDetail', 'GetKubernetesTrigger', 'GetUpgradeStatus', 'GrantPermissions', 'InstallClusterAddons', 'InstallNodePoolComponents', 'ListAddons', 'ListAutoRepairPolicies', 'ListClusterAddonInstanceResources', 'ListClusterAddonInstances', 'ListClusterChecks', 'ListClusterInspectReports', 'ListClusterKubeconfigStates', 'ListOperationPlans', 'ListOperationPlansForRegion', 'ListTagResources', 'ListUserKubeConfigStates', 'MigrateCluster', 'ModifyAutoRepairPolicy',
+ 'ModifyCluster', 'ModifyClusterAddon', 'ModifyClusterNodePool', 'ModifyClusterTags', 'ModifyNodePoolNodeConfig', 'ModifyPolicyInstance', 'OpenAckService', 'PauseClusterUpgrade', 'PauseComponentUpgrade', 'PauseTask', 'RemoveNodePoolNodes', 'RepairClusterNodePool', 'ResumeComponentUpgrade', 'ResumeTask', 'ResumeUpgradeCluster', 'RevokeK8sClusterKubeConfig', 'RunClusterCheck', 'RunClusterInspect', 'RunNodeOperation', 'ScaleClusterNodePool',
+ 'ScanClusterVuls', 'StartAlert', 'StopAlert', 'SyncClusterNodePool', 'TagResources', 'UnInstallClusterAddons', 'UntagResources', 'UpdateClusterAuditLogConfig', 'UpdateClusterInspectConfig', 'UpdateContactGroupForAlert', 'UpdateControlPlaneLog', 'UpdateK8sClusterUserConfigExpire', 'UpdateKMSEncryption', 'UpdateNodePoolComponent', 'UpdateResourcesDeleteProtection', 'UpdateTemplate', 'UpdateUserPermissions', 'UpgradeCluster', 'UpgradeClusterAddons', 'UpgradeClusterNodepool',
],
'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',
- ],
+ 'name' => ['title' => '', 'description' => 'The component name.'."\n", 'type' => 'string', 'example' => 'nginx-ingress-controller'],
+ 'config' => ['title' => '', 'description' => 'The configuration of the component.'."\n", 'type' => 'string', 'example' => '{\\"IngressSlbNetworkType\\":\\"internet\\"}'],
+ '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", 'type' => 'boolean', 'example' => 'false'],
+ 'version' => ['title' => '', 'description' => 'The version of the component.'."\n", 'type' => 'string', 'example' => 'v1.9.3-aliyun.1'],
],
+ 'example' => '',
],
'containerd_config' => [
- 'title' => 'Insecure image repositories that skipped the TLS certificate verification.'."\n",
- 'description' => 'The containerd runtime configuration.'."\n",
- 'visibility' => 'Public',
+ 'title' => '',
+ 'description' => 'Configuration for the containerd runtime.',
'type' => 'object',
'properties' => [
'registryMirrors' => [
'title' => '',
- 'description' => 'The image accelerator configuration.'."\n",
- 'visibility' => 'Public',
+ 'description' => 'A list of registry mirrors to accelerate image pulls.',
'type' => 'array',
- 'items' => [
- 'description' => 'The URL of the image accelerator.'."\n",
- 'visibility' => 'Public',
- 'type' => 'string',
- 'example' => 'https://example.com',
- 'extendType' => 'true',
- ],
- 'backendName' => 'registryMirrors',
+ 'items' => ['description' => 'The address of a registry mirror.', 'type' => 'string', 'example' => 'https://example.com', 'title' => ''],
+ 'example' => '',
],
'insecureRegistries' => [
'title' => '',
- 'description' => 'Insecure image repositories that skipped the TLS certificate verification.'."\n",
- 'visibility' => 'Public',
+ 'description' => 'A list of insecure registries that skip TLS certificate verification.',
'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',
+ 'items' => ['description' => 'The address of an insecure registry.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'example' => '',
],
+ 'maxConcurrentDownloads' => ['title' => '', 'description' => 'The maximum number of concurrent image layer downloads.', 'type' => 'integer', 'example' => '', 'format' => 'int64'],
+ 'ignoreImageDefinedVolume' => ['title' => '', 'description' => 'Whether to ignore volumes defined in the image.', 'type' => 'boolean', 'example' => ''],
+ 'limitCore' => ['title' => '', 'description' => 'Maximum core dump size in bytes.', 'type' => 'integer', 'example' => '', 'format' => 'int64'],
+ 'limitNoFile' => ['title' => '', 'description' => 'Maximum number of open file handles.', 'type' => 'integer', 'example' => '', 'format' => 'int64'],
+ 'limitMemLock' => ['title' => '', 'description' => 'Maximum locked memory in bytes.', 'type' => 'integer', 'example' => '', 'format' => 'int64'],
],
+ 'example' => '',
],
'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',
- ],
+ '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", 'type' => 'string', 'example' => 'cloud_ssd'],
+ 'size' => ['title' => '', 'description' => 'The size of the data disk. Unit: GiB.'."\n"
+ ."\n"
+ .'Valid values: 40 to 32768.'."\n"
+ ."\n"
+ .'Default value: `120`.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '40'],
+ '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", 'type' => 'string', 'example' => 'true'],
+ 'kms_key_id' => ['title' => '', 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the data disk.'."\n", 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****'],
+ '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", 'type' => 'string', 'example' => 'sp-2zej1nogjvovnz4z****'],
+ '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", 'type' => 'string', 'example' => 'PL1'],
+ '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", 'type' => 'integer', 'format' => 'int64', 'example' => '1000'],
+ '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", 'type' => 'boolean', 'example' => 'true'],
+ 'auto_format' => ['title' => '', 'description' => 'Specifies whether to automatically mount the data disk.'."\n", 'type' => 'boolean', 'example' => 'true', 'deprecated' => true],
+ '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", 'type' => 'string', 'example' => 'ext4', 'deprecated' => true],
+ 'mount_target' => ['title' => '', 'description' => 'The path to which the data disk is mounted. You must specify a valid path.'."\n", 'type' => 'string', 'example' => '/mnt/path1', 'deprecated' => true],
+ '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", 'type' => 'string', 'example' => 'DataDiskName'],
+ '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", 'type' => 'string', 'example' => '/dev/xvdb'],
+ '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", 'type' => 'string', 'example' => 's-280s7****'],
+ ],
+ 'example' => '',
+ ],
+ 'DiskInit' => [
+ 'title' => '',
+ 'description' => '块设备初始化配置',
+ 'type' => 'object',
+ 'properties' => [
+ 'disk_name' => ['title' => '', 'type' => 'string', 'required' => true, 'example' => 'disk0', 'description' => ''],
+ 'mkfs_type' => ['title' => '', 'type' => 'string', 'example' => 'ext4', 'description' => ''],
+ 'mount_target' => ['title' => '', 'type' => 'string', 'example' => '/mnt/disk0', 'description' => ''],
+ 'mount_for_runtime' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
+ 'local_disk' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
+ ],
+ 'example' => '',
+ ],
+ 'Hugepage' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'transparentEnabled' => ['title' => '', 'type' => 'string'],
+ 'transparentDefrag' => ['type' => 'string'],
+ 'khugepagedDefrag' => ['type' => 'integer', 'format' => 'int64'],
+ 'khugepagedAllocSleepMillisecs' => ['type' => 'integer', 'format' => 'int64'],
+ 'khugepagedScanSleepMillisecs' => ['type' => 'integer', 'format' => 'int64'],
+ 'khugepagedPagesToScan' => ['type' => 'integer', 'format' => 'int64'],
],
],
'InstanceMetadataOptions' => [
- 'description' => '',
- 'visibility' => 'Public',
+ 'description' => 'ECS instance metadata access configuration. ',
'type' => 'object',
'properties' => [
'http_tokens' => [
'title' => '',
- 'description' => '',
- 'visibility' => 'Public',
+ 'description' => 'Configuration of the ECS instance metadata access mode. Valid values: '."\n"
+ ."\n"
+ .'* `optional`: Compatible with both NAT mode and hardened mode. '."\n"
+ .'* `required`: Enables hardened mode only (IMDSv2). After this mode is enabled, applications within edge zones cannot access ECS instance metadata through NAT mode. '."\n"
+ ."\n"
+ .'Default Value: `optional`. '."\n"
+ ."\n"
+ .'><notice> '."\n"
+ ."\n"
+ .'* This parameter is currently available only to users on the whitelist. To use it, submit a ticket to request access. '."\n"
+ .'* This parameter is supported only in ACK managed clusters of version 1.28 or later. '."\n"
+ ."\n"
+ .'></notice> '."\n"
+ ."\n"
+ .'> For more information about instance metadata access modes, see [Instance Metadata Access Mode](~~108460~~). ',
'type' => 'string',
'example' => 'optional',
- 'backendName' => 'httpTokens',
'default' => 'optional',
- 'enum' => [
- 'optional',
- 'required',
- ],
+ 'enum' => ['optional', 'required'],
],
],
+ 'title' => '',
+ 'example' => '',
],
'instance_patterns' => [
- 'title' => 'The minimum required number of IPv4 addresses per ENI.'."\n",
+ 'title' => '',
'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',
- ],
+ 'cores' => ['title' => '', 'description' => 'The number of vCPU cores for the instance type.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '4'],
+ 'memory' => ['title' => '', 'description' => 'The memory size of the instance type. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '8'],
+ 'instance_family_level' => ['title' => '', 'description' => 'The instance family level.'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'],
'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',
+ 'items' => ['description' => 'The instance type that you want to exclude.'."\n", 'type' => 'string', 'example' => 'ecs.c6.large', 'title' => ''],
+ 'example' => '',
],
+ 'min_cpu_cores' => ['title' => '', 'description' => 'The minimum vCPU cores required for the instance type.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '4'],
+ 'max_cpu_cores' => ['title' => '', 'description' => 'The maximum vCPU cores allowed for the instance type.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '8'],
+ 'min_memory_size' => ['title' => '', 'description' => 'The minimum required memory size. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '8'],
+ 'max_memory_size' => ['title' => '', 'description' => 'The maximum allowed memory size. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '16'],
'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',
+ 'items' => ['description' => 'The type of the instance.'."\n", 'type' => 'string', 'example' => 'General-purpose', 'title' => ''],
+ 'example' => '',
],
'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',
+ 'items' => ['description' => 'The CPU architecture of the instance type.'."\n", 'type' => 'string', 'example' => 'X86', 'title' => ''],
+ 'example' => '',
],
+ 'core' => ['title' => '', 'description' => '\\[This parameter is deprecated and replaced by cores] The number of vCores provided by the instance type.'."\n", 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '4'],
+ 'max_price' => ['title' => '', 'description' => '\\[This parameter is deprecated] The maximum hourly price of the instance.'."\n", 'type' => 'number', 'format' => 'float', 'deprecated' => true, 'example' => '2'],
'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',
+ 'items' => ['description' => '\\[This parameter is deprecated and replaced by cpu_architectures] The architecture of the instance type.'."\n", 'type' => 'string', 'example' => 'X86', 'title' => ''],
'deprecated' => true,
- 'example' => 'Exclude',
- 'backendName' => 'burst_performance_option',
+ 'example' => '',
],
+ 'burst_performance_option' => ['title' => '', 'description' => '\\[This parameter is deprecated] Specifies whether to include burstable instance types.'."\n", 'type' => 'string', 'deprecated' => true, 'example' => 'Exclude'],
'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',
+ 'items' => ['description' => 'The specified instance family.'."\n", 'type' => 'string', 'example' => 'ecs.c6', 'title' => ''],
+ 'example' => '',
],
+ 'minimum_eni_quantity' => ['title' => '', 'description' => 'The minimum required number of elastic network interfaces (ENIs) per instance.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'minimum_eni_private_ip_address_quantity' => ['title' => '', 'description' => 'The minimum required number of IPv4 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'minimum_eni_ipv6_address_quantity' => ['title' => '', 'description' => 'The minimum required number of IPv6 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'maximum_gpu_amount' => ['title' => '', 'description' => 'The maximum allowed number of GPUs per instance.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '8'],
],
+ 'example' => '',
],
'kubelet_config' => [
- 'title' => 'Feature gates for enabling experimental features.'."\n",
+ 'title' => '',
'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',
- ],
+ 'registryPullQPS' => ['title' => '', 'description' => 'The maximum queries per second (QPS) of the image repository.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'registryBurst' => ['title' => '', 'description' => 'The maximum number of images that can be pulled from bursty image pulls.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'eventRecordQPS' => ['title' => '', 'description' => 'Specifies the maximum number of events that can be generated per second.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'eventBurst' => ['title' => '', 'description' => 'The maximum number of burst peaks for the event records.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'kubeAPIQPS' => ['title' => '', 'description' => 'The QPS when kubelet communicates with the Kubernetes API server.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'kubeAPIBurst' => ['title' => '', 'description' => 'The maximum number of burst requests sent to the API server per second.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'serializeImagePulls' => ['title' => '', 'description' => 'Specifies whether to pull one image at a time.'."\n", 'type' => 'boolean', 'example' => 'true'],
+ 'cpuManagerPolicy' => ['title' => '', 'description' => 'The CPU management policy used by kubelet.'."\n", 'type' => 'string', 'example' => 'none'],
+ 'evictionHard' => ['title' => '', 'description' => 'A set of eviction thresholds that will trigger a pod eviction if met.'."\n", 'type' => 'object', 'example' => ''],
+ 'evictionSoft' => ['title' => '', 'description' => 'A set of eviction thresholds that will trigger a pod eviction if met over a corresponding grace period.'."\n", 'type' => 'object', 'example' => ''],
+ 'evictionSoftGracePeriod' => ['title' => '', 'description' => 'A set of grace periods for eviction thresholds.'."\n", 'type' => 'object', 'example' => ''],
+ 'systemReserved' => ['title' => '', 'description' => 'A set of configurations that specify reserved resources for the system.'."\n", 'type' => 'object', 'example' => ''],
+ 'kubeReserved' => ['title' => '', 'description' => 'A set of configurations that specify resources reserved for the Kubernetes system.'."\n", 'type' => 'object', 'example' => ''],
+ 'readOnlyPort' => ['title' => '', 'description' => 'The read-only port.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'maxPods' => ['title' => '', 'description' => 'The maximum number of running pods.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '110'],
+ 'containerLogMaxSize' => ['title' => '', 'description' => 'The maximum size that a log file can reach before it is rotated.'."\n", 'type' => 'string', 'example' => '10Mi'],
+ 'containerLogMaxFiles' => ['title' => '', 'description' => 'The maximum number of log files that can be stored in each container.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'featureGates' => ['title' => '', 'description' => 'A feature gate that is used to enable an experimental feature.'."\n", 'type' => 'object', 'example' => ''],
'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',
+ 'items' => ['description' => 'The whitelisted unsafe sysctls.'."\n", 'type' => 'string', 'example' => 'net.core.somaxconn', 'title' => ''],
+ 'example' => '',
],
'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',
- ],
+ 'numaNode' => ['title' => '', 'description' => 'The NUMA node identifier.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'limits' => ['title' => '', 'description' => 'The memory limit.'."\n", 'type' => 'object', 'example' => '{"memory": "1Gi"}'],
],
- 'extendType' => 'true',
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
+ 'example' => '',
+ ],
+ 'memoryManagerPolicy' => ['title' => '', 'description' => 'The name of the policy to be used by the memory manager.'."\n", 'type' => 'string', 'example' => 'none'],
+ 'cpuCFSQuota' => ['title' => '', 'description' => 'Specifies whether to use Completely Fair Scheduler (CFS) quota to enforce pod CPU limits.'."\n", 'type' => 'boolean', 'example' => 'true'],
+ 'cpuCFSQuotaPeriod' => ['title' => '', 'description' => 'The duration for the CPU CFS quota.'."\n", 'type' => 'string', 'example' => '100ms'],
+ 'imageGCHighThresholdPercent' => ['title' => '', 'description' => 'The percentage of disk usage after which image garbage collection always runs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '85'],
+ 'imageGCLowThresholdPercent' => ['title' => '', 'description' => 'The percentage of disk usage before which image garbage collection never runs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
+ 'podPidsLimit' => ['title' => '', 'description' => 'The maximum number of processes per pod.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '-1'],
+ 'topologyManagerPolicy' => ['title' => '', 'description' => 'The name of the Topology Manager policy that you want to use.'."\n", 'type' => 'string', 'example' => 'restricted'],
'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',
+ 'items' => ['description' => 'A DNS server IP address.'."\n", 'type' => 'string', 'example' => '127.0.xx.xx', 'title' => ''],
+ 'example' => '',
],
'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',
- ],
+ 'endpoint' => ['title' => '', 'description' => 'The endpoint of the collector.'."\n", 'type' => 'string', 'example' => 'localhost:4317'],
+ 'samplingRatePerMillion' => ['title' => '', 'description' => 'The number of samples to be collected per million spans.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200000'],
],
- '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',
+ 'example' => '',
],
+ 'containerLogMaxWorkers' => ['title' => '', 'description' => 'The maximum number of concurrent programs that rotate logs'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'containerLogMonitorInterval' => ['title' => '', 'description' => 'The duration at which the container logs are monitored for rotating logs.'."\n", 'type' => 'string', 'example' => '10s'],
+ 'serverTLSBootstrap' => ['type' => 'boolean', 'description' => '', 'example' => 'true', 'title' => ''],
],
+ 'example' => '',
],
'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',
- ],
- ],
+ '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", 'type' => 'boolean', 'example' => 'false'],
+ '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", 'type' => 'string', 'example' => '2020-10-15T12:31:00.000+08:00'],
+ '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.', 'type' => 'string', 'example' => '3h'],
+ '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`.', 'type' => 'string', 'example' => 'Monday,Thursday'],
+ '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", 'type' => 'string', 'example' => 'FREQ=WEEKLY;INTERVAL=4;BYDAY=MO,TU'],
+ ],
+ 'example' => '',
],
'nodepool' => [
'title' => '',
- 'description' => 'The node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The node pool.',
'type' => 'object',
'properties' => [
'auto_scaling' => [
'title' => '',
- 'description' => 'The auto scaling configurations of the node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The auto scaling configuration of the node pool.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => '是否启用自动伸缩。'."\n"
+ ."\n"
+ .'- `true`:开启节点池自动伸缩功能。'."\n"
+ .'- `false`:不开启自动伸缩,当取值为false时,`auto_scaling`内的其他配置参数将不生效。'."\n"
+ ."\n"
+ .'默认值:`false`。', 'type' => 'boolean', 'required' => true, 'example' => 'true'],
+ 'max_instances' => ['title' => '', 'description' => '自动伸缩组最大实例数。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10'],
+ 'min_instances' => ['title' => '', 'description' => '自动伸缩组最小实例数。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '0'],
+ 'type' => ['title' => '', 'description' => '自动伸缩类型,按照自动伸缩实例类型划分。取值:'."\n"
+ ."\n"
+ .'- `cpu`:普通实例型。'."\n"
+ .'- `gpu`:GPU实例型。'."\n"
+ .'- `gpushare`:GPU共享型。'."\n"
+ .'- `spot`:抢占式实例型。'."\n"
+ ."\n"
+ .'默认值:`cpu`。', 'type' => 'string', 'example' => 'cpu'],
+ 'is_bond_eip' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'是否绑定EIP,取值:'."\n"
+ ."\n"
+ .'- `true`:绑定EIP。'."\n"
+ .'- `false`:不绑定EIP。'."\n"
+ ."\n"
+ .'默认值:`false`。', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true'],
+ 'eip_internet_charge_type' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'EIP计费类型,取值:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`:按固定带宽计费。'."\n"
+ .'- `PayByTraffic`:按使用流量计费。'."\n"
+ ."\n"
+ .'默认值:PayByBandwidth。', 'type' => 'string', 'deprecated' => true, 'example' => 'PayByBandwidth'],
+ 'eip_bandwidth' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'EIP带宽峰值。单位:Mbps。', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '5'],
],
- 'backendName' => 'auto_scaling',
+ 'example' => '',
],
'kubernetes_config' => [
'title' => '',
- 'description' => 'The configurations of the cluster.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The cluster-related configuration.',
'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',
- ],
+ 'cms_enabled' => ['title' => '', 'description' => '是否在ECS节点上安装云监控,安装后可以在云监控控制台查看所创建ECS实例的监控信息,推荐开启。取值:'."\n"
+ ."\n"
+ .'- `true`:在ECS节点上安装云监控。'."\n"
+ .'- `false`:不在ECS节点上安装云监控。'."\n"
+ ."\n"
+ .'默认值:`false`。', 'type' => 'boolean', 'example' => 'true'],
+ 'cpu_policy' => ['title' => '', 'description' => '节点CPU管理策略。当集群版本在1.12.6及以上时支持以下两种策略:'."\n"
+ ."\n"
+ .'- `static`:允许为节点上具有某些资源特征Pod增强其CPU亲和性和独占性。'."\n"
+ .'- `none`:表示启用现有的默认CPU亲和性方案。'."\n"
+ ."\n"
+ .'默认值:`none`。', 'type' => 'string', 'example' => 'none'],
'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',
+ 'description' => '节点标签,为Kubernetes集群节点添加标签。',
'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',
- ],
+ 'items' => ['description' => '节点标签。', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'runtime' => ['title' => '', 'description' => '容器运行时。取值:'."\n"
+ .'- `containerd`:推荐使用,支持所有集群版本。'."\n"
+ .'- `Sandboxed-Container.runv`:安全沙箱容器,提供更高的隔离性,支持1.24版本及以下集群。'."\n"
+ .'- `docker`:支持1.22版本及以下集群。'."\n"
+ ."\n"
+ .'默认值:`containerd`', 'type' => 'string', 'required' => true, 'example' => 'containerd'],
+ 'runtime_version' => ['title' => '', 'description' => '容器运行时版本。', 'type' => 'string', 'required' => true, 'example' => '1.6.20'],
'taints' => [
'title' => '',
- 'description' => 'The configurations of the taints.'."\n",
- 'visibility' => 'public',
+ 'description' => '污点配置。',
'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',
- ],
+ 'items' => ['description' => '污点配置。', '$ref' => '#/components/schemas/taint', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'user_data' => ['title' => '', 'description' => '节点自定义数据。', 'type' => 'string', 'example' => 'MXM='],
+ 'node_name_mode' => ['title' => '', 'description' => '节点名称由三部分组成:前缀 + 节点 IP + 后缀:'."\n"
+ ."\n"
+ .'- 前缀和后缀均可由“.”分隔的一个或多个部分构成,每个部分可以使用小写字母、数字和“-”,节点名称首尾必须为小写字母和数字;'."\n"
+ .'- 节点 IP为完整的节点私网 IP 地址;'."\n"
+ ."\n"
+ .'传参包含四个部分,由逗号分隔,例如:参数传入"customized,aliyun,ip,com"字符串(其中“customized”和"ip"为固定的字符串,aliyun为前缀,com为后缀),则节点的名称为:aliyun.192.168.xxx.xxx.com。', 'type' => 'string', 'example' => 'customized,aliyun,ip,com'],
],
- 'backendName' => 'kubernetes_config',
+ 'example' => '',
],
'nodepool_info' => [
'title' => '',
- 'description' => 'The configuration of a node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The node pool configuration.',
'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',
- ],
+ 'name' => ['title' => '', 'description' => '节点池名称。', 'type' => 'string', 'required' => true, 'example' => 'np-test'],
+ 'resource_group_id' => ['title' => '', 'description' => '节点池所在资源ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyvw3wjm****'],
+ 'type' => ['title' => '', 'description' => '节点池类型,取值范围:'."\n"
+ ."\n"
+ .'- `ess`:节点池。'."\n"
+ .'- `edge`:边缘节点池。', 'type' => 'string', 'example' => 'ess'],
],
- 'backendName' => 'nodepool_info',
+ 'example' => '',
],
'scaling_group' => [
'title' => '',
- 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The scaling group configuration of the node pool.',
'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',
- ],
+ 'auto_renew' => ['title' => '', 'description' => '节点池是否开启自动续费,当`instance_charge_type`取值为`PrePaid`时才生效,取值:'."\n"
+ ."\n"
+ .'- `true`:自动续费。'."\n"
+ .'- `false`:不自动续费。'."\n"
+ ."\n"
+ .'默认值:`true`。', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_renew_period' => ['title' => '', 'description' => '节点池自动续费周期。当`instance_charge_type`取值为`PrePaid`时才生效,且为必选值。'."\n"
+ ."\n"
+ .'当`PeriodUnit=Month`时,取值范围:{1, 2, 3, 6, 12}。'."\n"
+ ."\n"
+ .'默认值:1。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
'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',
+ 'description' => '节点池节点数据盘配置。',
'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',
+ 'items' => ['description' => '节点池节点数据盘配置。', '$ref' => '#/components/schemas/data_disk', 'title' => '', 'example' => ''],
+ 'example' => '',
],
- 'image_id' => [
+ 'disk_init' => [
'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',
- ],
+ 'description' => '块设备初始化配置。',
+ 'type' => 'array',
+ 'items' => ['description' => 'DiskInit configuration. ', '$ref' => '#/components/schemas/DiskInit', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'image_id' => ['title' => '', 'description' => '自定义镜像ID,默认使用系统提供的镜像。', 'type' => 'string', 'example' => 'aliyun_2_1903_x64_20G_alibase_20200904.vhd'],
+ 'instance_charge_type' => ['title' => '', 'description' => '节点池节点付费类型,取值:'."\n"
+ ."\n"
+ .'- `PrePaid`:预付费。'."\n"
+ .'- `PostPaid`:按量付费。'."\n"
+ ."\n"
+ .'默认值:`PostPaid`。', 'type' => 'string', 'required' => true, 'example' => 'PostPaid'],
'instance_types' => [
'title' => '',
- 'description' => 'The instance type.'."\n",
- 'visibility' => 'public',
+ 'description' => '实例规格。',
'type' => 'array',
- 'items' => [
- 'description' => 'The instance type.'."\n",
- 'visibility' => 'public',
- 'type' => 'string',
- 'example' => 'ecs.n1.medium',
- 'extendType' => 'true',
- ],
+ 'items' => ['description' => '实例规格。', 'type' => 'string', 'example' => 'ecs.n1.medium', 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'key_pair' => ['title' => '', 'description' => '密钥对名称,和`login_password`二选一。'."\n"
+ ."\n"
+ .'> 如果创建托管节点池,则只支持`key_pair`。', 'type' => 'string', 'required' => false, 'example' => 'np-key'],
+ 'login_password' => ['title' => '', 'description' => 'SSH登录密码,和`key_pair`二选一。密码规则为8~30个字符,且至少同时包含三项(大小写字母、数字和特殊符号)。', 'type' => 'string', 'required' => false, 'example' => 'Hello1234'],
+ 'login_as_non_root' => ['title' => '', 'description' => '弹出的ECS实例是否使用以非root用户登录。', 'type' => 'boolean', 'example' => ''],
+ 'period' => ['title' => '', 'description' => '节点池节点包年包月时长,当`instance_charge_type`取值为`PrePaid`时才生效且为必选值,取值范围:`period_unit`取值为Month时,`period`取值范围:{ 1, 2, 3, 6, 12}。'."\n"
+ ."\n"
+ .'默认值:1。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'period_unit' => ['title' => '', 'description' => '节点池节点付费周期,当`instance_charge_type`取值为`PrePaid`时需要指定周期。'."\n"
+ ."\n"
+ .'`Month`:目前只支持以月为单位。', 'type' => 'string', 'example' => 'Month'],
+ 'platform' => ['title' => '', 'description' => '操作系统发行版。取值:'."\n"
+ ."\n"
+ .'- `CentOS`'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`'."\n"
+ ."\n"
+ .'默认值:`AliyunLinux`。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'AliyunLinux'],
'rds_instances' => [
'title' => '',
- 'description' => 'A list of ApsaraDB RDS instances.'."\n",
- 'visibility' => 'public',
+ 'description' => 'RDS实例列表。',
'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',
- ],
+ 'items' => ['description' => 'RDS实例ID。', 'type' => 'string', 'example' => 'rm-2zey3t89t6280****', 'title' => ''],
+ 'example' => '',
+ ],
+ 'spot_strategy' => ['title' => '', 'description' => '抢占式实例类型,取值:'."\n"
+ .'- NoSpot:非抢占式实例。'."\n"
+ .'- SpotWithPriceLimit:设置抢占实例价格上限。'."\n"
+ .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。'."\n"
+ ."\n"
+ .'更多信息,请参见[抢占式实例](~~157759~~)。', 'type' => 'string', 'example' => 'NoSpot'],
'spot_price_limit' => [
'title' => '',
- 'description' => 'The instance type of preemptible instances and the price cap for the instance type.'."\n",
- 'visibility' => 'public',
+ 'description' => '当前单台抢占式实例规格市场价格区间配置。',
'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',
- ],
+ 'instance_type' => ['title' => '', 'description' => '抢占式实例规格。', 'type' => 'string', 'example' => 'ecs.c6.large'],
+ 'price_limit' => ['title' => '', 'description' => '单台实例上限价格。'."\n", 'type' => 'string', 'example' => '0.39'],
],
- 'extendType' => 'true',
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'example' => '',
],
+ 'scaling_policy' => ['title' => '', 'description' => '伸缩组模式,取值:'."\n"
+ ."\n"
+ .'- `release`:标准模式,根据申请资源值的使用量,通过创建、释放ECS的方式进行伸缩。'."\n"
+ .'- `recycle`:极速模式,通过创建、停机、启动的方式进行伸缩,提高再次伸缩的速度(停机时计算资源不收费,只收取存储费用,本地盘机型除外)。'."\n"
+ ."\n"
+ .'默认值:`release`。', 'type' => 'string', 'example' => 'release'],
+ 'security_group_id' => ['title' => '', 'description' => '节点池安全组ID,与`security_group_ids`二选一,推荐使用`security_group_ids`。', 'type' => 'string', 'required' => false, 'example' => 'sg-2zeihch86ooz9io4****'],
'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',
+ 'description' => '安全组ID列表,与`security_group_id`二选一,推荐使用`security_group_ids`,当同时指定`security_group_id`和`security_group_ids`将优先使用`security_group_ids`。',
'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',
- ],
+ 'items' => ['description' => '安全组ID。', 'type' => 'string', 'example' => 'sg-2zeihch86ooz9io4****', 'title' => ''],
+ 'example' => '',
+ ],
+ 'system_disk_category' => ['title' => '', 'description' => '节点系统盘类型,取值:'."\n"
+ ."\n"
+ .'- `cloud_efficiency`:高效云盘。'."\n"
+ .'- `cloud_ssd`:SSD云盘。'."\n"
+ .'- `cloud_essd`:ESSD云盘。'."\n"
+ .'- `cloud_auto`:ESSD AutoPL云盘。'."\n"
+ .'- `cloud_essd_entry`:ESSD Entry云盘。'."\n"
+ ."\n"
+ .'默认值:`cloud_efficiency`。', 'type' => 'string', 'example' => 'cloud_efficiency'],
'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',
+ 'description' => '系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:'."\n"
+ ."\n"
+ .'- cloud:普通云盘。'."\n"
+ .'- cloud_efficiency:高效云盘。'."\n"
+ .'- cloud_ssd:SSD云盘。'."\n"
+ .'- cloud_essd:ESSD云盘。',
'type' => 'array',
- 'items' => [
- 'title' => '',
- 'description' => 'The system disk type.'."\n",
- 'visibility' => 'Public',
- 'type' => 'string',
- 'extendType' => 'true',
- ],
+ 'items' => ['title' => '', 'description' => '节点系统盘类型。', 'type' => 'string', 'example' => 'cloud_essd'],
'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',
- ],
+ 'example' => '',
+ ],
+ 'system_disk_size' => ['title' => '', 'description' => '节点系统盘大小,单位:GiB。'."\n"
+ ."\n"
+ .'取值范围:[40,500]。', 'type' => 'integer', 'format' => 'int64', 'example' => '120'],
+ 'system_disk_performance_level' => ['title' => '', 'description' => '节点系统盘磁盘性能,只对ESSD磁盘生效。'."\n"
+ ."\n"
+ .'- PL0:并发极限I/O性能中等,读写时延较为稳定。'."\n"
+ .'- PL1:并发极限I/O性能中等,读写时延较为稳定。'."\n"
+ .'- PL2:并发极限I/O性能较高,读写时延稳定。'."\n"
+ .'- PL3:并发极限I/O性能极高,读写时延极稳定。', 'type' => 'string', 'example' => 'PL1'],
+ 'system_disk_encrypted' => ['title' => '', 'description' => '是否加密系统盘。取值范围:true:加密。false:不加密。', 'type' => 'boolean', 'example' => ''],
+ 'system_disk_kms_key_id' => ['title' => '', 'description' => '节点系统盘使用的KMS密钥ID。', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****'],
+ 'system_disk_encrypt_algorithm' => ['title' => '', 'description' => '节点系统盘采用的加密算法。取值范围:aes-256。', 'type' => 'string', 'example' => 'aes-256'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => '节点系统盘预配置的读写IOPS。可能值:0~min{50,000, 1000\\*容量-基准性能}。 基准性能=min{1,800+50\\*容量, 50000}。'."\n"
+ ."\n"
+ .'当`SystemDiskCategory`为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => '节点系统盘是否开启Burst(性能突发)。 取值:'."\n"
+ ."\n"
+ .'- true:是。'."\n"
+ .'- false:否。'."\n"
+ ."\n"
+ .'当`SystemDiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', 'type' => 'boolean', 'example' => 'true'],
'tags' => [
'title' => '',
- 'description' => 'The labels that you want to add only to ECS instances.'."\n"
+ 'description' => '仅为ECS实例添加标签。'."\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',
+ .'标签键不可以重复,最大长度为128个字符;标签键和标签值都不能以“aliyun”、“acs:”开头,或包含“https://”、“http://”。',
'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',
- ],
+ 'key' => ['title' => '', 'description' => '标签的名称。', 'type' => 'string', 'example' => 'key'],
+ 'value' => ['title' => '', 'description' => '标签值。', 'type' => 'string', 'example' => 'value'],
],
- 'extendType' => 'true',
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'backendName' => 'tags',
+ 'example' => '',
],
'vswitch_ids' => [
'title' => '',
- 'description' => 'The IDs of vSwitches.'."\n",
- 'visibility' => 'public',
+ 'description' => '虚拟交换机ID。',
'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of vSwitches.'."\n",
- 'visibility' => 'public',
- 'type' => 'string',
- 'example' => 'vsw-2ze0fmpbwo140ahni****',
- 'extendType' => 'true',
- ],
+ 'items' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'example' => 'vsw-2ze0fmpbwo140ahni****', 'title' => ''],
'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' => [
+ 'example' => '',
+ ],
+ 'multi_az_policy' => ['title' => '', 'description' => '多可用区伸缩组ECS实例扩缩容策略。取值:'."\n"
+ ."\n"
+ .'- `PRIORITY`:根据您定义的虚拟交换机(VSwitchIds.N)扩缩容。当优先级较高的虚拟交换机所在可用区无法创建ECS实例时,自动使用下一优先级的虚拟交换机创建ECS实例。'."\n"
+ ."\n"
+ .'- `COST_OPTIMIZED`:按vCPU单价从低到高进行尝试创建。当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式实例。您可以继续通过`CompensateWithOnDemand`参数指定当抢占式实例由于库存等原因无法创建时,是否自动尝试以按量付费的方式创建。'."\n"
+ ."\n"
+ .' >`COST_OPTIMIZED`仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。'."\n"
+ ."\n"
+ .'- `BALANCE`:在伸缩组指定的多可用区之间均匀分配ECS实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过API RebalanceInstances平衡资源。更多信息,请参见[RebalanceInstances](~~71516~~)。'."\n"
+ ."\n"
+ .'默认值:`PRIORITY`。', 'type' => 'string', 'example' => 'COST_OPTIMIZED'],
+ 'on_demand_base_capacity' => ['title' => '', 'description' => '伸缩组所需要按量实例个数的最小值,取值范围:[0,1000]。当按量实例个数少于该值时,将优先创建按量实例。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'on_demand_percentage_above_base_capacity' => ['title' => '', 'description' => '伸缩组满足最小按量实例数(`on_demand_base_capacity`)要求后,超出的实例中按量实例应占的比例。取值范围:[0,100]。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'spot_instance_pools' => ['title' => '', 'description' => '指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:[1,10]。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'spot_instance_remedy' => ['title' => '', 'description' => '是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。取值:'."\n"
+ ."\n"
+ .'- `true`:开启补齐抢占式实例。'."\n"
+ .'- `false`:不开启补齐抢占式实例。', 'type' => 'boolean', 'example' => 'false'],
+ 'compensate_with_on_demand' => ['title' => '', 'description' => '当`multi_az_policy`取值为`COST_OPTIMIZED`时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值:'."\n"
+ ."\n"
+ .'- `true`:允许自动尝试创建按量实例满足ECS实例数量要求。'."\n"
+ .'- `false`:不允许自动尝试创建按量实例满足ECS实例数量要求。', 'type' => 'boolean', 'example' => 'true'],
+ 'internet_charge_type' => ['title' => '', 'description' => '公网IP收费类型。取值:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`:按固定带宽计费。'."\n"
+ .'- `PayByTraffic`:按使用流量计费。', 'type' => 'string', 'example' => 'PayByBandwidth'],
+ 'internet_max_bandwidth_out' => ['title' => '', 'description' => '节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:[1,100]', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'image_type' => ['title' => '', 'description' => '操作系统镜像类型,和platform参数二选一,取值范围:'."\n"
+ ."\n"
+ .'- `AliyunLinux`:Alinux2镜像。'."\n"
+ .'- `AliyunLinux3`:Alinux3镜像。'."\n"
+ .'- `AliyunLinux3Arm64`:Alinux3镜像ARM版。'."\n"
+ .'- `AliyunLinuxUEFI`:Alinux2镜像UEFI版。'."\n"
+ .'- `CentOS`:CentOS镜像。'."\n"
+ .'- `Windows`:Windows镜像。'."\n"
+ .'- `WindowsCore`:WindowsCore镜像。'."\n"
+ .'- `ContainerOS`:容器优化镜像。', 'type' => 'string', 'example' => 'AliyunLinux'],
+ 'deploymentset_id' => ['title' => '', 'description' => '部署集ID。', 'type' => 'string', 'example' => 'ds-bp1d19mmbsv3jf6xxxxx'],
+ 'desired_size' => ['title' => '', 'description' => '节点池期望节点数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'private_pool_options' => [
'title' => '',
- 'description' => 'The expected number of nodes in the node pool.'."\n",
- 'visibility' => 'public',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- 'backendName' => 'desired_size',
+ 'description' => '私有节点池配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => '私有节点池ID。', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****'],
+ 'match_criteria' => ['title' => '', 'description' => '私有节点池类型,实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值:'."\n"
+ ."\n"
+ .'- `Open`:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n"
+ ."\n"
+ .'- `Target`:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。'."\n"
+ ."\n"
+ .'- `None`:不使用模式。实例启动将不使用私有池容量。', 'type' => 'string', 'example' => 'Open'],
+ ],
+ 'example' => '',
],
- 'private_pool_options' => [
+ 'ram_role_name' => ['title' => '', 'description' => 'Worker RAM角色名称。'."\n"
+ .'><notice>仅1.22及以上版本的ACK托管集群支持在创建节点池时配置该参数></notice>', 'type' => 'string', 'example' => 'example-role'],
+ 'instance_metadata_options' => ['title' => '', 'description' => 'ECS 实例的元数据访问配置。'."\n"
+ .'目前仅白名单开放,需提交工单申请。', 'example' => '', '$ref' => '#/components/schemas/InstanceMetadataOptions'],
+ 'resource_pool_options' => [
'title' => '',
- 'description' => 'The configurations of the private node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => '创建实例时使用的资源池及资源池策略。当您设置该参数后,需要注意:'."\n"
+ .'该参数只在创建按量付费实例时生效。'."\n"
+ .'该参数不能与private_pool_options.match_criteria、private_pool_options.id同时设置。',
'type' => 'object',
'properties' => [
- 'id' => [
+ 'strategy' => [
'title' => '',
- 'description' => 'The ID of the private node pool.'."\n",
- 'visibility' => 'public',
+ 'description' => '创建实例时使用的资源池策略。资源池包括弹性保障服务或容量预定服务生效后生成的私有池以及公共池,供实例启动时选择。取值范围:'."\n"
+ .'PrivatePoolFirst:私有池优先。选择此种策略时, 当指定了 resource_pool_options.private_pool_ids,优先使用指定的私有池。如果未指定私有池或指定的私有池容量不足,将自动匹配开放类型的私有池。如果没有符合条件的私有池,则使用公共池创建实例。'."\n"
+ .'PrivatePoolOnly:仅限私有池。选择此种策略时,必须指定 resource_pool_options.private_pool_ids。如果指定的私有池容量不足,则实例会启动失败。'."\n"
+ .'None:不使用资源池策略。'."\n"
+ .'默认值:None。',
'type' => 'string',
- 'example' => 'eap-bp67acfmxazb4****',
- 'backendName' => 'id',
+ 'example' => 'PrivatePoolFirst',
+ 'enum' => ['PrivatePoolFirst', 'PrivatePoolOnly', 'None'],
],
- 'match_criteria' => [
+ 'private_pool_ids' => [
'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',
+ 'description' => '私有池 ID列表。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。N 的取值范围:1~20。',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => '私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****'],
+ 'maxItems' => 20,
+ 'example' => '',
],
],
- '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',
+ 'example' => '',
],
],
- 'backendName' => 'scaling_group',
+ 'example' => '',
],
'tee_config' => [
'title' => '',
- 'description' => 'The configurations of confidential computing.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The confidential computing configuration of the node pool.',
'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',
- ],
+ 'tee_enable' => ['title' => '', 'description' => '是否为加密计算节点池。', 'type' => 'boolean', 'required' => true, 'example' => 'false'],
],
- 'backendName' => 'tee_config',
+ 'example' => '',
],
'management' => [
'title' => '',
- 'description' => 'The configurations of the managed node pool feature.'."\n",
- 'visibility' => 'public',
+ 'description' => 'The managed node pool configuration.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => '是否开启托管版节点池,取值:'."\n"
+ ."\n"
+ .'- `true`:开启托管节点池。'."\n"
+ .'- `false`:不开启托管节点池,只有当`enable=true`时,其他相关配置才生效。', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_repair' => ['title' => '', 'description' => '自动修复,仅当`enable=true`时生效。'."\n"
+ ."\n"
+ .'- `true`:自动修复。'."\n"
+ .'- `false`:不自动修复。', 'type' => 'boolean', 'example' => 'false'],
'upgrade_config' => [
'title' => '',
- 'description' => 'The configurations of auto update. This parameter takes effect only if `enable` is set to true.'."\n",
- 'visibility' => 'public',
+ 'description' => '自动升级配置,仅当`enable=true`时生效。',
'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',
- ],
+ 'auto_upgrade' => ['title' => '', 'description' => '是否启用自动升级,取值:'."\n"
+ ."\n"
+ .'- `true`:启用自动升级。'."\n"
+ .'- `false`:不启用自动升级。', 'type' => 'boolean', 'example' => 'false'],
+ 'surge' => ['title' => '', 'description' => '额外节点数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'surge_percentage' => ['title' => '', 'description' => '额外节点比例,和`surge`二选一。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'max_unavailable' => ['title' => '', 'description' => '最大不可用节点数量,取值范围:\\[1,1000\\]。'."\n"
+ ."\n"
+ .'默认值:1。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
],
'deprecated' => true,
- 'backendName' => 'upgrade_config',
+ 'example' => '',
],
'auto_repair_policy' => [
'title' => '',
- 'description' => 'The auto node repair policy.'."\n",
- 'visibility' => 'Public',
+ 'description' => '自动修复节点策略。',
'type' => 'object',
'properties' => [
- 'restart_node' => [
- 'title' => '',
- 'description' => 'Indicates whether node restart is allowed.'."\n",
- 'visibility' => 'Public',
- 'type' => 'boolean',
- 'example' => 'true',
- 'backendName' => 'restart_node',
- ],
+ 'restart_node' => ['title' => '', 'description' => '是否允许重启节点。', 'type' => 'boolean', 'example' => 'true'],
],
- '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',
+ 'example' => '',
],
+ 'auto_vul_fix' => ['title' => '', 'description' => '是否自动修复CVE。', 'type' => 'boolean', 'example' => 'true'],
'auto_vul_fix_policy' => [
'title' => '',
- 'description' => 'The automatic CVE patching policy.'."\n",
- 'visibility' => 'Public',
+ 'description' => '自动修复CVE策略。',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => '是否允许重启节点。', 'type' => 'boolean', 'example' => 'true'],
+ 'vul_level' => ['title' => '', 'description' => '允许自动修复的漏洞级别,以逗号分隔。', 'type' => 'string', 'example' => 'asap,nntf'],
],
- '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',
+ 'example' => '',
],
+ 'auto_upgrade' => ['title' => '', 'description' => '是否自动升级。', 'type' => 'boolean', 'example' => 'true'],
'auto_upgrade_policy' => [
'title' => '',
- 'description' => 'The auto update policy.'."\n",
- 'visibility' => 'Public',
+ 'description' => '自动升级策略。',
'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',
- ],
+ 'auto_upgrade_kubelet' => ['title' => '', 'description' => '是否允许自动升级kubelet。', 'type' => 'boolean', 'example' => 'true'],
],
- 'backendName' => 'auto_upgrade_policy',
+ 'example' => '',
],
+ 'auto_fault_diagnosis' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
],
- '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',
- ],
+ 'example' => '',
+ ],
+ 'count' => ['title' => '', 'description' => 'This parameter is deprecated. Use desired_size instead.'."\n"
+ ."\n"
+ .'The number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '1'],
+ 'interconnect_mode' => ['title' => '', 'description' => 'The network type of the edge node pool. This parameter is valid only for node pools whose `type` is `edge`. Valid values:'."\n"
+ ."\n"
+ .'- `basic`: basic.'."\n"
+ .'- `private`: dedicated. Supported in version 1.22 and later.', 'type' => 'string', 'example' => 'basic'],
'interconnect_config' => [
'title' => '',
'description' => 'This parameter is deprecated.'."\n"
."\n"
- .'The configurations of the edge node pool.'."\n",
- 'visibility' => 'public',
+ .'The edge node pool configuration.',
'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',
- ],
+ 'cen_id' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'边缘增强型节点池绑定的云企业网实例ID(CENID)。', 'type' => 'string', 'deprecated' => true, 'example' => 'cen-ey9k9nfhz0f*******'],
+ 'ccn_id' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'边缘增强型节点池绑定的云连接网实例ID(CCNID)。', 'type' => 'string', 'deprecated' => true, 'example' => 'ccn-qm5i0i0q9yi*******'],
+ 'ccn_region_id' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'边缘增强型节点池绑定的云连接网实例所属的地域。', 'type' => 'string', 'deprecated' => true, 'example' => 'cn-shanghai'],
+ 'bandwidth' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'边缘增强型节点池的网络带宽,单位:Mbps。', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '10'],
+ 'improved_period' => ['title' => '', 'description' => '【该字段已废弃】'."\n"
+ ."\n"
+ .'边缘增强型节点池的购买时长,单位:月。', 'type' => 'string', 'deprecated' => true, 'example' => '1'],
],
'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',
+ 'example' => '',
],
+ 'max_nodes' => ['title' => '', 'description' => 'The maximum number of nodes allowed in the edge node pool. This parameter must be greater than or equal to 0. A value of 0 indicates no additional limit. The node pool is limited only by the maximum number of nodes that the cluster can contain. Edge node pools typically have a value greater than 0. ESS-type node pools and default edge-type node pools have a value of 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
'node_config' => [
'title' => '',
- 'description' => 'The node configurations.'."\n",
- 'visibility' => 'Public',
+ 'description' => 'The node configuration.',
'type' => 'object',
'properties' => [
- 'kubelet_configuration' => [
- 'title' => '',
- 'description' => 'The parameter settings of the kubelet.'."\n",
- 'visibility' => 'Public',
- 'backendName' => 'kubelet_configuration',
- '$ref' => '#/components/schemas/kubelet_config',
+ 'kubelet_configuration' => ['title' => '', 'description' => 'Kubelet参数配置。', '$ref' => '#/components/schemas/kubelet_config', 'example' => ''],
+ ],
+ 'example' => '',
+ ],
+ 'node_components' => [
+ 'title' => '',
+ 'description' => 'The list of node components.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => '节点组件。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => '节点组件名称。', 'type' => 'string', 'example' => 'kubelet'],
+ 'version' => ['title' => '', 'description' => '节点组件版本', 'type' => 'string', 'example' => '1.33.3-aliyun.1'],
+ 'config' => [
+ 'title' => '',
+ 'description' => '节点组件配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'custom_config' => [
+ 'title' => '',
+ 'description' => '节点组件自定义配置。',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '节点组件自定义配置字符串。', 'type' => 'any', 'title' => '', 'example' => 'cpuManagerPolicy'],
+ 'example' => '{"cpuManagerPolicy":"static"}',
+ ],
+ ],
+ 'example' => '',
+ ],
],
+ 'example' => '',
],
- 'backendName' => 'node_config',
+ 'example' => '',
],
],
+ 'example' => '',
],
'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',
- ],
- ],
+ '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", 'type' => 'string', 'example' => 'containerd'],
+ '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", 'type' => 'string', 'example' => '1.6.20'],
+ ],
+ 'example' => '',
],
'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',
- ],
+ 'key' => ['title' => '', 'description' => 'The `key` of the label.'."\n", 'type' => 'string', 'example' => 'env'],
+ 'value' => ['title' => '', 'description' => 'The `value` of the label.'."\n", 'type' => 'string', 'example' => 'prod'],
],
+ 'example' => '',
],
'taint' => [
'title' => '',
'description' => 'The configuration of the node taint.'."\n",
- 'visibility' => 'public',
'type' => 'object',
'properties' => [
- 'key' => [
+ 'key' => ['title' => '', 'description' => 'The `key` of the taint.'."\n", 'type' => 'string', 'example' => 'key'],
+ 'value' => ['title' => '', 'description' => 'The `value` of the taint.'."\n", 'type' => 'string', 'example' => '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", 'type' => 'string', 'example' => 'NoSchedule'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'AttachInstances' => [
+ 'summary' => 'Adds existing Elastic Compute Service (ECS) instances to a Container Service for Kubernetes (ACK) cluster. You can call the AttachInstances operation to add ECS instances to an ACK cluster as worker nodes after purchasing the instances, or to re-add node instances to a node pool after they are removed.',
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'schema' => [
'title' => '',
- 'description' => 'The `key` of the taint.'."\n",
- 'visibility' => 'public',
- 'type' => 'string',
- 'example' => 'key',
- 'backendName' => 'key',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'instances' => [
+ 'title' => '',
+ 'description' => 'The list of ECS instances to be added.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance ID of the ECS instance to be added.', 'type' => 'string', 'example' => 'i-2zed0sswuau6o89b****', 'required' => false, 'title' => ''],
+ 'required' => true,
+ 'example' => '',
+ ],
+ 'key_pair' => ['title' => '', 'description' => 'The name of the key pair for the instances to be added. Specify either key_pair or password. You can also leave both parameters empty.'."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.', 'type' => 'string', 'required' => false, 'example' => 'security-key'],
+ 'password' => ['title' => '', 'description' => 'The SSH logon password for the instances to be added. Specify either key_pair or password. You can also leave both parameters empty.'."\n"
+ ."\n"
+ .'The password must meet the following requirements:'."\n"
+ .'- The password must be 8 to 30 characters in length.'."\n"
+ .'- The password must contain uppercase letters, lowercase letters, digits, and special characters at the same time.'."\n"
+ .'- The password cannot contain backslashes (\\) or double quotation marks (").'."\n"
+ ."\n"
+ .'The password is encrypted during transmission for security purposes.', 'type' => 'string', 'required' => false, 'example' => 'Hello1234'],
+ 'format_disk' => ['title' => '', 'description' => 'Specifies whether to store container data and images on a data cloud disk. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Stores container data and images on a data cloud disk.'."\n"
+ ."\n"
+ .'- `false`: Does not store container data and images on a data cloud disk.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n\n"
+ .'Data cloud disk mounting rules:'."\n"
+ ."\n"
+ .'- If the ECS instance has data cloud disks mounted and the file system of the last data cloud disk is not initialized, the system automatically formats the data cloud disk to EXT4 to store the content of /var/lib/docker and /var/lib/kubelet (the default data directories for the Docker container runtime and the kubelet component, respectively).'."\n"
+ .'- If the ECS instance has no data cloud disks mounted, no new data cloud disk is mounted.'."\n"
+ .'> If you choose to store data on a data cloud disk and the ECS instance already has data cloud disks mounted, existing data on the data cloud disk is lost. Back up your data in advance.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'keep_instance_name' => ['title' => '', 'description' => 'Specifies whether to retain the original instance name. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Retains the instance name.'."\n"
+ ."\n"
+ .'- `false`: Does not retain the instance name.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'is_edge_worker' => ['title' => '', 'description' => 'Specifies whether the node to be added is an edge node, that is, an Edge Node Service (ENS) node. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The node to be added is an edge node.'."\n"
+ ."\n"
+ .'- `false`: The node to be added is not an edge node.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n"
+ .'> If the node is an edge node, set this parameter to `true` to identify the node type as an ENS node.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID. If you do not specify this parameter, the node is added to the default node pool.', 'type' => 'string', 'example' => 'np615c0e0966124216a0412e10afe0****', 'required' => false],
+ 'image_id' => ['title' => '', 'description' => 'The custom image ID.'."\n"
+ ."\n"
+ .'- If you specify a custom image ID, the system cloud disk image of the instance is replaced with the custom image.'."\n"
+ ."\n"
+ .'- If you do not specify this parameter, the default system image is used.'."\n"
+ ."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.', 'type' => 'string', 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', 'required' => false],
+ 'cpu_policy' => ['title' => '', 'description' => 'The CPU management policy of the node. The following policies are supported for clusters of version 1.12.6 or later:'."\n"
+ ."\n"
+ .'- `static`: Allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n"
+ .'- `none`: Uses the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: `none`.'."\n"
+ ."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.', 'type' => 'string', 'example' => 'none', 'required' => false],
+ 'user_data' => ['title' => '', 'description' => 'The instance user data of the node. For more information, see [Generate instance user data](~~49121~~).'."\n"
+ ."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.', 'type' => 'string', 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', 'required' => false],
+ 'rds_instances' => [
+ 'title' => '',
+ 'description' => 'The list of ApsaraDB RDS instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ApsaraDB RDS instance ID.'."\n"
+ ."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.', 'type' => 'string', 'example' => 'rm-67yawhau****', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'runtime' => ['description' => 'The container runtime.'."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.'."\n"
+ ."\n"
+ .'name: The name of the container runtime. ACK supports the following three container runtimes:'."\n"
+ ."\n"
+ .'- containerd: Recommended. Supported by all cluster versions.'."\n"
+ .'- Sandboxed-Container.runv: Sandboxed container that provides higher isolation. Supported by clusters of version 1.24 or earlier.'."\n"
+ .'- docker: Supported by clusters of version 1.22 or earlier.'."\n"
+ ."\n"
+ .'Default value: containerd.'."\n"
+ ."\n"
+ .'containerd: The container runtime version. Default value: the latest version.'."\n"
+ ."\n"
+ .'For more information about changes to the sandboxed container runtime, see [Release notes for the sandboxed container runtime](~~160312~~).', '$ref' => '#/components/schemas/runtime', 'required' => false, 'title' => '', 'example' => ''],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The node labels. Label definition rules:'."\n"
+ ."\n"
+ .'- Labels are case-sensitive key-value pairs. You can set up to 20 labels.'."\n"
+ .'- Label keys cannot be duplicate and can be up to 64 characters in length.'."\n"
+ .'- Label values can be empty and can be up to 128 characters in length.'."\n"
+ .'- Label keys and values cannot start with `aliyun`, `acs:`, `https://`, or `http://`.'."\n"
+ ."\n"
+ .'For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).'."\n"
+ .'> After you specify `nodepool_id`, this parameter is not supported.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node label.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
],
- 'value' => [
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
'title' => '',
- 'description' => 'The `value` of the taint.'."\n",
- 'visibility' => 'public',
- 'type' => 'string',
- 'example' => 'value',
- 'backendName' => 'value',
+ 'description' => 'The response body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'list' => [
+ 'title' => '',
+ 'description' => 'The list of node addition information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the node addition result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['title' => '', 'description' => 'The status code of the node addition result.', 'type' => 'string', 'example' => '200'],
+ 'instanceId' => ['title' => '', 'description' => 'The ECS instance ID.', 'type' => 'string', 'example' => 'i-2ze0lgm3y6iylcbt****'],
+ 'message' => ['title' => '', 'description' => 'The description of the node addition result.', 'type' => 'string', 'example' => 'successful'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5a544aff80282e39ea00****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ '5XX' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"list\\": [\\n {\\n \\"code\\": \\"200\\",\\n \\"instanceId\\": \\"i-2ze0lgm3y6iylcbt****\\",\\n \\"message\\": \\"successful\\"\\n }\\n ],\\n \\"task_id\\": \\"T-5a544aff80282e39ea00****\\"\\n}","type":"json"}]',
+ 'title' => 'Add existing ECS instances to a cluster',
+ 'description' => 'Before you invoke this operation, read [Limits](~~86919~~) to make sure that the ECS instances to be added meet the requirements.',
+ 'extraInfo' => 'In addition to calling this operation, you can also add ECS instances to an ACK cluster in the console. For more information, see [Add existing ECS instances to an ACK cluster](~~86919~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:AttachInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
],
- 'effect' => [
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'AttachInstancesToNodePool' => [
+ 'summary' => 'Adds existing ECS instances to a node pool in an ACK cluster. You can call this operation to add existing ECS instances as worker nodes to an ACK cluster or to re-add node instances to a node pool after they have been removed.',
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np31da1b38983f4511b490fc62108a****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'instances' => [
+ 'description' => 'The list of ECS instances to be added.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance ID of the ECS instance to be added.', 'type' => 'string', 'required' => false, 'example' => 'i-2zed0sswuau6o89b****', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'password' => ['description' => 'The SSH logon password of the instances to be added.', 'type' => 'string', 'required' => false, 'example' => '******', 'title' => ''],
+ 'format_disk' => ['description' => 'Specifies whether to store container data and images on a data cloud disk. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Stores container data and images on a data cloud disk.'."\n"
+ ."\n"
+ .'- `false`: Does not store container data and images on a data cloud disk.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n\n"
+ .'Data cloud disk mounting rules:'."\n"
+ ."\n"
+ .'- If the ECS instance has data cloud disks attached and the file system of the last data cloud disk is not initialized, the system automatically formats the data cloud disk as EXT4 to store /var/lib/docker and /var/lib/kubelet.'."\n"
+ .'- If the ECS instance has no data cloud disks attached, no new data cloud disk is mounted.'."\n"
+ .'> If you choose to store data on a data cloud disk and the ECS instance already has data cloud disks attached, existing data on the data cloud disk is lost. Back up your data in advance.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'keep_instance_name' => ['description' => 'Specifies whether to retain the original instance name. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Retains the instance name.'."\n"
+ ."\n"
+ .'- `false`: Does not retain the instance name.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ 'required' => false,
'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',
+ 'example' => '',
],
],
],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D7631D83-6E98-1949-B665-766A62xxxxxx'],
+ 'task_id' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39eaxxxxxx', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"D7631D83-6E98-1949-B665-766A62xxxxxx\\",\\n \\"task_id\\": \\"T-5a54309c80282e39eaxxxxxx\\"\\n}","type":"json"}]',
+ 'title' => 'Add existing nodes to a node pool',
+ 'changeSet' => [
+ ['createdAt' => '2023-07-21T03:52:18.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachInstancesToNodePool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:AttachInstancesToNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
],
- ],
- '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',
+ 'CancelClusterUpgrade' => [
+ 'summary' => 'Cancels the upgrade of an ACK cluster that is in the upgrading state.',
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::CancelTask'],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Cancel cluster upgrade (deprecated)',
+ 'changeSet' => [
+ ['createdAt' => '2024-01-12T01:58:59.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelClusterUpgrade'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:CancelClusterUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CancelComponentUpgrade' => [
+ 'summary' => 'Cancels the upgrade of a cluster component.',
+ 'path' => '/clusters/{clusterId}/components/{componentId}/cancel',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => true,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '413',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
- 'produces' => [
- 'application/json',
+ 'parameters' => [
+ [
+ 'name' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'componentId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component ID.', 'type' => 'string', 'required' => true, 'example' => 'metric-server'],
+ ],
],
- 'operationType' => 'read',
+ 'responses' => [
+ 200 => [],
+ '5XX' => [],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::CancelTask'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Cancel cluster component upgrade',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelComponentUpgrade'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CancelComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CancelOperationPlan' => [
+ 'summary' => 'Cancels an existing but unexecuted automated O&M task execution plan by calling CancelOperationPlan.',
+ 'path' => '/operation/plans/{plan_id}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '11154',
- 'abilityTreeNodes' => [
- 'FEATUREcskJEIDU7',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '196742',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'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',
- ],
+ 'name' => 'plan_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The ID of the execution plan.', 'type' => 'string', 'required' => false, 'example' => 'P-655c9c127e0e6603ef00****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体参数',
- 'description' => 'The response body.'."\n",
+ 'description' => 'Schema of Response',
'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',
- ],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'db82195b-75a8-40e5-9be4-16f1829dc624'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f1829dc624\\"\\n}","type":"json"}]',
+ 'title' => 'Cancel an automated O&M task execution plan',
+ 'changeSet' => [
+ ['createdAt' => '2024-09-23T06:06:09.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-09-11T03:33:18.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelOperationPlan'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:CancelOperationPlan',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CancelTask' => [
+ 'summary' => 'Cancels the execution of a cluster task.',
+ 'path' => '/tasks/{task_id}/cancel',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ '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.', 'type' => 'string', 'required' => true, 'example' => 'T-62ccd14aacb8db06ca00****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 202 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Cancel a task',
+ 'changeSet' => [
+ ['createdAt' => '2022-07-21T12:21:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelTask'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:CancelTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'machine',
+ ],
+ 'CheckControlPlaneLogEnable' => [
+ 'summary' => 'Queries the log configuration of control plane components for an ACK managed cluster. Control plane components include Kube API Server, Kube Scheduler, Kube Controller Manager, and Cloud Controller Manager. You can call the CheckControlPlaneLogEnable operation to query the current log configuration of control plane components, including the log retention period and the components from which logs are collected.',
+ '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',
- 'abilityTreeCode' => '254114',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
+ 'abilityTreeNodes' => ['FEATUREcsk0H96CV'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', 'title' => ''],
],
- 'autoTest' => true,
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'log_project' => ['description' => 'The name of the Simple Log Service (SLS) project that stores the control plane component logs.'."\n"
+ ."\n"
+ .'Default value: k8s-log-$Cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****', 'title' => ''],
+ 'log_ttl' => ['description' => 'The data retention period of logs in the SLS Logstore. Unit: days.', 'type' => 'string', 'example' => '30', 'title' => ''],
+ 'aliuid' => ['description' => 'The Alibaba Cloud account ID.', 'type' => 'string', 'example' => '162981*****', 'title' => ''],
+ 'components' => [
+ 'description' => 'The list of components for which control plane logging is enabled.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of components for which control plane logging is enabled.'."\n"
+ ."\n"
+ .'By default, the control plane component log feature collects logs from the `apiserver`, `ccm`, `scheduler`, `kcm`, `controlplane-events`, and `alb` components.', 'type' => 'string', 'example' => '["apiserver", "ccm", "scheduler", "kcm", "controlplane-events", alb]', 'title' => ''],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query log configuration of control plane components for an ACK managed cluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckControlPlaneLogEnable'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:CheckControlPlaneLogEnable',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CheckServiceRole' => [
+ 'summary' => 'Checks whether the current service account has been granted the specified service role permissions. Container Service for Kubernetes (ACK) can call other cloud services (such as ECS, OSS, NAS, and SLB) that are associated with service roles only after the corresponding role permissions are granted.',
+ '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' => 'clusterType',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '集群类型。',
- 'description' => '',
- 'type' => 'string',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'roles' => [
+ 'title' => '',
+ 'description' => 'The list of service roles to check.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The service role information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'Container service role name. For information about container service roles and permission scopes included in ACK, see [ACK service roles](~~86483~~).', 'type' => 'string', 'required' => true, 'example' => 'AliyunCSManagedAutoScalerRole'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
'required' => false,
- 'enumValueTitles' => [
- 'ExternalKubernetes' => '',
- 'ManagedKubernetes' => '',
- 'Kubernetes' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'roles' => [
+ 'title' => '',
+ 'description' => 'The service role check results.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of service roles.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The service role name.', 'type' => 'string', 'example' => 'AliyunCSManagedAutoScalerRole'],
+ 'granted' => [
+ 'title' => '',
+ 'description' => 'Indicates whether the service role has been granted.',
+ 'enumValueTitles' => ['true' => 'Granted.', 'false' => 'Not granted.'],
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'message' => ['title' => '', 'description' => 'The prompt message returned when the service role is not granted.', 'type' => 'string', 'example' => 'The role does not exist: AliyunCSManagedAutoScalerRole'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
],
- 'example' => 'ManagedKubernetes',
- 'enum' => [
- 'Kubernetes',
- 'ManagedKubernetes',
- 'ExternalKubernetes',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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' => 'Check service role authorization status',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckServiceRole'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CheckServiceRole',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CleanClusterUserPermissions' => [
+ 'summary' => 'Cleans up KubeConfig credentials and RBAC permissions that have been issued to a specified user in a specified cluster. You can call this operation to revoke authorization for KubeConfig credentials that pose security risks.',
+ 'path' => '/cluster/{ClusterId}/user/{Uid}/permissions',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'profile',
+ '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 cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'Uid',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.', 'type' => 'string', 'required' => true, 'example' => '2xxxxxxxxxxxxxxxxxx'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'Force',
'in' => 'query',
- 'schema' => [
- 'title' => '集群场景。',
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'Lingjun' => '',
- 'Serverless' => '',
- 'Default' => '',
- 'Edge' => '',
- ],
- 'example' => 'Default',
- 'enum' => [
- 'Default',
- 'Serverless',
- 'Edge',
- 'Lingjun',
+ 'schema' => ['description' => 'Specifies whether to force delete the specified KubeConfig. Valid values:'."\n"
+ .'- false (default): Before deleting the KubeConfig, the system checks whether cluster access records exist within the last seven days. If access records exist or cannot be retrieved, the deletion is not allowed.'."\n"
+ .'- true: Force deletes the KubeConfig without checking cluster access records.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Clean up kubeConfig credentials and RBAC permissions for a specified user in a specified cluster',
+ 'description' => '> 1. You must have the permission to manage Container Service for Kubernetes (ACK) (AliyunCSFullAccess). '."\n"
+ .'> 2. Cleaning up permissions of an Alibaba Cloud account is not supported.'."\n"
+ .'> 3. Cleaning up the permissions of the user who performs this operation is not supported.',
+ 'responseParamsDescription' => 'No response parameters are returned.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CleanClusterUserPermissions'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CleanClusterUserPermissions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CleanUserPermissions' => [
+ 'summary' => 'Cleans up KubeConfig credentials and revokes RBAC permissions for a specified user. If you want to clean up KubeConfig credentials and revoke authorization for risky users such as those who have left the organization or whose accounts have been frozen, call CleanUserPermissions to clean up the issued KubeConfig credentials and RBAC permissions for the specified user.',
+ 'path' => '/users/{Uid}/permissions',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'acceptLanguage',
+ '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.', 'type' => 'string', 'required' => true, 'example' => '26562443851650****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Force',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to force delete the specified KubeConfig. Valid values:'."\n"
+ .'- false (default): Before deleting the KubeConfig, the system checks whether cluster access records exist within the last seven days. If access records exist or cannot be retrieved, the deletion is not allowed.'."\n"
+ .'- true: Force deletes the KubeConfig without checking cluster access records.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClusterIds',
+ 'in' => 'query',
+ 'style' => 'simple',
'schema' => [
- 'title' => '根据汉语、英语筛选返回结果。',
- 'description' => '',
- 'type' => 'string',
+ 'description' => 'The list of cluster IDs. If this list is specified, only the KubeConfig credentials and RBAC permissions of the current user in the specified clusters are cleaned up.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'cd53c3a9ee12a494c9a0451e2ffc11c65', 'title' => ''],
'required' => false,
- 'example' => 'zh-CN',
- 'enum' => [
- 'zh-CN',
- 'en-US',
- ],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => '',
+ 'request_id' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****', 'title' => ''],
+ 'task_id' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'clean-user-permissions-2085266204********-6694c16e6ae07***********', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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' => 'Clean up issued kubeConfig credentials and RBAC permissions for a specified user across all clusters',
+ 'description' => '>- You must have full access permissions on Container Service for Kubernetes (ACK) (AliyunCSFullAccess).'."\n"
+ .'>- Cleaning up permissions of an Alibaba Cloud account is not supported.'."\n"
+ .'>- Cleaning up the permissions of the user who performs this operation is not supported.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CleanUserPermissions'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CleanUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CreateAutoRepairPolicy' => [
+ 'summary' => 'Creates a self-healing rule.',
+ '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' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'cb95aa626a47740afbf6aa099b650****', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the self-healing rule.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'resource_type' => ['description' => 'The resource type that the self-healing rule can be bound to.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'nodepool'],
+ 'resource_sub_type' => ['description' => 'The resource subtype that the self-healing rule can be bound to.', 'type' => 'string', 'required' => false, 'example' => 'ess', 'title' => ''],
+ 'rules' => [
+ 'description' => 'The list of self-healing sub-rules.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The self-healing sub-rule.',
'type' => 'object',
'properties' => [
- 'regionId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
+ 'incidents' => [
+ 'description' => 'The list of identified faults.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The identified fault.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the fault.', 'type' => 'string', 'required' => false, 'example' => 'Node.FaultNeedReboot.HOST', 'title' => ''],
+ 'type' => ['description' => 'The type of the fault.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- 'localName' => [
- 'description' => '',
- 'type' => 'string',
+ 'repair_procedure' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the procedure.', 'type' => 'string', 'required' => false, 'example' => 'Drain', 'title' => ''],
+ 'intervention' => [
+ 'description' => 'The configuration for manual intervention in the procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable manual approval.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'type' => ['description' => 'The type of manual approval.', 'type' => 'string', 'required' => false, 'example' => 'label', 'title' => ''],
+ 'inquiring_label' => [
+ 'description' => 'The label configuration for authorization inquiry. When this stage is reached, ACK adds the following label to your node and waits for you to authorize the execution of the action in this stage.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The key of the label.', 'type' => 'string', 'required' => false, 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The value of the label.', 'type' => 'string', 'required' => false, 'example' => 'inquiring', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'approved_label' => [
+ 'description' => 'The label configuration for authorization confirmation. When you add the following label to the node, you authorize ACK to execute the action in this stage. After completing the action in this stage, ACK automatically removes the authorization inquiry and authorization confirmation labels for this stage. If you do not add the following label to authorize the action promptly, ACK does not execute the action in this stage or subsequent actions, and the node may remain in a damaged state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The key of the label.', 'type' => 'string', 'required' => false, 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The value of the label.', 'type' => 'string', 'required' => false, 'example' => 'approved', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'config' => [
+ 'description' => 'The configuration parameters of the repair procedure.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '修复流程的配置参数。', 'type' => 'any', 'example' => '{'."\n"
+ .'"drain_timeout": "30s" '."\n"
+ .'}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
'example' => '',
],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => false,
+ 'example' => '["np-xxx"]',
+ 'title' => '',
],
],
+ 'required' => false,
+ 'title' => '',
+ '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',
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'E368C761-F8F6-4A36-9B58-BD53D5******'],
+ 'policy_id' => ['description' => 'The self-healing rule ID.', 'type' => 'string', 'example' => 'r-xxxxxxx', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"E368C761-F8F6-4A36-9B58-BD53D5******\\",\\n \\"policy_id\\": \\"r-xxxxxxx\\"\\n}","type":"json"}]',
+ 'title' => 'Create a self-healing rule',
+ 'description' => '><notice>This API is not yet available. Stay tuned.></notice>.',
+ 'changeSet' => [
+ ['createdAt' => '2026-02-26T07:37:52.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CreateAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'CreateAutoscalingConfig' => [
+ 'summary' => 'Creates an elastic scaling configuration that allows the system to automatically increase or decrease compute resources based on the configured scaling rules to meet the workload demands of your cluster. During the creation procedure, you can specify scaling metrics and thresholds, scale-out order, cool-down period, and more.',
+ 'path' => '/cluster/{ClusterId}/autoscale/config/',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '411',
- 'abilityTreeNodes' => [
- 'FEATUREcskJEIDU7',
- ],
+ 'abilityTreeCode' => '37485',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cdde1f21ae22e483ebcb068a6eb7f****'],
+ ],
+ [
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'title' => '请求体参数',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'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',
+ 'cool_down_duration' => ['title' => '', 'description' => 'The scale-down trigger delay. The time interval between detecting a scale-down need (reaching the scale-down threshold) and actually performing the scale-down operation (reducing the number of Pods).'."\n"
+ ."\n"
+ .'Valid values: [1,60]. Unit: minutes.'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'string', 'example' => '10', 'required' => false],
+ 'unneeded_duration' => ['title' => '', 'description' => 'The cool-down period. The time interval after the most recent scale-out during which the auto scaling component does not perform scale-down operations. Nodes added during scale-out can only be evaluated for scale-down after the cool-down period expires.'."\n"
+ ."\n"
+ .'Valid values: [1,60]. Unit: minutes.'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'string', 'example' => '10', 'required' => false],
+ 'utilization_threshold' => ['title' => '', 'description' => 'The scale-down threshold. The ratio of requested resources to total resources on a node.'."\n"
+ ."\n"
+ .'A node can be scaled down only when this ratio falls below the configured threshold, meaning both the CPU and memory resources utilization of the node are below the scale-down threshold.'."\n"
+ ."\n"
+ .'Valid values: [0.1~1].'."\n"
+ ."\n"
+ .'Default value: 0.5, which indicates 50%.', 'type' => 'string', 'example' => '0.5', 'required' => false],
+ 'gpu_utilization_threshold' => ['title' => '', 'description' => 'The GPU scale-down threshold. The ratio of requested resources to total resources on a node.'."\n"
+ ."\n"
+ .'A GPU node can be scaled down only when this ratio falls below the configured threshold, meaning the CPU, memory, and GPU utilization of the node are all below the GPU scale-down threshold.'."\n"
+ ."\n"
+ .'Valid values: [0.1~1].'."\n"
+ ."\n"
+ .'Default value: 0.3, which indicates 30%.', 'type' => 'string', 'example' => '0.3', 'required' => false],
+ 'scan_interval' => ['title' => '', 'description' => 'The scaling sensitivity, which adjusts the interval at which the system evaluates scaling decisions.'."\n"
+ ."\n"
+ .'Valid values: 15, 30, 60, 120, 180, and 300. Unit: seconds.'."\n"
+ ."\n"
+ .'Default value: 60.', 'type' => 'string', 'example' => '30', 'required' => false],
+ 'scale_down_enabled' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to allow node scale-down. Valid values:'."\n"
+ .'- `true`: Scale-down is allowed.'."\n"
+ .'- `false`: Scale-down is not allowed.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'required' => false,
],
- '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",
+ 'expander' => [
+ 'title' => '',
+ 'description' => 'The node pool scale-out order policy. Valid values:'."\n"
+ .'- `least-waste`: The default policy. If multiple node pools are available for scale-out, the node pool with the least resource waste is selected.'."\n"
+ .'- `random`: The random policy. If multiple node pools are available for scale-out, a random node pool is selected.'."\n"
+ .'- `priority`: The priority policy. If multiple node pools are available for scale-out, the node pool with the highest priority is selected based on the custom scaling group order you defined. Node pool priorities are defined by the `priorities` parameter.',
+ 'enumValueTitles' => ['random' => 'random', 'least-waste' => 'least-waste', 'priority' => 'priority'],
'type' => 'string',
- 'required' => true,
- 'example' => 'cn-beijing',
+ 'example' => 'least-waste',
+ 'required' => false,
],
- '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',
+ 'skip_nodes_with_system_pods' => [
+ 'title' => '',
+ 'description' => 'Specifies whether cluster-autoscaler skips scaling down nodes that run Pods in the kube-system namespace. This feature does not apply to DaemonSet Pods or Mirror Pods. Valid values:'."\n"
+ .'- `true`: Nodes are not scaled down.'."\n"
+ .'- `false`: Nodes are scaled down.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'skip_nodes_with_local_storage' => [
+ 'title' => '',
+ 'description' => 'Specifies whether cluster-autoscaler skips scaling down nodes that run Pods with local storage (such as EmptyDir or HostPath). Valid values:'."\n"
+ .'- `true`: Nodes are not scaled down.'."\n"
+ .'- `false`: Nodes are scaled down.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'example' => 'false',
+ 'required' => false,
+ ],
+ 'daemonset_eviction_for_nodes' => [
+ 'title' => '',
+ 'description' => 'Specifies whether cluster-autoscaler evicts DaemonSet Pods on nodes during scale-down. Valid values:'."\n"
+ .'- `true`: DaemonSet Pods are evicted.'."\n"
+ .'- `false`: DaemonSet Pods are not evicted.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'example' => 'false',
'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"
+ 'max_graceful_termination_sec' => ['title' => '', 'description' => 'The timeout period that cluster-autoscaler waits for Pod termination during node draining in scale-down scenarios.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n"
+ ."\n"
+ .'Default value: 14400.', 'type' => 'integer', 'format' => 'int32', 'example' => '14400', 'required' => false],
+ 'min_replica_count' => ['title' => '', 'description' => 'The minimum number of Pods allowed in each ReplicaSet before a node can be scaled down.'."\n"
+ ."\n"
+ .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'required' => false],
+ 'recycle_node_deletion_enabled' => [
+ 'title' => '',
+ 'description' => 'Specifies whether to delete the corresponding Kubernetes Node object after a node is successfully scaled down in swift mode. For more information about swift mode, see [Scaling modes](~~119099~~). Default value: false. 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',
+ .'- `true`: The Kubernetes Node object is deleted after the node is stopped in swift mode. Setting this parameter to true is not recommended because it may cause Kubernetes object data inconsistency.'."\n"
+ .'- `false`: The Kubernetes Node object is retained after the node is stopped in swift mode.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'example' => 'false',
'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"
+ 'scale_up_from_zero' => [
+ 'title' => '',
+ 'description' => 'Specifies whether cluster-autoscaler performs scale-out when the number of Ready nodes in the cluster is 0. Default value: true. 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',
+ .'- `true`: Scale-out is performed.'."\n"
+ .'- `false`: Scale-out is not performed.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
+ 'example' => 'true',
'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"
+ 'scaler_type' => [
+ 'title' => '',
+ 'description' => 'The type of the auto scaling component. For clusters of version 1.24 and later, the default value is goatscaler. For earlier versions, the default value is cluster-autoscaler. Valid values:'."\n"
+ ."\n"
+ .'- `goatscaler`: instant scaling.'."\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",
+ .'- `cluster-autoscaler`: automatic scaling.',
+ 'enumValueTitles' => ['goatscaler' => 'goatscaler', 'cluster-autoscaler' => 'cluster-autoscaler'],
'type' => 'string',
+ 'example' => 'goatscaler',
'required' => false,
- 'example' => '1.16.9-aliyun.1',
],
- 'auto_mode' => [
- 'title' => '智能托管模式配置。',
+ 'priorities' => [
+ 'title' => '',
+ 'description' => 'The priority configuration for automatic scaling. After you create a node pool with auto scaling enabled, you can choose whether to configure a priority policy and priority settings by using [Enable node auto scaling](~~119099~~) to assign priorities to the scaling groups of specified auto scaling node pools.'."\n"
+ ."\n"
+ .'Valid values: [1, 100]. The value must be a positive integer. A larger value indicates a higher priority.',
'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'type' => 'boolean',
- ],
+ 'required' => false,
+ 'additionalProperties' => [
+ 'title' => '',
+ 'description' => '同一优先级的自动伸缩节点池伸缩组ID。',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => '自动伸缩节点池的伸缩组ID。', 'type' => 'string', 'example' => 'asg-bp1fe63lqz******'],
+ 'example' => '',
],
+ 'example' => '',
],
- '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"
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cc212d04dfe184547bffaa596********'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5fd211e924e1d007********'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'AF8BE105-C32B-1269-9774-5510********'],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cc212d04dfe184547bffaa596********\\",\\n \\"task_id\\": \\"T-5fd211e924e1d007********\\",\\n \\"request_id\\": \\"AF8BE105-C32B-1269-9774-5510********\\"\\n}","type":"json"}]',
+ 'title' => 'Create an elastic scaling configuration',
+ 'changeSet' => [
+ ['createdAt' => '2025-01-10T09:54:48.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-05T07:30:13.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-06-02T08:02:48.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAutoscalingConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateAutoscalingConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CreateCluster' => [
+ 'summary' => 'You can create ACK clusters through OpenAPI, including ACK managed clusters, ACK Serverless clusters, ACK Edge clusters, and registered clusters. When creating a cluster, you will configure the cluster information, cluster components, and ACK-related cloud resources.',
+ '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' => 'Request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'Custom cluster name. Consists of digits, Chinese characters, English characters, or hyphens (-), with a length of 1 to 63 characters, and cannot start with a hyphen (-).', 'type' => 'string', 'required' => true, 'example' => 'cluster-demo'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID where the cluster is located. For details, see [Regions supported by Container Service](~~216938~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing'],
+ 'cluster_type' => ['title' => '', 'description' => '- `Kubernetes`: ACK dedicated cluster.'."\n"
+ .'- `ManagedKubernetes`: ACK managed cluster types, including ACK managed cluster (Pro and Basic editions), ACK Serverless cluster (Pro and Basic editions), ACK Edge cluster (Pro and Basic editions), and ACK Lingjun cluster (Pro edition).'."\n"
+ .'- `ExternalKubernetes`: Registered cluster.', 'type' => 'string', 'required' => false, 'example' => 'Kubernetes'],
+ 'cluster_spec' => ['title' => '', 'description' => 'After selecting `cluster_type` as `ManagedKubernetes` and configuring `profile`, you can further specify the cluster specification. Valid values:'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic edition (selected by default when the value is empty)'."\n"
+ .'- `ack.pro.small`: Pro edition'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (requires contacting customer service to enable allowlisting)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. They pre-allocate and fix control plane resources to ensure that API concurrency and Pod scheduling capabilities always remain at a determined high level, suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For the cluster management fees of Pro edition and provisioned control plane editions, see <props="china">[Cluster management fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster management fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.', 'type' => 'string', 'example' => 'ack.pro.small', 'required' => false],
+ 'profile' => ['title' => '', 'description' => 'When `cluster_type` is set to `ManagedKubernetes`, you can further specify the cluster subtype.'."\n"
+ .'- `Default`: ACK managed cluster, including ACK cluster (Pro and Basic editions).'."\n"
+ .'- `Edge`: ACK Edge cluster, including ACK Edge cluster (Pro and Basic editions).'."\n"
+ .'- `Serverless`: ACK Serverless cluster, including ACK Serverless cluster (Pro and Basic editions).'."\n"
+ .'- `Lingjun`: ACK Lingjun cluster, available in Pro edition.', 'type' => 'string', 'example' => 'Default', 'required' => false],
+ 'kubernetes_version' => ['title' => '', 'description' => 'Cluster version, consistent with the Kubernetes community baseline version. We recommend selecting the latest version. If not specified, the latest version is used by default.'."\n"
+ ."\n"
+ .'You can create clusters of the three most recent versions. You can query supported cluster versions through the [DescribeKubernetesVersionMetadata](~~2667899~~) API.'."\n"
+ ."\n"
+ .'For Kubernetes versions supported by ACK, see [Kubernetes version release overview](~~185269~~).', 'type' => 'string', 'required' => false, 'example' => '1.32.1-aliyun.1'],
+ 'auto_mode' => [
+ 'title' => '',
+ 'description' => '[Intelligent managed mode](~~2938898~~) configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Whether to enable intelligent managed mode.'."\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',
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
'required' => false,
+ 'example' => '',
],
- '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"
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'Node tags. Tag definition rules:'."\n"
."\n"
- .'* `true`: enables cluster deletion protection.'."\n"
- .'* `false`: disables cluster deletion protection.'."\n"
+ .'- Tags consist of case-sensitive key-value pairs. You can set up to 20 tags.'."\n"
+ .'- Tag keys cannot be duplicated, with a maximum length of 64 characters; tag values can be empty, with a maximum length of 128 characters. Neither tag keys nor tag values can start with “aliyun”, “acs:”, “https://”, or “http://”. For details, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).',
+ 'type' => 'array',
+ 'items' => ['description' => 'Node tags. Tag definition rules:'."\n"
."\n"
- .'Default value: `false`.'."\n",
- 'type' => 'boolean',
+ .'- Tags consist of case-sensitive key-value pairs. You can set up to 20 tags.'."\n"
+ .'- Tag keys cannot be duplicated, with a maximum length of 64 characters; tag values can be empty, with a maximum length of 128 characters. Neither tag keys nor tag values can start with “aliyun”, “acs:”, “https://”, or “http://”. For details, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => 'true',
+ 'example' => '',
],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID to which the cluster belongs, used for isolating different resources.', 'type' => 'string', 'example' => 'rg-acfm3mkrure****', 'required' => false],
+ 'deletion_protection' => ['title' => '', 'description' => 'Cluster deletion protection, which prevents accidental cluster deletion through the console or API. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable cluster deletion protection. The cluster cannot be deleted through the console or API.'."\n"
+ .'- `false`: Disable cluster deletion protection. The cluster can be deleted through the console or API.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
'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",
+ 'title' => '',
+ 'description' => 'Multiple availability zone IDs of the region where the cluster is located. This parameter is specific to ACK managed cluster types.',
'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',
+ 'items' => ['description' => 'Availability zone ID of the region where the cluster is located. A vSwitch is automatically created in this availability zone.'."\n"
+ ."\n"
+ .'When creating an ACK managed cluster, if `vpc_id` and `vswitch_ids` are not specified, specify `zone_ids` for the cluster to automatically create VPC network resources in multiple availability zones. This parameter is ignored when `vpc_id` and `vswitch_ids` are specified.', 'type' => 'string', 'example' => 'cn-beijing-h', 'required' => false, 'title' => ''],
'required' => false,
- 'example' => 'vpc-2zeik9h3ahvv2zz95****',
+ 'example' => '',
],
+ 'vpcid' => ['title' => '', 'description' => 'The VPC used by the cluster. Must be provided when creating a cluster.', '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",
+ 'title' => '',
+ 'description' => 'vSwitches for cluster nodes. This field is required when creating a zero-node managed cluster.',
'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****',
- ],
+ 'items' => ['description' => 'vSwitches for cluster nodes. This field is required when creating a zero-node managed cluster.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2ze3ds0mdip0hdz8i****', 'title' => ''],
'required' => false,
+ 'example' => '',
],
'ip_stack' => [
- 'title' => '集群的IP协议栈,可取值:'."\n"
- .'- ipv4:创建仅支持IPv4协议栈的集群;'."\n"
- .'- dual:创建支持IPv4/IPv6双栈的集群。',
- 'description' => 'The IP stack of the cluster.'."\n",
+ 'title' => '',
+ 'description' => 'Cluster IP stack.',
'type' => 'string',
- 'required' => false,
- 'example' => 'Optional value: ipv4 (Single stack) or ipv6 (Dual Stack)'."\n"
- .'Default value: IPV4',
+ 'example' => '可选值:'."\n"
+ .'ipv4(单栈)'."\n"
+ .'dual(双栈),默认值为ipv4。',
'default' => 'ipv4',
- 'enum' => [
- 'ipv4',
- 'dual',
- ],
+ 'enum' => ['ipv4', 'dual'],
+ 'required' => false,
],
'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",
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] When using the Terway network plugin, you need to specify vSwitches for Pod IP allocation. Each Pod vSwitch corresponds to a Worker node vSwitch, and the availability zones of Pod vSwitches and Worker node vSwitches must be consistent.'."\n"
+ .'> The CIDR mask of Pod vSwitches should not exceed 19 and must not exceed 25; otherwise, the available Pod IP addresses in the cluster network will be very limited, affecting normal cluster usage.',
'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,
+ 'items' => ['description' => 'When using the Terway network plugin, you need to specify vSwitches for Pod IP allocation. Each Pod vSwitch corresponds to a Worker node vSwitch, and the availability zones of Pod vSwitches and Worker node vSwitches must be consistent.'."\n"
+ .'> The CIDR mask of Pod vSwitches should not exceed 19 and must not exceed 25; otherwise, the available Pod IP addresses in the cluster network will be very limited, affecting normal cluster usage.', 'type' => 'string', 'example' => 'vsw-2ze97jwri7cei0mpw****', 'required' => false, 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'container_cidr' => ['title' => '', 'description' => 'Pod network CIDR block. Must be a valid private CIDR block, specifically the following CIDR blocks and their subnets: 10.0.0.0/8, 172.16-31.0.0/12-16, 192.168.0.0/16. Cannot overlap with the VPC or CIDR blocks used by existing Kubernetes clusters in the VPC. Cannot be modified after creation.'."\n"
+ ."\n"
+ .'For cluster network planning, see [ACK managed cluster network planning](~~86500~~).'."\n"
+ ."\n"
+ .'> This field is required for Flannel clusters.', 'type' => 'string', 'required' => false, 'example' => '172.20.0.0/16'],
+ 'service_cidr' => ['title' => '', 'description' => 'Service network CIDR block. Valid ranges: 10.0.0.0/16-24, 172.16-31.0.0/16-24, 192.168.0.0/16-24. Cannot overlap with VPC CIDR block 10.1.0.0/21 or CIDR blocks used by existing Kubernetes clusters in the VPC. Cannot be modified after creation.'."\n"
+ ."\n"
+ .'Default value: 172.19.0.0/20.', 'type' => 'string', 'required' => false, 'example' => '172.21.0.0/20'],
+ 'security_group_id' => ['title' => '', 'description' => 'Specify the security group ID when creating a cluster with an existing security group. Mutually exclusive with `is_enterprise_security_group`. Cluster nodes are automatically added to this security group.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1bdue0qc1g7k****'],
+ 'is_enterprise_security_group' => ['title' => '', 'description' => 'Automatically create an enterprise security group. Takes effect when `security_group_id` is empty.'."\n"
+ ."\n"
+ .'> When using a basic security group, the total number of nodes and Terway Pods in the cluster cannot exceed 2000. Therefore, when creating a Terway network type cluster, it is recommended to use an enterprise security group.'."\n"
+ ."\n"
+ .'- `true`: Create and use an enterprise security group.'."\n"
+ .'- `false`: Use a basic security group.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'snat_entry' => ['title' => '', 'description' => 'Configure SNAT for the VPC. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Automatically create a NAT gateway and configure SNAT rules. Set to `true` if nodes and applications in the cluster need to access the Internet.'."\n"
+ .'- `false`: Do not create a NAT gateway or SNAT rules. Nodes and applications in the cluster will not be able to access the Internet.'."\n"
+ ."\n"
+ .'> If not enabled during cluster creation and the business later requires Internet access, you can [manually enable it](~~178480~~).'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
'control_plane_endpoints_config' => [
- 'title' => '集群连接配置。指定该字段时,endpoint_public_access、load_balancer_id参数不生效。如需要指定CLB/NLB,需要使用load_balancers_config指定对应实例ID。',
+ 'title' => '',
+ 'description' => 'Cluster connection configuration.',
'type' => 'object',
'properties' => [
'internal_dns_config' => [
- 'title' => '集群内部域名配置,适用于ACK托管集群。集群内部域名用于 kubelet、kube-proxy 等节点侧系统组件访问 API Server;未开启集群内部域名访问时,节点侧系统组件将通过 CLB IP 方式访问。',
+ 'title' => '',
+ 'description' => 'Internal DNS configuration for the cluster, applicable to ACK managed clusters. The internal DNS is used by node-side system components such as kubelet and kube-proxy to access the API Server. When internal DNS access is not enabled, node-side system components will access via CLB IP.',
'type' => 'object',
'properties' => [
'bind_vpcs' => [
- 'title' => '集群内部域名记录解析生效的 VPC 范围,默认包括集群所在 VPC。',
+ 'title' => '',
+ 'description' => 'VPCs where the internal DNS record resolution takes effect.',
'type' => 'array',
- 'items' => [
- 'title' => '集群内部域名生效的VPC。',
- 'type' => 'string',
- ],
+ 'items' => ['title' => '', 'description' => 'VPCs where the internal DNS record resolution takes effect.', 'type' => 'string', 'required' => false, 'example' => 'vpc-xxxx'],
+ 'required' => false,
+ 'example' => '',
],
],
- ],
- ],
- ],
- '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',
- ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'endpoint_public_access' => ['title' => '', 'description' => 'Whether to enable public access. Expose the API Server through an EIP to enable public access to the cluster.'."\n"
+ ."\n"
+ .'- `true`: Enable public access.'."\n"
+ .'- `false`: Disable public access. When disabled, the cluster API Server cannot be accessed from the Internet.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'load_balancer_id' => ['title' => '', 'description' => 'Specify the CLB instance ID for API Server access. When this parameter is specified, an API Server CLB will not be automatically created.'."\n"
+ .'> Ensure that the CLB instance has no other dependencies (such as listeners or backend servers). Shared and public-network CLB instances are not supported.', 'type' => 'string', 'required' => false, 'example' => 'lb-wz9t256gqa3vbouk****'],
+ 'ssh_flags' => ['title' => '', 'description' => 'Whether to enable public SSH login. Used for logging in to Master nodes of ACK dedicated clusters. This parameter does not take effect in managed clusters.'."\n"
+ .'- `true`: Enable.'."\n"
+ .'- `false`: Disable.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'timezone' => ['title' => '', 'description' => 'The timezone used by the cluster. See [Supported timezones](~~354879~~).', 'type' => 'string', 'example' => 'Asia/Shanghai', 'required' => false],
+ 'node_cidr_mask' => ['title' => '', 'description' => 'Number of node IPs, determined by specifying the network CIDR. Only takes effect for Flannel network type clusters.'."\n"
+ ."\n"
+ .'Default value: `26`.', 'type' => 'string', 'example' => '25', 'required' => false],
+ 'proxy_mode' => ['title' => '', 'description' => 'kube-proxy mode'."\n"
+ ."\n"
+ .'- `iptables`: A mature and stable kube-proxy mode. Kubernetes Service discovery and load balancing are configured using iptables rules. Performance is average and significantly affected by scale, suitable for clusters with a small number of Services.'."\n"
+ .'- `ipvs`: A high-performance kube-proxy mode. Kubernetes Service discovery and load balancing are configured using the Linux IPVS module, suitable for clusters with a large number of Services that require high-performance load balancing.'."\n"
+ .'- `nftables`: Next-generation kube-proxy mode based on Linux nftables for Service discovery and load balancing. It is a modern replacement for iptables. Compared to iptables, nftables performs better in network performance, rule update efficiency, and large-scale Service scenarios. '."\n"
+ .'Only supported for clusters of version 1.35 and above. The Kubernetes community deprecated IPVS starting from version 1.35. It is recommended to use nftables for new clusters for longer-term community support.'."\n"
+ ."\n"
+ .'Default value: `ipvs`.', 'type' => 'string', 'example' => 'ipvs', 'required' => false],
+ 'controlplane_log_ttl' => ['title' => '', 'description' => 'Number of days to retain control plane component logs.', 'type' => 'string', 'example' => '30', 'required' => false],
+ 'controlplane_log_project' => ['title' => '', 'description' => 'Log Service project for control plane component logs. You can use an existing project for log storage or let the system automatically create a project. If you choose to auto-create a Log Service project, a project named `k8s-log-{ClusterID}` will be automatically created.', 'type' => 'string', 'example' => 'k8s-log-xxx', 'required' => false],
'controlplane_log_components' => [
- 'title' => '需要采集日志的组件',
- 'description' => 'The control plane components for which you want to enable log collection.'."\n"
+ 'title' => '',
+ 'description' => 'List of component names, specifying which control plane components\' logs to collect.'."\n"
."\n"
- .'By default, the logs of kube-apiserver, kube-controller-manager, and kube-scheduler are collected.'."\n",
+ .'By default, logs are collected from kube-apiserver, kube-controller-manager, kube-scheduler, and cloud-controller-manager.',
'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"]',
- ],
+ 'items' => ['description' => 'List of component names, specifying which control plane components\' logs to collect.'."\n"
+ ."\n"
+ .'By default, logs are collected from kube-apiserver, kube-controller-manager, kube-scheduler, and cloud-controller-manager.', 'type' => 'string', 'example' => '["apiserver","kcm","scheduler"]', 'required' => false, 'title' => ''],
'required' => false,
+ 'example' => '',
],
'audit_log_config' => [
+ 'description' => 'Cluster audit log configuration.',
'type' => 'object',
'properties' => [
- 'enabled' => [
- 'type' => 'boolean',
- ],
- 'sls_project_name' => [
- 'type' => 'string',
- ],
+ 'enabled' => ['description' => 'Whether to enable the cluster audit log feature.'."\n"
+ ."\n"
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'sls_project_name' => ['description' => 'The [SLS Project](~~48873~~) where the cluster audit log [Logstore](~~48873~~) is located.'."\n"
+ ."\n"
+ .'- Default value: `k8s-log-{clusterid}`.'."\n"
+ ."\n"
+ .'- After enabling the cluster audit log feature, a corresponding Logstore will be created under the specified SLS Project.', 'type' => 'string', 'required' => false, 'example' => 'k8s-log-c2345xxxxxxxxxxxx', 'title' => ''],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'rrsa_config' => [
- 'title' => '配置 RRSA 功能。',
+ 'title' => '',
+ 'description' => 'RRSA feature configuration.',
'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',
- ],
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable the RRSA feature.'."\n"
+ ."\n"
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'cluster_domain' => ['title' => '', 'description' => 'Cluster local domain name.'."\n"
+ ."\n"
+ .'Naming rules: The domain name consists of one or more parts separated by periods (.). Each part can be up to 63 characters long and can contain lowercase letters, digits, and hyphens (-). Each part must start and end with a lowercase letter or digit.', 'type' => 'string', 'example' => 'cluster.local', 'required' => false],
+ 'encryption_provider_key' => ['title' => '', 'description' => 'KMS key ID. This key is used to encrypt data disks. For more details, see [Key Management Service](~~28935~~).'."\n"
+ ."\n"
+ .'> This feature only takes effect in professional managed clusters (ACK Pro clusters).'."\n"
+ ."\n", 'type' => 'string', 'example' => '0fe64791-55eb-4fc7-84c5-c6c7cdca****', 'required' => false],
+ 'service_account_issuer' => ['title' => '', 'description' => 'ServiceAccount is the access credential for communication between Pods and the cluster API Server. `service-account-issuer` is the issuer identity in the `serviceaccount token`, i.e., the `iss` field in the `token payload`.'."\n"
+ ."\n"
+ .'For more details about `ServiceAccount`, see [Deploy service account token volume projection](~~160384~~).', 'type' => 'string', 'example' => 'kubernetes.default.svc', 'required' => false],
+ 'api_audiences' => ['title' => '', 'description' => 'ServiceAccount is the access credential for communication between Pods and the cluster API Server. `api-audiences` defines the valid request `token` identities used by the `apiserver` to verify whether the request `token` is legitimate. Multiple `audience` values can be configured, separated by commas (,).'."\n"
+ ."\n"
+ .'For more details about `ServiceAccount`, see [Deploy service account token volume projection](~~160384~~).', 'type' => 'string', 'example' => 'kubernetes.default.svc', 'required' => false],
'extra_sans' => [
- 'title' => '自定义 API Server 证书 SAN(Subject Alternative Name)。',
+ 'title' => '',
+ 'description' => 'Custom API Server certificate 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",
+ 'items' => ['title' => '', 'description' => 'Certificate SAN. Supports custom IP addresses or domain names.', 'type' => 'string', 'example' => '192.168.xx.xx', 'required' => false],
'required' => false,
- '$ref' => '#/components/schemas/maintenance_window',
+ 'example' => '',
],
+ 'maintenance_window' => ['description' => 'Cluster maintenance window.', '$ref' => '#/components/schemas/maintenance_window', 'required' => false, 'title' => '', 'example' => ''],
'operation_policy' => [
- 'title' => '集群自动运维策略。',
- 'description' => 'The automatic O\\&M policy of the cluster.'."\n",
+ 'title' => '',
+ 'description' => 'Cluster automatic O&M policy.',
'type' => 'object',
'properties' => [
'cluster_auto_upgrade' => [
- 'title' => '集群自动升级。',
- 'description' => 'The configurations of auto cluster upgrade.'."\n",
+ 'title' => '',
+ 'description' => 'Cluster automatic upgrade.',
'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',
- ],
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable cluster automatic upgrade.'."\n"
+ ."\n"
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'channel' => ['title' => '', 'description' => 'Cluster automatic upgrade frequency. Valid values:'."\n"
+ .'- patch: Automatically upgrade to an available patch version of the current minor version. The new Kubernetes version will not contain breaking changes.'."\n"
+ .'- stable: Automatically upgrade to the latest patch version of the second-newest minor version. The new Kubernetes version may involve API and feature changes, but its stability has been widely verified.'."\n"
+ .'- rapid: Automatically upgrade to the latest patch version of the latest minor version to get new features from the Kubernetes community faster.', 'type' => 'string', 'required' => false, 'example' => 'stable'],
],
'required' => false,
+ 'example' => '',
],
],
'required' => false,
+ 'example' => '',
],
'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"
+ 'title' => '',
+ 'description' => 'List of cluster components. Specify the components to install when creating a cluster through `addons`.'."\n"
."\n"
- .'**Network plug-in**: required. The Flannel and Terway plug-ins are supported. Select one of the plug-ins for the cluster.'."\n"
+ .'**Network component**: Required. Choose between Flannel and Terway network types when creating a 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"
+ .'- Flannel network: \\[{"name":"flannel","config":""}].'."\n"
+ .'- Terway network: \\[{"name": "terway-eniip","config": ""}] .'."\n"
."\n"
- .'**Volume plug-in**: optional. Only the `Container Storage Interface (CSI)` plug-in is supported.'."\n"
+ .'**Storage component**: Optional. Only the `csi` type is supported:'."\n"
."\n"
- .'Specify the `CSI` plug-in in the following format: \\[{"name":"csi-plugin","config": ""},{"name": "csi-provisioner","config": ""}].'."\n"
+ .'`csi`: \\[{"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"
+ .'**Log component**: Optional. Recommended to enable. If Log Service is not enabled, the cluster audit feature will be unavailable.'."\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"
+ .'- Use an existing `SLS Project`: \\[{"name": "loongcollector","config": "{\\"IngressDashboardEnabled\\":\\"true\\",\\"sls_project_name\\":\\"your_sls_project_name\\"}"}] .'."\n"
+ .'- Create a new `SLS Project`: \\[{"name": "loongcollector","config": "{\\"IngressDashboardEnabled\\":\\"true\\"}"}] .'."\n"
."\n"
- .'**Ingress controller**: optional. By default, the `nginx-ingress-controller` component is installed in ACK dedicated clusters.'."\n"
+ .'**Ingress component**: Optional. ACK dedicated clusters install the Ingress component `nginx-ingress-controller` by default.'."\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"
+ .'- Install Ingress with public network access: \\[{"name":"nginx-ingress-controller","config":"{\\"IngressSlbNetworkType\\":\\"internet\\"}"}] .'."\n"
+ .'- Disable default Ingress installation: \\[{"name": "nginx-ingress-controller","config": "","disabled": true}] .'."\n"
."\n"
- .'**Event center**: optional. By default, the event center feature is enabled.'."\n"
+ .'**Event center**: Optional. Enabled by default.'."\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"
+ .'The event center provides capabilities for storing, querying, and alerting on Kubernetes events. The Logstore associated with the Kubernetes event center is free for 90 days. For more information about the free policy, see [Create and use the Kubernetes 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",
+ .'Example of enabling the event center: \\[{"name":"ack-node-problem-detector","config":"{\\"sls_project_name\\":\\"your_sls_project_name\\"}"}].',
'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',
- ],
+ 'items' => ['description' => 'List of cluster components. Specify the components to install when creating a cluster through `addons`.', '$ref' => '#/components/schemas/addon', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
+ 'example' => '',
],
'nodepools' => [
- 'description' => 'The list of node pools.'."\n",
+ 'description' => 'Node pool list.',
'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',
+ 'items' => ['description' => 'Node pool configuration.', '$ref' => '#/components/schemas/nodepool', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => '-----BEGIN CERTIFICATE-----****',
+ 'title' => '',
+ 'example' => '',
],
+ 'user_ca' => ['title' => '', 'description' => 'Custom cluster CA.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----****', 'required' => false],
'control_plane_config' => [
- 'title' => '专有版集群控制面配置。',
- 'description' => 'The control plane configurations of an ACK dedicated cluster.'."\n",
+ 'title' => '',
+ 'description' => 'ACK dedicated cluster control plane configuration.',
'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',
- ],
+ 'charge_type' => ['title' => '', 'description' => 'Control plane node billing type.'."\n"
+ ."\n"
+ .'- `PrePaid`: Subscription.'."\n"
+ .'- `PostPaid`: Pay-as-you-go.'."\n"
+ ."\n"
+ .'Default value: `PostPaid`.', 'type' => 'string', 'required' => false, 'example' => 'PostPaid'],
+ 'period' => ['title' => '', 'description' => 'Subscription duration for control plane nodes. Valid and required when the billing type is `PrePaid`.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}. Unit: months.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
+ 'period_unit' => ['title' => '', 'description' => 'Subscription period unit for control plane nodes. Valid and required when the billing type is `PrePaid`.'."\n"
+ ."\n"
+ .'Valid value: `Month`. Currently, only month-based periods are supported.', 'type' => 'string', 'required' => false, 'example' => 'Month'],
+ 'auto_renew' => ['title' => '', 'description' => 'Whether to enable auto-renewal for control plane nodes. Valid when the billing type is `PrePaid`.'."\n"
+ .'- true: Enable auto-renewal.'."\n"
+ .'- false: Disable auto-renewal.'."\n"
+ ."\n"
+ .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'auto_renew_period' => ['title' => '', 'description' => 'Auto-renewal duration for control plane nodes.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12}. Unit: months.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
'instance_types' => [
- 'title' => '节点实例类型。',
- 'description' => 'The instance types of the nodes.'."\n",
+ 'title' => '',
+ 'description' => 'Node instance types.',
'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',
+ 'items' => ['description' => 'Node instance specification types.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large'."\n", 'title' => ''],
'required' => false,
- 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd'."\n",
+ 'example' => '',
],
- '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****',
- ],
+ 'image_type' => ['title' => '', 'description' => 'OS image type.', 'type' => 'string', 'required' => false, 'example' => 'AliyunLinux3'."\n"],
+ 'image_id' => ['title' => '', 'description' => 'Image ID.', 'type' => 'string', 'required' => false, 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd'."\n"],
+ 'key_pair' => ['title' => '', 'description' => 'Key pair name. Mutually exclusive with login_password.', 'type' => 'string', 'required' => false, 'example' => 'ack'],
+ 'login_password' => ['title' => '', 'description' => 'SSH login password. The password must be 8 to 30 characters in length and contain at least three of the following: uppercase letters, lowercase letters, digits, and special characters. Mutually exclusive with key_pair.', 'type' => 'string', 'required' => false, 'example' => '********'],
+ 'system_disk_category' => ['title' => '', 'description' => 'Node system disk type.'."\n"
+ ."\n"
+ .'- `cloud_efficiency`: Ultra disk.'."\n"
+ .'- `cloud_ssd`: SSD disk.'."\n"
+ .'- `cloud_essd`: ESSD disk.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry disk.'."\n"
+ ."\n"
+ .'Default value: `cloud_ssd`. The default value may vary across availability zones.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd'],
+ 'system_disk_size' => ['title' => '', 'description' => 'Node system disk size.'."\n"
+ ."\n"
+ .'Valid values: \\[40, 500\\]. Unit: GiB.'."\n"
+ ."\n"
+ .'Default value: `120`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '120'],
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'Node automatic snapshot backup policy.', 'type' => 'string', 'required' => false, 'example' => 'sp-2zej1nogjvovnz4z****'."\n"],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'Node system disk performance level. Only takes effect for ESSD disks.'."\n"
+ ."\n"
+ .'The performance level is related to the disk size. For more information, see [ESSD disk](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'Pre-provisioned read/write IOPS for the node system disk.'."\n"
+ ."\n"
+ .'Valid values: 0 to min{50,000, 1000*capacity - baseline performance}. Baseline performance = min{1,800 + 50*capacity, 50000}.'."\n"
+ ."\n"
+ .'This parameter is only supported when `system_disk_category` is set to `cloud_auto`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Whether to enable burst (performance burst) for the node system disk.'."\n"
+ ."\n"
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.'."\n"
+ ."\n"
+ .'This parameter is only supported when `system_disk_category` is set to `cloud_auto`.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'deploymentset_id' => ['title' => '', 'description' => 'Deployment set ID.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp10b35imuam5amw****'."\n"],
+ 'cloud_monitor_flags' => ['title' => '', 'description' => 'Whether to install CloudMonitor on nodes.'."\n"
+ ."\n"
+ .'- true: Install the CloudMonitor agent.'."\n"
+ ."\n"
+ .'- false: Do not install the CloudMonitor agent.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'instance_metadata_options' => ['title' => '', 'description' => 'ECS instance metadata access configuration.', '$ref' => '#/components/schemas/InstanceMetadataOptions', 'required' => false, 'example' => ''],
+ 'soc_enabled' => ['title' => '', 'description' => 'Whether to enable classified protection security hardening.'."\n"
+ ."\n"
+ .'- true: Enable classified protection hardening.'."\n"
+ ."\n"
+ .'- false: Disable classified protection hardening.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Whether to enable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'- true: Enable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'- false: Disable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'cpu_policy' => ['title' => '', 'description' => 'Node CPU management policy.'."\n"
+ ."\n"
+ .'- static: Allows enhancing CPU affinity and exclusivity for Pods with certain resource characteristics on the node.'."\n"
+ ."\n"
+ .'- none: Enables the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: none.', 'type' => 'string', 'required' => false, 'example' => 'none'],
+ 'runtime' => ['title' => '', 'description' => '[**This field is deprecated**] Control plane node runtime name. Valid value:'."\n"
+ ."\n"
+ .'containerd: Containerd runtime, supported by all cluster versions.', 'type' => 'string', 'required' => false, 'example' => 'containerd'],
+ 'node_port_range' => ['title' => '', 'description' => '[**This field is deprecated**] Node service port range.', 'type' => 'string', 'required' => false, 'example' => '30000-32767'."\n"],
+ 'size' => ['title' => '', 'description' => 'Number of control plane nodes.'."\n"
+ ."\n"
+ .'Valid values: `3` or `5`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'custom_san' => ['title' => '', 'description' => '[**This field is deprecated**] Use the `extra_sans` parameter instead.'."\n"
+ ."\n"
+ .'Custom certificate SAN. Multiple IPs or domain names are separated by commas (,).', 'type' => 'string', 'deprecated' => true, 'example' => 'cs.aliyun.com', 'required' => false],
+ 'runtime' => ['title' => '', 'description' => 'Container runtime in the cluster. Supports containerd, sandboxed containers, and Docker.'."\n"
+ .'> Kubernetes 1.24 no longer supports Docker as a built-in container runtime.'."\n"
+ ."\n"
+ .'For more information, see [Comparison of Docker, containerd, and sandboxed container runtimes](~~160313~~).', 'deprecated' => true, '$ref' => '#/components/schemas/runtime', 'required' => false, 'example' => ''],
+ 'node_name_mode' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `node_name_mode` parameter under `kubernetes_config` in `nodepool` instead.', 'type' => 'string', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'user_data' => ['title' => '', 'description' => '[**This field is deprecated**] Custom node data.', 'type' => 'string', 'deprecated' => true, 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFD****', 'required' => false],
+ 'image_id' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `image_id` parameter under `control_plane_config` instead. For node pool configuration, use the `image_id` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Custom node image. The system image is used by default. When a custom image is selected, it replaces the default system image. See [Custom images](~~146647~~).', 'type' => 'string', 'deprecated' => true, 'example' => 'm-bp16z7xko3vvv8gt****', 'required' => false],
'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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For node pool configuration, use the `rds_instances` parameter under `scaling_group` in `nodepool` 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",
+ .'List of RDS instances. Select the RDS instances you want to add to the whitelist. It is recommended to add the container Pod CIDR block and Node CIDR block in RDS. Setting RDS instances may fail to pop up due to non-running instance status.',
'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****',
- ],
+ 'items' => ['description' => 'List of RDS instances. Select the RDS instances you want to add to the whitelist. It is recommended to add the container Pod CIDR block and Node CIDR block in RDS. Setting RDS instances may fail to pop up due to non-running instance status.', 'type' => 'string', 'example' => 'rm-2zev748xi27xc****', 'required' => false, 'title' => ''],
'deprecated' => true,
'required' => false,
+ 'example' => '',
],
'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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For node pool configuration, use the `taints` parameter under `kubernetes_config` in `nodepool` 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",
+ .'Node taint information. Taints and tolerations work together to prevent Pods from being scheduled on inappropriate nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).',
'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',
+ 'items' => ['description' => 'Node taint information. Taints and tolerations work together to prevent Pods from being scheduled on inappropriate nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).', '$ref' => '#/components/schemas/taint', 'required' => false, 'title' => '', 'example' => ''],
'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,
- ],
+ 'example' => '',
+ ],
+ 'cloud_monitor_flags' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane node configuration, use the `cloud_monitor_flags` parameter under `control_plane_config` instead. For node pool configuration, use the `cms_enabled` parameter under `kubernetes_config` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Whether to install the CloudMonitor agent in the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Install the CloudMonitor agent.'."\n"
+ .'- `false`: Do not install the CloudMonitor agent.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'platform' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `platform` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'OS distribution. Valid values:'."\n"
+ ."\n"
+ .'- CentOS'."\n"
+ .'- AliyunLinux'."\n"
+ .'- QbootAliyunLinux'."\n"
+ .'- Qboot'."\n"
+ .'- Windows'."\n"
+ .'- WindowsCore'."\n"
+ ."\n"
+ .'Default value: `CentOS`.', 'type' => 'string', 'deprecated' => true, 'example' => 'CentOS', 'required' => false],
+ 'os_type' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane node configuration, use the `image_type` parameter under `control_plane_config` instead. For node pool configuration, use the `image_type` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'OS platform type. Valid values:'."\n"
+ .'- Windows'."\n"
+ .'- Linux'."\n"
+ ."\n"
+ .'Default value: `Linux`.', 'type' => 'string', 'deprecated' => true, 'example' => 'Linux', 'required' => false],
+ 'soc_enabled' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane node configuration, use the `soc_enabled` parameter under `control_plane_config` instead. For node pool configuration, use the `soc_enabled` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Classified protection hardening. For more information, see [ACK classified protection hardening user guide](~~196148~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- `true`: Enable classified protection hardening.'."\n"
+ .'- `false`: Disable classified protection hardening.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'security_hardening_os' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `security_hardening_os` parameter under `control_plane_config` instead. For node pool configuration, use the `security_hardening_os` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Alibaba Cloud OS security hardening. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable Alibaba Cloud OS security hardening.'."\n"
+ .'- `false`: Disable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'false'],
+ 'cis_enabled' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `security_hardening_os` parameter under `control_plane_config` instead. For node pool configuration, use the `security_hardening_os` parameter under `scaling_group` in `nodepool` instead.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'cpu_policy' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `cpu_policy` parameter under `control_plane_config` instead. For node pool configuration, use the `cpu_policy` parameter under `kubernetes_config` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Node CPU management policy. The following two policies are supported when the cluster version is 1.12.6 or later:'."\n"
+ ."\n"
+ .'- `static`: Allows enhancing CPU affinity and exclusivity for Pods with certain resource characteristics on the node.'."\n"
+ .'- `none`: Enables the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: `none`.', 'type' => 'string', 'deprecated' => true, 'example' => 'none', 'required' => false],
+ 'node_port_range' => ['title' => '', 'description' => 'Node service ports. Valid port range: \\[30000, 65535\\].'."\n"
+ ."\n"
+ .'Default value: `30000-32767`.', 'type' => 'string', 'deprecated' => true, 'example' => '30000~32767 ', 'required' => false],
'master_vswitch_ids' => [
- 'title' => '集群Master节点使用的虚拟交换机。该参数已废弃,请使用vswitch_ids。',
- 'description' => '\\[**Deprecated**] Use the `vswitch_ids` parameter instead.'."\n"
+ 'title' => '',
+ 'description' => '[**This field is 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"
+ .'List of Master node vSwitch IDs. The number of vSwitches ranges from \\[1, 3\\]. To ensure high availability of the cluster, it is recommended to select 3 vSwitches distributed in different availability zones.'."\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",
+ .'The number of specified instance types must be consistent with `master_count` and correspond one-to-one with the elements in `master_vswitch_ids`.',
'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"
+ 'items' => ['description' => 'List of Master node vSwitch IDs. The number of vSwitches ranges from \\[1, 3\\]. To ensure high availability of the cluster, it is recommended to select 3 vSwitches distributed in different availability zones.'."\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',
+ .'The number of specified instance types must be consistent with `master_count` and correspond one-to-one with the elements in `master_vswitch_ids`.', 'type' => 'string', 'example' => 'vsw-2ze3ds0mdip0hdz8i****', 'required' => false, 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'key_pair' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `key_pair` parameter under `control_plane_config` instead. For node pool configuration, use the `key_pair` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Key pair name. Mutually exclusive with `login_password`.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'security-key'],
+ 'login_password' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `login_password` parameter under `control_plane_config` instead. For node pool configuration, use the `login_password` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'SSH login password. Mutually exclusive with `key_pair`. The password must be 8 to 30 characters in length and contain at least three of the following: uppercase letters, lowercase letters, digits, and special characters.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'null'],
+ 'master_count' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `size` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Number of Master nodes. Valid values: `3` or `5`.'."\n"
+ ."\n"
+ .'Default value: `3`.', '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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `instance_types` parameter under `control_plane_config` instead.'."\n"
."\n"
- .'The instance types of master nodes. For more information, see [Overview of instance families](~~25378~~).'."\n",
+ .'Master node instance types. For more information, see [Instance family](~~25378~~).',
'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',
+ 'items' => ['description' => 'Master node instance types. The number of specified instance types must be consistent with `master_count` and correspond one-to-one with the elements in `master_instance_types`. For more information, see [Instance family](~~25378~~).', 'type' => 'string', 'example' => 'ecs.n4.xlarge', 'required' => false, 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'master_system_disk_category' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `system_disk_category` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node system disk type. Valid values:'."\n"
+ ."\n"
+ .'- `cloud_efficiency`: Ultra disk.'."\n"
+ .'- `cloud_ssd`: SSD disk.'."\n"
+ .'- `cloud_essd`: ESSD disk.'."\n"
+ ."\n"
+ .'Default value: `cloud_ssd`. The default value may vary across availability zones.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'cloud_ssd'],
+ 'master_system_disk_size' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `system_disk_size` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node system disk size. Valid values: \\[40, 500\\]. Unit: GiB.'."\n"
+ ."\n"
+ .'Default value: `120`.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'required' => false, 'example' => '120'],
+ 'master_system_disk_performance_level' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `system_disk_performance_level` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Cluster Master node system disk performance level. Only takes effect for ESSD disks. The performance level is related to the disk size. For more information, see [ESSD disk](~~122389~~).', 'type' => 'string', 'deprecated' => true, 'example' => 'PL1', 'required' => false],
+ 'master_system_disk_snapshot_policy_id' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `system_disk_snapshot_policy_id` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Automatic snapshot policy ID for the Master node system disk.', 'type' => 'string', 'deprecated' => true, 'example' => 'sp-2zej1nogjvovnz4z****', 'required' => false],
+ 'master_instance_charge_type' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `instance_charge_type` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node billing type. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: Subscription.'."\n"
+ .'- `PostPaid`: Pay-as-you-go.'."\n"
+ ."\n"
+ .'Default value: `PostPaid`.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'PrePaid'],
+ 'master_period_unit' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `period_unit` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node billing period. Must be specified when the billing type is `PrePaid`.'."\n"
+ ."\n"
+ .'Valid value: `Month`. Currently, only month-based periods are supported.', 'type' => 'string', 'deprecated' => true, 'example' => 'Month', 'required' => false],
+ 'master_period' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `unit` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node subscription duration. Valid and required when `master_instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '1', 'required' => false],
+ 'master_auto_renew' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `auto_renew` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Whether to enable auto-renewal for Master nodes. Only takes effect when `master_instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable auto-renewal.'."\n"
+ .'- `false`: Disable auto-renewal.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'master_auto_renew_period' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `auto_renew_period` parameter under `control_plane_config` instead.'."\n"
+ ."\n"
+ .'Master node auto-renewal period. Only takes effect when subscription billing type is selected, and is a required value.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12}.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '1', 'required' => false],
+ 'num_of_nodes' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `desired_size` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Number of Worker nodes. Range: \\[0, 100\\].', '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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For node pool configuration, use the `vswitch_ids` parameter under `scaling_group` in `nodepool` instead.'."\n"
."\n"
- .'The vSwitches for worker nodes. Each worker node is allocated a vSwitch.'."\n"
+ .'List of vSwitches used by cluster nodes. One node corresponds to one value.'."\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",
+ .'When creating a zero-node managed cluster, the `worker_vswitch_ids` field is not required, but `vswitch_ids` must be provided.',
'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****',
- ],
+ 'items' => ['description' => 'List of Worker node vSwitches. Valid range: \\[1, 20\\]. To ensure high availability, it is recommended to select vSwitches in different availability zones.'."\n"
+ ."\n"
+ .'When creating a zero-node managed cluster, the `worker_vswitch_ids` field is not required, but `vswitch_ids` must be provided.', 'type' => 'string', 'example' => 'vsw-2ze3ds0mdip0hdz8i****', 'required' => false, 'title' => ''],
'deprecated' => true,
'required' => false,
+ 'example' => '',
],
'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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For node pool configuration, use the `instance_types` parameter under `scaling_group` in `nodepool` instead.'."\n"
."\n"
- .'The instance configurations of worker nodes.'."\n",
+ .'Worker node instance configuration.',
'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"
+ 'items' => ['description' => 'Worker node instance types. At least one instance type must be specified. For more information, see [Instance family](~~25378~~).'."\n"
."\n"
- .'Default value: `cloud_ssd`.'."\n",
- 'type' => 'string',
+ .'> Instance type priority decreases as the position in the array increases. When an instance cannot be created with a higher-priority instance type, the next-priority instance type is automatically selected.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n4.large', 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'worker_system_disk_category' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `system_disk_category` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Worker node system disk type. For more information, see [Block storage overview](~~63136~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- `cloud_efficiency`: Ultra disk.'."\n"
+ .'- `cloud_ssd`: SSD disk.'."\n"
+ ."\n\n"
+ .'Default value: `cloud_ssd`.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'cloud_efficiency'],
+ 'worker_system_disk_size' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `system_disk_size` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Worker node system disk size. Unit: GiB.'."\n"
+ ."\n"
+ .'Valid values: \\[40, 500\\].'."\n"
+ ."\n"
+ .'The value must be greater than or equal to max{40, ImageSize}.'."\n"
+ ."\n"
+ .'Default value: `120`.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'required' => false, 'example' => '120'],
+ 'worker_system_disk_snapshot_policy_id' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `system_disk_snapshot_policy_id` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Automatic snapshot policy ID for the Worker node system disk.', 'type' => 'string', 'deprecated' => true, 'example' => 'sp-2zej1nogjvovnz4z****', 'required' => false],
+ 'worker_system_disk_performance_level' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `system_disk_performance_level` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'When the system disk is an ESSD disk, you can set the Performance Level (PL) of the ESSD disk. For more information, see [ESSD disk](~~122389~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- PL0'."\n"
+ .'- PL1'."\n"
+ .'- PL2'."\n"
+ .'- PL3', 'type' => 'string', 'deprecated' => true, 'example' => 'PL1', 'required' => false],
'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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] For node pool configuration, use the `data_disks` parameter under `scaling_group` in `nodepool` 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",
+ .'Combination of Worker node data disk type, size, and other configurations.',
'type' => 'array',
'items' => [
- 'description' => 'The configurations of data disks.'."\n",
+ 'description' => 'Data disk configuration set.',
'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',
- ],
+ 'category' => ['title' => '', 'description' => 'Data disk type.', 'type' => 'string', 'required' => true, 'example' => 'cloud_essd'],
+ 'encrypted' => ['title' => '', 'description' => 'Whether to encrypt the data disk. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Encrypt the data disk.'."\n"
+ .'- `false`: Do not encrypt the data disk.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'string', 'example' => 'true', 'required' => false],
+ 'size' => ['title' => '', 'description' => 'Data disk size. Valid values: 40 to 32767. Unit: GiB.', 'type' => 'string', 'required' => true, 'example' => '120'],
+ 'performance_level' => ['title' => '', 'description' => 'Node data disk performance level. Only takes effect for [ESSD disks](~~122389~~).', 'type' => 'string', 'example' => 'PL1', 'required' => false],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ 'example' => '',
+ ],
+ 'worker_instance_charge_type' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `instance_charge_type` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Worker node billing type. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: Subscription.'."\n"
+ .'- `PostPaid`: Pay-as-you-go.'."\n"
+ ."\n"
+ .'Default value: Pay-as-you-go.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'PrePaid'],
+ 'worker_period_unit' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `period_unit` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Worker node billing period. Must be specified when the billing type is `PrePaid`.'."\n"
+ ."\n"
+ .'Valid value: `Month`. Currently, only month-based periods are supported.', 'type' => 'string', 'deprecated' => true, 'example' => 'Month', 'required' => false],
+ 'worker_period' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `period` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Worker node subscription duration. Valid and required when `worker_instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '1', 'required' => false],
+ 'worker_auto_renew' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `auto_renew` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'Whether to enable auto-renewal for Worker nodes. Only takes effect when `worker_instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable auto-renewal.'."\n"
+ .'- `false`: Disable auto-renewal.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'worker_auto_renew_period' => ['title' => '', 'description' => '[**This field is deprecated**] For node pool configuration, use the `auto_renew_period` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n\n"
+ .'Worker node auto-renewal period. Only takes effect when subscription billing type is selected, and is a required value.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12}.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '1', 'required' => false],
'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"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] Selecting existing nodes when creating a cluster is no longer supported. To add existing nodes to a cluster, create a node pool first and call the [AttachInstancesToNodePool](~~2667920~~) API.'."\n"
+ ."\n\n"
+ .'When creating a cluster with existing nodes, you need to specify a list of ECS instances. These instances will join the cluster as Worker nodes.'."\n"
."\n"
- .'> This parameter is required if you create worker nodes on existing ECS instances.'."\n",
+ .'> This field is required when creating a cluster with existing instances.',
'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"
+ 'items' => ['description' => 'When creating a cluster with existing nodes, you need to specify a list of ECS instances. These instances will join the cluster as Worker nodes.'."\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',
+ .'> This field is required when creating a cluster with existing instances.', 'type' => 'string', 'example' => 'i-2ze4zxnm36vq00xn****', 'required' => false, 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'format_disk' => ['title' => '', 'description' => '[**This field is deprecated**] Selecting existing nodes when creating a cluster is no longer supported. To add existing nodes to a cluster, create a node pool first and call the [AttachInstancesToNodePool](~~2667920~~) API.'."\n"
+ ."\n"
+ .'Whether to mount data disks on instances when creating a cluster with existing instances. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Store containers and images on the data disk. Existing data on the data disk will be lost. Please back up your data.'."\n"
+ ."\n"
+ .'- `false`: Do not store containers and images on the data disk.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n"
+ .'Data disk mounting rules:'."\n"
+ ."\n"
+ .'- If the ECS instance already has data disks mounted and the file system of the last data disk is not initialized, the system will automatically format the data disk as ext4 to store /var/lib/docker and /var/lib/kubelet.'."\n"
+ .'- If the ECS instance has no data disks mounted, no new data disk will be mounted.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'keep_instance_name' => ['title' => '', 'description' => '[**This field is deprecated**] Selecting existing nodes when creating a cluster is no longer supported. To add existing nodes to a cluster, create a node pool first and call the [AttachInstancesToNodePool](~~2667920~~) API.'."\n"
+ ."\n"
+ .'Whether to retain instance names when creating a cluster with existing instances.'."\n"
+ ."\n"
+ .'- `true`: Retain.'."\n"
+ .'- `false`: Do not retain. Names will be replaced using system rules.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
'service_discovery_types' => [
- 'title' => '创建ACK Serverless集群时,服务发现类型。',
- 'description' => 'The methods for implementing service discovery in `ACK Serverless` clusters.'."\n"
+ 'title' => '',
+ 'description' => '[**This field is deprecated**] Service discovery type within the cluster, used to specify the service discovery method 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"
+ .'- `CoreDNS`: Uses the Kubernetes native standard service discovery component CoreDNS. A set of containers needs to be deployed in the cluster for DNS resolution. By default, two ECI instances with 0.25 Core 512 MiB specifications are used.'."\n"
+ .'- `PrivateZone`: Uses the Alibaba Cloud PrivateZone product for service discovery capabilities. The PrivateZone service needs to be enabled.'."\n"
."\n"
- .'By default, this parameter is not specified.'."\n",
+ .'Default value: Not enabled.',
'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"
+ 'items' => ['description' => 'Service discovery type within the cluster, used to specify the service discovery method in `ACK Serverless` clusters.'."\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"
+ .'- `CoreDNS`: Uses the Kubernetes native standard service discovery component CoreDNS. A set of containers needs to be deployed in the cluster for DNS resolution. By default, two ECI instances with 0.25 Core 512 MiB specifications are used.'."\n"
+ .'- `PrivateZone`: Uses the Alibaba Cloud PrivateZone product for service discovery capabilities. The PrivateZone service needs to be enabled.'."\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',
+ .'Default value: Not enabled.', 'type' => 'string', 'example' => 'PrivateZone', 'required' => false, 'title' => ''],
'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',
- ],
+ 'example' => '',
+ ],
+ 'nat_gateway' => ['title' => '', 'description' => '[**This field is deprecated**] Use the `snat_entry` parameter instead.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'zone_id' => ['title' => '', 'description' => '[**This field is deprecated**] Use the `zone_ids` parameter instead.'."\n"
+ ."\n"
+ .'Availability zone ID of the region where the cluster is located. This parameter is specific to ACK managed cluster types.'."\n"
+ ."\n"
+ .'When creating an ACK managed cluster, if `vpc_id` and `vswitch_ids` are not specified, `zone_id` must be specified for the cluster to automatically create VPC network resources in this availability zone. This parameter is ignored when `vpc_id` and `vswitch_ids` are specified.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'cn-beiji****'],
+ 'logging_type' => ['title' => '', 'description' => '[**This field is deprecated**] Enable Log Service for the cluster. Only takes effect for ACK Serverless clusters, and the value must be `SLS`.', 'type' => 'string', 'deprecated' => true, 'example' => 'SLS', 'required' => false],
+ 'disable_rollback' => ['title' => '', 'description' => '[**This field is deprecated**] By default, no rollback is performed when cluster creation fails. You need to clean up the failed cluster yourself.'."\n"
+ ."\n"
+ .'Whether to roll back when cluster creation fails. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Roll back when cluster creation fails.'."\n"
+ .'- `false`: Do not roll back when cluster creation fails.'."\n"
+ ."\n\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'timeout_mins' => ['title' => '', 'description' => '[**This field is deprecated**] By default, no rollback is performed when cluster creation fails. You need to clean up the failed cluster yourself.'."\n"
+ ."\n"
+ .'Cluster creation timeout. Unit: minutes.'."\n"
+ ."\n"
+ .'Default value: `60`.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => '60', 'required' => false],
+ 'image_type' => ['title' => '', 'description' => '[**This field is deprecated**] For cluster control plane configuration, use the `image_type` parameter under `control_plane_config` instead. For node pool configuration, use the `image_type` parameter under `scaling_group` in `nodepool` instead.'."\n"
+ ."\n"
+ .'OS distribution type. It is recommended to use this field to specify the node OS. 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`.', 'type' => 'string', 'deprecated' => true, 'example' => 'AliyunLinux', 'required' => false],
+ 'load_balancer_spec' => ['title' => '', 'description' => '[**This parameter is deprecated**] CLB is billed by usage. This parameter does not take effect.'."\n"
+ ."\n"
+ .'Load balancer specification. Valid values:'."\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`.', 'type' => 'string', 'deprecated' => true, 'example' => 'slb.s2.small', 'required' => false],
+ 'enable_rrsa' => ['title' => '', 'description' => '[**This field is deprecated**] Use the `rrsa_config` parameter instead.'."\n"
+ ."\n"
+ .'Whether to enable the RRSA feature.'."\n"
+ ."\n"
+ .'- true: Enable.'."\n"
+ ."\n"
+ .'- false: Disable.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'charge_type' => ['title' => '', 'description' => '[**This field is deprecated**]'."\n"
+ ."\n"
+ .'Billing type of the CLB instance used by the API Server. Default value: PostPaid. Valid values:'."\n"
+ .'- PostPaid: Pay-as-you-go.'."\n"
+ .'- PrePaid: Subscription. This billing type is no longer supported for newly created CLB instances. Existing instances are not affected.'."\n"
+ ."\n"
+ .'><notice>'."\n"
+ ."\n"
+ .'- This field was changed on October 15, 2024. For more information, see [Announcement on CreateCluster API parameter behavior changes](~~2849194~~).'."\n"
+ .'- Starting from December 1, 2024, newly created CLB instances no longer support the subscription billing type, and instance fees will be charged.'."\n"
+ .'</notice>'."\n"
+ .'<props="china">For details, see [Product announcement on canceling subscription billing for cluster API Server CLB](~~2851191~~) and [CLB billing adjustment announcement](~~2839797~~).</props>'."\n"
+ .'<props="intl">For details, see [CLB billing adjustment announcement](~~2839797~~).</props>', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'PostPaid'],
+ 'period_unit' => ['title' => '', 'description' => '[**This field is deprecated**]'."\n"
+ ."\n"
+ .'Billing period. Must be specified when the billing type is PrePaid.'."\n"
+ ."\n"
+ .'Valid value: Month. Currently, only month-based periods are supported.'."\n"
+ ."\n"
+ .'This field was changed on October 15, 2024. For more information, see [Announcement on CreateCluster API parameter behavior changes](~~2849194~~).', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'Month'],
+ 'period' => ['title' => '', 'description' => '[**This field is deprecated**]'."\n"
+ ."\n"
+ .'Purchase duration. Subscription duration. Valid and required when charge_type is set to PrePaid.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.'."\n"
+ ."\n"
+ .'Default value: 1.'."\n"
+ ."\n"
+ .'This field was changed on October 15, 2024. For more information, see [Announcement on CreateCluster API parameter behavior changes](~~2849194~~).', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'required' => false, 'example' => '1'],
+ 'auto_renew' => ['title' => '', 'description' => '[**This field is deprecated**]'."\n"
+ ."\n"
+ .'Whether to enable auto-renewal. Only takes effect when `charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable auto-renewal.'."\n"
+ .'- `false`: Disable auto-renewal.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n"
+ .'This field was changed on October 15, 2024. For more information, see [Announcement on CreateCluster API parameter behavior changes](~~2849194~~).', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'auto_renew_period' => ['title' => '', 'description' => '[**This field is deprecated**]'."\n"
+ ."\n"
+ .'Auto-renewal period. Only takes effect when subscription and auto-renewal are selected. When `PeriodUnit=Month`, valid values: {1, 2, 3, 6, 12}.'."\n"
+ ."\n"
+ .'Default value: 1.'."\n"
+ ."\n"
+ .'This field was changed on October 15, 2024. For more information, see [Announcement on CreateCluster API parameter behavior changes](~~2849194~~).', '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",
+ 'description' => '[**This field is deprecated**] Registered cluster API Server SLB access control list.',
'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,
+ 'items' => ['description' => 'Registered cluster API Server SLB access control list.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX/24'."\n", 'title' => ''],
'deprecated' => true,
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
@@ -4140,5892 +3169,4134 @@
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体数据。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'Response body.',
'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',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'example' => 'cb95aa626a47740afbf6aa099b650****'],
+ 'request_id' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
+ 'task_id' => ['title' => '', 'description' => 'Task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39ea****'],
],
+ 'example' => '',
],
],
'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"
+ 'title' => 'Create a cluster',
+ 'description' => '### Generate OpenAPI request parameters through the console'."\n"
+ .'When calling the CreateCluster API to create a cluster, if the API call fails due to incorrect request parameter combinations, you can generate the required request parameter combinations through the 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"
+ .'1. Log in to the [Container Service management console](https://csnew.console.aliyun.com) and choose **Clusters** in the left navigation pane.'."\n"
."\n"
- .'2. On the **Clusters** page, click **Cluster Templates**.'."\n"
+ .'1. On the **Clusters** page, click **Cluster Template**.'."\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"
+ .'1. In the dialog box, select the cluster type to create, click Create, and then configure the cluster information on the cluster configuration page.'."\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',
+ .'1. After the configuration is complete, on the **Confirm Configuration** page, click **Equivalent Code** in the upper-right corner. The dialog box will display the parameter combinations required for creating the cluster, which you can copy and use.'."\n"
+ ."\n\n"
+ .'><notice>Starting from July 4, 2026, some request parameters will no longer take effect. For change details and alternative parameter descriptions, see [Announcement on OpenAPI parameter changes and API deprecation for ACK cluster management](~~2932733~~).</notice>',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-08T09:33:41.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-09-11T11:44:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-07-29T06:36:24.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-07-04T08:21:13.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-06-10T05:44:57.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-23T11:04:29.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-23T11:04:29.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-05T02:34:59.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-11-19T11:50:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-10-15T08:44:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-09-13T09:40:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-09-11T02:30:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-09-04T02:18:35.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-22T08:24:30.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-19T09:59:09.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-21T08:15:42.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-08T06:17:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-11-07T04:05:04.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-23T02:51:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-02T04:18:54.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-11-24T03:34:05.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:ClusterType', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ClusterSpec', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ClusterProfile', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableSecretEncryption', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableApiServerEip', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableAddonLogtailDs', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableCoreControlPlaneComponentsLog', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:AddonNames'],
+ ['conditionKey' => 'cs:EnableSNAT', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableNodePoolPublicIP', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea****\\"\\n}","type":"json"}]',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'CreateClusterDiagnosis' => [
+ 'summary' => 'Initiates a cluster diagnosis.',
+ 'path' => '/clusters/{cluster_id}/diagnosis',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '409',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '211970',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c905d1364c2dd4b6284a3f41790c4****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****'],
],
[
- 'name' => 'retain_all_resources',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'title' => '',
+ 'description' => 'The diagnosis type.',
+ 'enumValueTitles' => ['node' => 'node', 'ingress' => 'ingress', 'memory' => 'memory', 'pod' => 'pod', 'service' => 'service', 'network' => 'network'],
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'node',
+ ],
+ 'target' => ['title' => '', 'description' => 'The parameters that specify the diagnosis target. The following examples show the parameters for different diagnosis types:'."\n"
+ ."\n"
+ .'node:'."\n"
+ .'```'."\n"
+ .'{"name": "cn-shanghai.10.10.10.107"}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'pod'."\n"
+ .'```'."\n"
+ .'{"namespace": "kube-system", "name": "csi-plugin-2cg9f"}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'network'."\n"
+ .'```'."\n"
+ .'{"src": "10.10.10.108", "dst": "10.11.247.16", "dport": "80"}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'ingress'."\n"
+ .'```'."\n"
+ .'{"url": "https://example.com"}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'memory'."\n"
+ .'```'."\n"
+ .'{"node":"ap-southeast-1.172.16.9.240"}'."\n"
+ .'```'."\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,
- 'example' => 'false',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'keep_slb',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ 'diagnosis_id' => ['title' => '', 'description' => 'The diagnosis ID.', 'type' => 'string', 'example' => '6f719f23098240818eb26fe3a37d****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
+ ],
+ 'example' => '',
],
],
- [
- '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****',
+ ],
+ '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' => 'Initiate cluster diagnosis',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterDiagnosis'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterDiagnosis',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- 'required' => false,
],
],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CreateClusterInspectConfig' => [
+ 'summary' => 'Creates a cluster inspection configuration.',
+ 'path' => '/clusters/{clusterId}/inspectConfig',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'delete_options',
- 'in' => 'query',
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'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',
- ],
+ 'description' => 'The request struct.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enabled' => ['title' => '', 'description' => 'Specifies whether to enable inspection.', 'type' => 'boolean', 'required' => true, 'example' => 'true'],
+ 'recurrence' => ['title' => '', 'description' => 'The inspection cycle defined using RFC 5545 Recurrence Rule syntax. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT and UNTIL are not supported.', 'type' => 'string', 'required' => true, 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15'],
+ 'disabledCheckItems' => [
+ 'title' => '',
+ 'description' => 'The list of disabled inspection items.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The disabled inspection item.', 'type' => 'string', 'required' => false, 'example' => 'NginxIngressServiceAnnotationMultiTargets', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
],
- 'required' => false,
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体数据。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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****',
- ],
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '873DC52C-28AA-5A5C-938C-684D3D4B****', 'title' => ''],
],
+ 'example' => '',
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]',
+ 'title' => 'Create cluster inspection configuration',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterInspectConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'CreateClusterNodePool' => [
+ 'path' => '/clusters/{ClusterId}/nodepools',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '384',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '553',
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cb95aa626a47740afbf6aa099b65****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c61da77e8bfbc4c4c999af2b51b65****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'title' => '请求体参数',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'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"
+ 'nodepool_info' => [
+ 'title' => '',
+ 'description' => 'The node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The node pool name.', 'type' => 'string', 'required' => true, 'example' => 'nodepool-test'],
+ 'type' => [
+ 'title' => '',
+ 'description' => 'The node pool type. Valid values:'."\n"
+ ."\n"
+ .'- `ess`: standard node pool (includes managed features and automatic elastic scaling).'."\n"
+ .'- `edge`: edge node pool.'."\n"
+ .'- `lingjun`: Lingjun node pool.'."\n"
+ .'- `hybrid`: hybrid cloud node pool.',
+ 'enumValueTitles' => ['lingjun' => 'Lingjun node pool.', 'edge' => 'edge node pool.', 'ess' => 'standard node pool.'],
+ 'type' => 'string',
+ 'example' => 'ess',
+ 'required' => false,
+ ],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID of the node pool. Instances scaled out by the node pool belong to this resource group.'."\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',
+ .'A resource can belong to only one resource group. You can map resource groups to concepts such as projects, applications, or organizations based on your business scenarios.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyvw3wjmb****'],
],
'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',
+ 'example' => '',
],
- 'system_events_logging' => [
- 'title' => '系统事件存储配置。',
- 'description' => 'The storage configurations of system events.'."\n",
+ 'auto_scaling' => [
+ 'title' => '',
+ 'description' => 'The automatic elastic scaling configuration.',
'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",
+ 'enable' => ['title' => '', 'description' => 'Specifies whether to enable automatic scaling. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enables the automatic scaling feature for the node pool. When the cluster capacity planning cannot meet the scheduling requirements of application pods, ACK automatically scales node resources based on the configured minimum and maximum instance counts. For clusters of version 1.24 or later, instant node elasticity is enabled by default. For clusters of versions earlier than 1.24, node auto scaling is enabled by default. For more information, see [Node scaling](~~2746785~~).'."\n"
+ ."\n"
+ .'- `false`: disables automatic scaling. ACK adjusts the number of nodes in the node pool based on the configured desired node count and maintains the node count at the desired value.'."\n"
+ ."\n"
+ .'When the value is false, other configuration parameters in `auto_scaling` do not take effect.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'type' => [
+ 'title' => '',
+ 'description' => 'The automatic elastic scaling instance type. This parameter takes effect only when `enable=true`. Valid values:'."\n"
+ ."\n"
+ .'- `cpu`: regular instance type.'."\n"
+ ."\n"
+ .'- `gpu`: GPU instance type.'."\n"
+ ."\n"
+ .'- `gpushare`: GPU-shared type.'."\n"
+ ."\n"
+ .'- `spot`: spot instance type.'."\n"
+ ."\n"
+ .'Default value: `cpu`.'."\n"
+ .'><notice>This field cannot be modified after the node pool is created.></notice>',
+ 'enumValueTitles' => ['spot' => 'spot instance type.', 'cpu' => 'regular instance type.', 'gpushare' => 'GPU-shared type.', 'gpu' => 'GPU instance type.'],
'type' => 'string',
+ 'example' => 'cpu',
'required' => false,
- 'example' => 'k8s-log-cb95aa626a47740afbf6aa099b65****',
],
+ 'max_instances' => ['title' => '', 'description' => 'The maximum number of scalable instances in the node pool, excluding your existing instances. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'Valid values: [min_instances, 2000]. Default value: 0.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'],
+ 'min_instances' => ['title' => '', 'description' => 'The minimum number of scalable instances in the node pool, excluding your existing instances. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'Valid values: [0, max_instances]. Default value: 0.'."\n"
+ ."\n"
+ .'> - If the minimum number of instances is not 0, the corresponding number of ECS instances is automatically created after the scaling group takes effect. Settings take effect after the elastic scaling group is activated, and instances are automatically created.'."\n"
+ .'> - Set the maximum number of instances to a value that is not less than the current number of nodes in the node pool. Otherwise, nodes in the node pool are scaled in after the elastic scaling feature takes effect.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
+ 'is_bond_eip' => ['title' => '', 'description' => '[Deprecated] This field is deprecated. Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ ."\n"
+ .'Specifies whether to associate an elastic IP address (EIP). Valid values:'."\n"
+ ."\n"
+ .'- `true`: associates an EIP.'."\n"
+ ."\n"
+ .'- `false`: does not associate an EIP.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'eip_internet_charge_type' => ['title' => '', 'description' => '[Deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ ."\n"
+ .'The billing method of the EIP. Valid values:'."\n"
+ .'- `PayByBandwidth`: pay-by-bandwidth.'."\n"
+ .'- `PayByTraffic`: pay-by-data-transfer.'."\n"
+ ."\n"
+ .'Default value: `PayByBandwidth`.', 'type' => 'string', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'eip_bandwidth' => ['title' => '', 'description' => '[Deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ ."\n"
+ .'The peak bandwidth of the EIP. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => 'null', 'required' => false],
],
'required' => false,
+ 'example' => '',
],
- 'operation_policy' => [
- 'title' => '集群自动运维策略。',
- 'description' => 'The automatic O\\&M policy of the cluster.'."\n",
+ 'management' => [
+ 'title' => '',
+ 'description' => 'The managed feature configuration of the node pool.',
'type' => 'object',
'properties' => [
- 'cluster_auto_upgrade' => [
- 'title' => '集群自动升级。',
- 'description' => 'The configurations of automatic update.'."\n",
+ 'enable' => ['title' => '', 'description' => 'Specifies whether to enable the managed feature for the node pool. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enables the managed feature.'."\n"
+ ."\n"
+ .'- `false`: disables the managed feature. Other related configurations take effect only when enable=true.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'auto_repair' => ['title' => '', 'description' => 'Specifies whether to automatically repair nodes. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: automatically repairs nodes.'."\n"
+ ."\n"
+ .'- `false`: does not automatically repair nodes.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_repair_policy' => [
+ 'title' => '',
+ 'description' => 'The auto repair node policy.',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: allows node restart.'."\n"
+ .'- `false`: does not allow node restart.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true'."\n", 'required' => false],
+ 'approval_required' => ['title' => '', 'description' => 'Specifies whether node repair requires manual approval.', 'type' => 'boolean', 'required' => false, 'example' => ''],
],
'required' => false,
+ 'example' => '',
],
- ],
- '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',
+ 'auto_vul_fix' => ['title' => '', 'description' => 'Specifies whether to automatically fix CVE vulnerabilities. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: allows automatic CVE fixing.'."\n"
+ .'- `false`: does not allow automatic CVE fixing.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_vul_fix_policy' => [
+ 'title' => '',
+ 'description' => 'The auto CVE fix policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix=true`. Valid values:'."\n"
+ .'- `true`: allows node restart.'."\n"
+ .'- `false`: does not allow node restart.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'vul_level' => ['title' => '', 'description' => 'The vulnerability levels allowed for automatic fixing, separated by commas. Example: `asap,later`. Supported vulnerability levels:'."\n"
+ ."\n"
+ .'- `asap`: high'."\n"
+ .'- `later`: medium'."\n"
+ .'- `nntf`: low'."\n"
+ ."\n"
+ .'Default value: `asap`.', 'type' => 'string', 'example' => 'asap,nntf', 'required' => false],
+ 'exclude_packages' => ['title' => '', 'description' => 'The packages to exclude during vulnerability fixing.'."\n"
+ ."\n"
+ .'Default value: `kernel`.', 'type' => 'string', 'required' => false, 'example' => 'kernel'],
+ ],
'required' => false,
- 'example' => 'append',
- 'enum' => [
- 'append',
- 'overwrite',
+ 'example' => '',
+ ],
+ 'auto_upgrade' => ['title' => '', 'description' => 'Specifies whether to automatically upgrade nodes. This parameter takes effect only when `enable=true`.'."\n"
+ .'- `true`: enables automatic upgrade.'."\n"
+ .'- `false`: disables automatic upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true'."\n", 'required' => false],
+ 'auto_upgrade_policy' => [
+ 'title' => '',
+ 'description' => 'The auto upgrade node policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'auto_upgrade_kubelet' => ['title' => '', 'description' => 'Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: allows automatic kubelet upgrade.'."\n"
+ .'- `false`: does not allow automatic kubelet upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true'."\n", 'required' => false],
+ 'auto_upgrade_runtime' => ['title' => '', 'description' => 'Specifies whether to allow automatic runtime upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: allows automatic runtime upgrade.'."\n"
+ .'- `false`: does not allow automatic runtime upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'auto_upgrade_os' => ['title' => '', 'description' => 'Specifies whether to allow automatic operating system upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: allows automatic operating system upgrade.'."\n"
+ .'- `false`: does not allow automatic operating system upgrade.'."\n"
+ ."\n\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
+ 'required' => false,
+ 'example' => '',
],
- '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',
+ 'upgrade_config' => [
+ 'title' => '',
+ 'description' => '[Deprecated] Use the `auto_upgrade` parameter at the upper level instead.'."\n"
+ ."\n"
+ .'The automatic upgrade configuration. This parameter takes effect only when `enable=true`.',
+ 'type' => 'object',
+ 'properties' => [
+ 'auto_upgrade' => ['title' => '', 'description' => '[Deprecated] Use the `auto_upgrade` parameter at the upper level instead.'."\n"
+ ."\n"
+ .'Specifies whether to enable automatic upgrade. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enables automatic upgrade.'."\n"
+ ."\n"
+ .'- `false`: disables automatic upgrade.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'surge' => ['title' => '', 'description' => 'The number of extra nodes. Specify either this parameter or `surge_percentage`.'."\n"
+ ."\n"
+ .'Nodes become unavailable during an upgrade. You can create extra nodes to compensate for the cluster workload.'."\n"
+ ."\n"
+ .'> The number of extra nodes should not exceed the current number of nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'surge_percentage' => ['title' => '', 'description' => 'The percentage of extra nodes. Specify either this parameter or `surge`.'."\n"
+ ."\n"
+ .'Number of extra nodes = percentage of extra nodes × number of nodes. For example, if the percentage of extra nodes is set to 50% and there are 6 existing nodes, the number of extra nodes = 50% × 6 = 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'max_unavailable' => ['title' => '', 'description' => 'The maximum number of unavailable nodes.'."\n"
+ .'Valid values: \\[1,1000\\].'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
],
+ 'deprecated' => true,
'required' => false,
+ 'example' => '',
],
+ 'auto_fault_diagnosis' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
'required' => false,
+ 'example' => '',
],
- '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",
+ 'scaling_group' => [
+ 'title' => '',
+ 'description' => 'The scaling group configuration of the node pool.',
'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"
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'The list of vSwitch IDs. Valid values: \\[1,8\\].'."\n"
."\n"
- .'Default value: `PostPaid`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PrePaid',
+ .'> To ensure high availability, select vSwitches in different zones.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-wz9mfnhmssud6eicu****', 'required' => false, 'title' => ''],
+ 'required' => true,
+ 'example' => '',
],
- '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"
+ 'instance_types' => [
+ 'title' => '',
+ 'description' => 'The list of instance types for nodes in the node pool. When the node pool scales out nodes, eligible instance types are selected from this list to create instances.'."\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"
+ .'The number of supported instance types ranges from 1 to 10.'."\n"
."\n"
- .'Set the value to `Month`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Month',
+ .'> To ensure high availability, select multiple instance types.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance type. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'example' => 'ecs.d1ne.2xlarge', 'required' => false, 'title' => ''],
+ 'required' => true,
+ 'example' => '',
],
- '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"
+ 'instance_charge_type' => [
+ 'title' => '',
+ 'description' => 'The billing method of nodes in the node pool. Valid values:'."\n"
+ .' '."\n"
+ .'- `PrePaid`: subscription.'."\n"
."\n"
- .'* `true`: enables auto-renewal.'."\n"
- .'* `false`: disables auto-renewal.'."\n"
+ .'- `PostPaid`: pay-as-you-go.'."\n"
."\n"
- .'Default value: `false`'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ .'Default value: `PostPaid`.',
+ 'enumValueTitles' => ['PostPaid' => 'Pay-as-you-go instance.', 'PrePaid' => 'Subscription instance.'],
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PostPaid',
],
- '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',
+ 'period' => ['title' => '', 'description' => 'The subscription duration of nodes in the node pool. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- When `period_unit=Week`, valid values of `period`: {1, 2, 3, 4}.'."\n"
+ .'- When `period_unit=Month`, valid values of `period`: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ 'period_unit' => ['title' => '', 'description' => 'The billing epoch of nodes in the node pool. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- `Month`: uses month as the compute unit (CU).'."\n"
+ .'- `Week`: uses week as the compute unit (CU).'."\n"
+ ."\n"
+ .'Default value: `Month`.', 'type' => 'string', 'example' => 'Month', 'required' => false],
+ 'auto_renew' => ['title' => '', 'description' => 'Specifies whether to enable auto-renewal for nodes in the node pool. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enables auto-renewal.'."\n"
+ .'- `false`: disables auto-renewal.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_renew_period' => ['title' => '', 'description' => 'The duration of each auto-renewal cycle. Valid values:'."\n"
+ .'- When PeriodUnit=Week: 1, 2, 3.'."\n"
+ .'- When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ 'spot_strategy' => ['title' => '', 'description' => 'The type of spot instance. Valid values:'."\n"
+ ."\n"
+ .'- `NoSpot`: non-spot instance.'."\n"
+ ."\n"
+ .'- `SpotWithPriceLimit`: spot instance with a price limit.'."\n"
+ ."\n"
+ .'- `SpotAsPriceGo`: system automatically bids at the current market price.'."\n"
+ ."\n"
+ .'For more information, see [Spot instances](~~165053~~).', 'type' => 'string', 'example' => 'NoSpot', 'required' => false],
+ 'spot_price_limit' => [
+ 'title' => '',
+ 'description' => 'The market price range configuration for a single spot instance type.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The market price range configuration for spot instances. You can set different price ranges for different instance types.',
+ 'type' => 'object',
+ 'properties' => [
+ 'instance_type' => ['title' => '', 'description' => 'The spot instance type.', 'type' => 'string', 'example' => 'ecs.c6.large', 'required' => false],
+ 'price_limit' => ['title' => '', 'description' => 'The maximum price per instance.'."\n"
+ .'<props="china">Unit: CNY/hour.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">Unit: USD/hour.</props>', 'type' => 'string', 'example' => '0.39', 'required' => false],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '1',
+ 'example' => '',
],
- 'instance_types' => [
- 'title' => '节点实例类型。',
- 'description' => 'The type of instance. For more information, see [Overview of ECS instance families](~~25378~~).'."\n",
+ 'image_type' => ['title' => '', 'description' => 'The operating system image type. Valid values:'."\n"
+ ."\n"
+ .'- `AliyunLinux`: Alinux2 image.'."\n"
+ .'- `AliyunLinuxSecurity`: Alinux2 UEFI image.'."\n"
+ .'- `AliyunLinux3`: Alinux3 image.'."\n"
+ .'- `AliyunLinux3Arm64`: Alinux3 ARM image.'."\n"
+ .'- `AliyunLinux3Security`: Alinux3 UEFI image.'."\n"
+ .'- `CentOS`: CentOS image.'."\n"
+ .'- `Windows`: Windows image.'."\n"
+ .'- `WindowsCore`: WindowsCore image.'."\n"
+ .'- `ContainerOS`: container-optimized image.'."\n"
+ .'- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.', 'type' => 'string', 'example' => 'AliyunLinux3', 'required' => false],
+ 'image_id' => ['title' => '', 'description' => 'The custom image ID. The system-provided image is used by default.', 'type' => 'string', 'example' => 'aliyun_2_1903_x64_20G_alibase_20200529.vhd', 'required' => false],
+ 'system_disk_category' => ['title' => '', 'description' => 'The type of the node system cloud disk. Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.'."\n"
+ ."\n"
+ .'Default value: `cloud_efficiency`.', 'type' => 'string', 'example' => 'cloud_efficiency', 'required' => false],
+ 'system_disk_categories' => [
+ 'title' => '',
+ 'description' => 'The multiple cloud disk types for the system cloud disk. When a higher-priority cloud disk type is unavailable, the system automatically tries the next-priority cloud disk type to create the system cloud disk.',
'type' => 'array',
'items' => [
- 'description' => 'The type of instance.'."\n",
+ 'title' => '',
+ 'description' => 'The multiple system cloud disk types for nodes.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- `cloud`: basic cloud disk.'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.',
'type' => 'string',
+ 'example' => 'cloud_essd',
+ 'enum' => [],
'required' => false,
- 'example' => 'ecs.g6.large',
],
'required' => false,
+ 'maxItems' => 10,
+ 'example' => '',
],
- '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",
+ 'system_disk_size' => ['title' => '', 'description' => 'The size of the node system cloud disk. Unit: GiB.'."\n"
+ ."\n"
+ .'Valid values: \\[20,2048\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'required' => false],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'The performance level of the node system cloud disk. This parameter takes effect only for ESSD cloud disks. The performance level varies based on the cloud disk size. For more information, see [ESSDs](~~122389~~).'."\n"
+ .'- PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL2: high maximum concurrent I/O performance with stable read/write latency.'."\n"
+ .'- PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency.', 'type' => 'string', 'example' => 'PL1', 'required' => false],
+ 'system_disk_encrypted' => ['title' => '', 'description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
+ ."\n"
+ .'- true: Encrypted.'."\n"
+ ."\n"
+ .'- false: Not encrypted.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'system_disk_kms_key_id' => ['title' => '', 'description' => 'The KMS key ID used by the system cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'required' => false],
+ 'system_disk_encrypt_algorithm' => [
+ 'title' => '',
+ 'description' => 'The encryption algorithm used by the system cloud disk. Valid values: aes-256.',
'type' => 'string',
+ 'example' => 'aes-256',
+ 'enum' => [],
'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',
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Specifies whether to enable burst (performance burst) for the node system cloud disk. Valid values:'."\n"
+ .'- true: Enabled.'."\n"
+ .'- false: Disabled.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'The provisioned read/write IOPS for the node system cloud disk.'."\n"
+ ."\n"
+ .'Valid values: 0 to min{50,000, 1000 × capacity - baseline performance}. Baseline performance = min{1,800 + 50 × capacity, 50000}.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'required' => false],
+ 'data_disks' => [
+ 'title' => '',
+ 'description' => 'The data cloud disk configuration for nodes in the node pool.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The data cloud disk configuration.', '$ref' => '#/components/schemas/data_disk', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => 'PL1',
+ 'example' => '',
],
- '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',
+ 'security_group_ids' => [
+ 'title' => '',
+ 'description' => 'The list of security group IDs. Specify either this parameter or `security_group_id`. We recommend that you use `security_group_ids`. When both `security_group_id` and `security_group_ids` are specified, `security_group_ids` takes precedence.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of security group IDs. Specify either this parameter or `security_group_id`. We recommend that you use `security_group_ids`. When both `security_group_id` and `security_group_ids` are specified, `security_group_ids` takes precedence.', 'type' => 'string', 'example' => 'sg-wz9a8g2mt6x5ll******', 'required' => false, 'title' => ''],
'required' => false,
- 'example' => '1000',
+ 'example' => '',
],
- '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"
+ 'key_pair' => ['title' => '', 'description' => 'The name of the key pair for password-free logon. Specify either this parameter or `login_password`.'."\n"
+ ."\n"
+ .'>If the node pool uses the ContainerOS operating system, only `key_pair` is supported.', 'type' => 'string', 'required' => false, 'example' => 'np-key-name'],
+ 'login_password' => ['title' => '', 'description' => 'The SSH logon password. Specify either 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.', 'type' => 'string', 'required' => false, 'example' => '****'],
+ 'login_as_non_root' => ['title' => '', 'description' => 'Specifies whether scaled-out ECS instances use non-root logon.'."\n"
+ .' '."\n"
+ .'- true: logs on as a non-root user (ecs-user).'."\n"
+ ."\n"
+ .'- false: logs on as the root user.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'cis_enabled' => ['title' => '', 'description' => '[Deprecated] Use the security_hardening_os parameter instead.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'soc_enabled' => ['title' => '', 'description' => 'Specifies whether to enable MLPS 2.0 security hardening. This feature is available only when the system image is Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides classified protection compliance baseline check standards and scanning programs for Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 MLPS 2.0 Level 3 images.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Specifies whether to enable Alibaba Cloud OS security hardening. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enables Alibaba Cloud OS security hardening.'."\n"
+ .'- `false`: disables Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ '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.', 'type' => 'string', 'example' => 'PayByTraffic', 'required' => false],
+ 'internet_max_bandwidth_out' => ['title' => '', 'description' => 'The maximum outbound public bandwidth of the node. Unit: Mbit/s. Valid values: \\[1,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'required' => false],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'Tags added only to ECS instances.'."\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',
+ .'Tag keys cannot be duplicated and can be up to 128 characters in length. Tag keys and tag values cannot start with "aliyun" or "acs:", or contain "https://" or "http://".',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The node tag.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['title' => '', 'description' => 'The tag key.', 'type' => 'string', 'example' => 'node-k-1', 'required' => false],
+ 'value' => ['title' => '', 'description' => 'The tag value.', 'type' => 'string', 'example' => 'node-v-1', 'required' => false],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'ds-bp10b35imuam5amw****',
+ 'example' => '',
],
- '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',
+ 'desired_size' => ['title' => '', 'description' => 'The desired number of nodes in the node pool.'."\n"
+ ."\n"
+ .'The total number of nodes that the node pool should maintain. We recommend that you configure at least 2 nodes to ensure that cluster components run properly. You can scale the node pool in or out by adjusting the desired node count.'."\n"
+ ."\n"
+ .'If you do not need to create nodes, set this parameter to 0 and manually adjust the value later to add nodes.'."\n"
+ .'[_single.params.body.props.scaling_group', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'multi_az_policy' => ['title' => '', 'description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n"
+ ."\n"
+ .'- `PRIORITY`: Scales instances based on the vSwitches (VSwitchIds.N) that you define. When ECS instances cannot be created in the zone of the vSwitch with the highest priority, the system automatically uses the vSwitch with the next highest priority to create ECS instances.'."\n"
+ ."\n"
+ .'- `COST_OPTIMIZED`: Creates instances by trying instance types in ascending order of vCPU unit price. When the scaling configuration sets multiple instance types with the spot billing method, spot instances are created first. You can use the `CompensateWithOnDemand` parameter to specify whether the system is allowed to automatically create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory or other reasons.'."\n"
+ ."\n"
+ .' >`COST_OPTIMIZED` takes effect only when the scaling configuration sets multiple instance types or uses spot instances.'."\n"
+ ."\n"
+ .'- `BALANCE`: Allocates ECS instances evenly across the zones specified for the scaling group. If the zones become unbalanced due to insufficient inventory or other reasons, you can call the [RebalanceInstances](~~71516~~) API operation to rebalance resources.'."\n"
+ ."\n"
+ .'Default value: `PRIORITY`.', 'type' => 'string', 'example' => 'COST_OPTIMIZED', 'required' => false],
+ 'scaling_policy' => ['title' => '', 'description' => 'The scaling group mode. Valid values:'."\n"
+ ."\n"
+ .'- `release`: Standard mode. Scales by creating and releasing ECS instances based on resource usage.'."\n"
+ .'- `recycle`: Swift mode. Scales by creating, stopping, and starting instances, which improves the speed of subsequent scaling operations. Stopped instances are not charged for compute resources, but storage fees still apply, except for instances with local disks.'."\n"
+ ."\n"
+ .'Default value: `release`.', 'type' => 'string', 'example' => 'release', 'required' => false],
+ 'on_demand_base_capacity' => ['title' => '', 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: \\[0,1000\\]. Pay-as-you-go instances are created first when the number of pay-as-you-go instances is less than this value.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'on_demand_percentage_above_base_capacity' => ['title' => '', 'description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (`on_demand_base_capacity`) is met. Valid values: \\[0,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'required' => false],
+ 'spot_instance_pools' => ['title' => '', 'description' => 'The number of available instance types. The scaling group creates spot instances across the lowest-cost instance types in a balanced manner. Valid values: \\[1,10\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'required' => false],
+ 'spot_instance_remedy' => ['title' => '', 'description' => 'Specifies whether to enable supplementation of spot instances. If enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed when a reclamation notification is received. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables supplementation of spot instances.'."\n"
+ .'- `false`: Disables supplementation of spot instances.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'compensate_with_on_demand' => ['title' => '', 'description' => 'Specifies whether to allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances when `multi_az_policy` is set to `COST_OPTIMIZED` and spot instances cannot be created due to price, inventory, or other reasons. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Allows automatic creation of pay-as-you-go instances to meet the required number of ECS instances.'."\n"
+ .'- `false`: Does not allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'deploymentset_id' => ['title' => '', 'description' => 'The deployment set ID. You can use a deployment set to distribute ECS instances scaled out by the node pool across different physical servers to ensure high availability and underlying disaster recovery. When ECS instances are created in a deployment set, they are started across the specified region based on the preconfigured deployment strategy.'."\n"
+ ."\n\n"
+ .'><notice>After you select a deployment set, the maximum number of nodes in the node pool is limited. By default, a deployment set supports up to 20 × number of zones (the number of zones is determined by the vSwitches). Select carefully and ensure that the deployment set has sufficient quota to avoid node scale-out failures.></notice>', 'type' => 'string', 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', 'required' => false],
+ 'rds_instances' => [
+ 'title' => '',
+ 'description' => 'The list of RDS instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The RDS instance ID.', 'type' => 'string', 'example' => 'rds-****', 'required' => false, 'title' => ''],
'required' => false,
- 'example' => 'true',
+ 'example' => '',
],
- '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',
+ 'private_pool_options' => [
+ 'title' => '',
+ 'description' => 'The private node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => 'The private node pool ID. When `match_criteria` is set to `Target`, you must specify the private pool ID.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'required' => false],
+ 'match_criteria' => ['title' => '', 'description' => 'The private node pool type. Specifies the private pool capacity option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance startup. Valid values:'."\n"
+ .'- `Open`: Open mode. Automatically matches open private pool capacity. If no matching private pool capacity is available, public pool resources are used.'."\n"
+ .'- `Target`: Specified mode. Uses the specified private pool capacity to start instances. If the private pool capacity is unavailable, instance startup fails.'."\n"
+ .'- `None`: No private pool mode. Private pool capacity is not used for instance startup.', 'type' => 'string', 'example' => 'Target', 'required' => false],
+ ],
'required' => false,
- 'example' => 'false',
+ 'example' => '',
],
- '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',
+ 'security_group_id' => ['title' => '', 'description' => 'The security group ID of the node pool. Use either this parameter or `security_group_ids`. We recommend that you use `security_group_ids`.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'sg-wz9a8g2mt6x5llu0****'],
+ 'platform' => ['title' => '', 'description' => '[This field is deprecated] Use the `image_type` parameter instead.'."\n"
+ ."\n"
+ .'The operating system distribution. Valid values:'."\n"
+ .'- `CentOS`'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`'."\n"
+ ."\n"
+ .'Default value: `AliyunLinux`.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'null'],
+ 'instance_patterns' => [
+ 'title' => '',
+ 'description' => 'The instance attribute configuration.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The instance attributes.', '$ref' => '#/components/schemas/instance_patterns', 'required' => false, 'example' => ''],
'required' => false,
- 'example' => 'true',
+ 'example' => '',
],
- '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',
+ 'ram_role_name' => ['title' => '', 'description' => 'The Worker RAM role name.'."\n"
+ ."\n"
+ .'* If left empty, the default Worker RAM role created by the cluster is used.'."\n"
+ .'* If specified, the RAM role must be a **normal service role** with its **trusted service** 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 role name cannot start with `KubernetesMasterRole-` or `KubernetesWorkerRole-`.'."\n"
+ ."\n"
+ .'><notice>This parameter is supported only by ACK managed clusters of version 1.22 or later.></notice>', 'type' => 'string', 'example' => 'example-role', 'required' => false],
+ 'instance_metadata_options' => ['title' => '', 'description' => 'The ECS instance metadata access configuration.', '$ref' => '#/components/schemas/InstanceMetadataOptions', 'required' => false, 'example' => ''],
+ 'resource_pool_options' => [
+ 'title' => '',
+ 'description' => 'The resource pool and resource pool strategy used when creating instances. Note the following when you set this parameter:'."\n"
+ .'This parameter takes effect only when creating pay-as-you-go instances.'."\n"
+ .'This parameter cannot be set together with private_pool_options.match_criteria or private_pool_options.id.',
+ 'type' => 'object',
+ 'properties' => [
+ 'strategy' => [
+ 'title' => '',
+ 'description' => 'The resource pool strategy used when creating instances. Resource pools include private pools generated by elasticity assurance or capacity reservation services and public pools. Valid values:'."\n"
+ .'PrivatePoolFirst: Private pool first. When this strategy is selected and resouce_pool_options.private_pool_ids is specified, the specified private pools are used first. If no private pool is specified or the specified private pool capacity is insufficient, open private pools are automatically matched. If no matching private pool is available, public pool resources are used.'."\n"
+ .'PrivatePoolOnly: Private pool only. When this strategy is selected, resouce_pool_options.private_pool_ids must be specified. If the specified private pool capacity is insufficient, instance startup fails.'."\n"
+ .'None: No resource pool strategy is used.'."\n"
+ .'Default value: None.',
+ 'type' => 'string',
+ 'example' => 'PrivatePoolFirst',
+ 'enum' => ['PrivatePoolOnly', 'PrivatePoolFirst', 'None'],
+ 'required' => false,
+ ],
+ 'private_pool_ids' => [
+ 'title' => '',
+ 'description' => 'The list of private pool IDs, which are elasticity assurance IDs or capacity reservation IDs. Only Target mode private pool IDs can be specified. Valid values of N: 1 to 20.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. Only Target mode private pool IDs can be specified.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'required' => false],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
'required' => false,
- 'example' => 'none',
+ 'example' => '',
],
- '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',
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'The system cloud disk snapshot policy.', 'type' => 'string', 'required' => false, 'example' => 'sp-0jl6xnmme8v7o935****'],
+ 'disk_init' => [
+ 'title' => '',
+ 'description' => 'The block device initialization configuration.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The DiskInit configuration.', '$ref' => '#/components/schemas/DiskInit', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => 'containerd',
+ 'example' => '',
],
- 'node_port_range' => [
- 'title' => '节点服务端口范围。',
- 'description' => 'The node port range.'."\n",
- 'type' => 'string',
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'node_config' => [
+ 'title' => '',
+ 'description' => 'The node configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'kubelet_configuration' => ['title' => '', 'description' => 'The Kubelet parameter settings.', '$ref' => '#/components/schemas/kubelet_config', 'required' => false, 'example' => ''],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'kubernetes_config' => [
+ 'title' => '',
+ 'description' => 'The cluster-related configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'labels' => [
+ 'title' => '',
+ 'description' => 'The node labels. Adds labels to Kubernetes cluster nodes.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The label configuration.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => '30000-32767',
+ 'example' => '',
],
- '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',
+ 'taints' => [
+ 'title' => '',
+ 'description' => 'The taint configuration.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The taint configuration set.', '$ref' => '#/components/schemas/taint', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
- 'example' => '5',
+ 'example' => '',
],
+ 'runtime' => ['title' => '', 'description' => 'The container runtime name. ACK supports the following three container runtimes:'."\n"
+ ."\n"
+ .'- containerd: Recommended. Supports all cluster versions.'."\n"
+ .'- Sandboxed-Container.runv: Sandboxed container that provides higher isolation. Supports cluster versions 1.31 and earlier.'."\n"
+ .'- docker: No longer maintained. Supports cluster versions 1.22 and earlier.'."\n"
+ ."\n"
+ .'Default value: containerd.', 'type' => 'string', 'required' => false, 'example' => 'containerd'],
+ 'runtime_version' => ['title' => '', 'description' => 'The container runtime version.', 'type' => 'string', 'required' => false, 'example' => '1.6.38'],
+ 'cpu_policy' => ['title' => '', 'description' => 'The node CPU management policy. The following two policies are supported for cluster versions 1.12.6 and later:'."\n"
+ ."\n"
+ .'- `static`: Allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n"
+ .'- `none`: Enables the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: `none`.', 'type' => 'string', 'example' => 'none', 'required' => false],
+ 'user_data' => ['title' => '', 'description' => 'The instance user data. After the node joins the cluster, the specified user data script is executed. For more information, see [User data scripts](~~49121~~).', 'type' => 'string', 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU=', 'required' => false],
+ 'unschedulable' => ['title' => '', 'description' => 'Specifies whether the scaled-out nodes are unschedulable.'."\n"
+ ."\n"
+ .'- true: Unschedulable.'."\n"
+ ."\n"
+ .'- false: Schedulable.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'cms_enabled' => ['title' => '', 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information for the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Installs the CloudMonitor agent on ECS nodes.'."\n"
+ ."\n"
+ .'- `false`: Does not install the CloudMonitor agent on ECS nodes.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'node_name_mode' => ['title' => '', 'description' => 'The custom node name. After you customize the node name, the node name, ECS instance name, and ECS instance hostname are all changed.'."\n"
+ .'> For Windows instances with custom node names enabled, the hostname is fixed to the IP address with hyphens (-) replacing the dots (.) in the IP address, and does not include the prefix or suffix. '."\n"
+ ."\n"
+ .'The node name consists of a prefix, the node IP address, and a suffix:'."\n"
+ ."\n"
+ .'- The total length is 2 to 64 characters. The node name must start and end with a lowercase letter or digit.'."\n"
+ ."\n"
+ .'- The prefix and suffix can contain uppercase and lowercase letters, digits, hyphens (-), and periods (.). They must start with an uppercase or lowercase letter and cannot start or end with a hyphen (-) or period (.). Consecutive hyphens (-) or periods (.) are not allowed.'."\n"
+ .'- The prefix is required (ECS restriction). The suffix is optional.'."\n"
+ .'- The node IP is the full private IP address of the node.'."\n"
+ ."\n"
+ .'For example, if the node IP address is 192.XX.YY.55, the prefix is aliyun.com, and the suffix is test:'."\n"
+ ."\n"
+ .'- For a Linux node, the node name, ECS instance name, and ECS instance hostname are all aliyun.com192.XX.YY.55test.'."\n"
+ ."\n"
+ .'- For a Windows node, the ECS instance hostname is 192-XX-YY-55, and the node name and ECS instance name are both aliyun.com192.XX.YY.55test.', 'type' => 'string', 'example' => 'aliyun.com192.XX.YY.55test', 'required' => false],
+ 'pre_user_data' => ['description' => 'The instance pre-user data. Before the node joins the cluster, the specified pre-user data script is executed. For more information, see [User data scripts](~~49121~~).', 'type' => 'string', 'required' => false, 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU', 'title' => ''],
],
'required' => false,
+ 'example' => '',
],
- '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',
+ 'tee_config' => [
+ 'title' => '',
+ 'description' => 'The confidential computing cluster configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'tee_enable' => ['title' => '', 'description' => 'Specifies whether to enable confidential computing for the cluster.'."\n"
+ ."\n"
+ .'- true: Enables confidential computing.'."\n"
+ ."\n"
+ .'- false: Disables confidential computing.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
'required' => false,
- 'example' => 'sg-bp1h6rk3pgct2a08***',
+ 'example' => '',
],
- '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"
+ 'interconnect_config' => [
+ 'title' => '',
+ 'description' => '[This field is deprecated]'."\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',
+ .'The edge node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cen_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Enterprise Network (CEN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'null', 'required' => false],
+ 'ccn_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Connect Network (CCN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'null', 'required' => false],
+ 'ccn_region_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The region of the Cloud Connect Network instance bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'null', 'required' => false],
+ 'bandwidth' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The network bandwidth of the enhanced edge node pool. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => 'null', 'required' => false],
+ 'improved_period' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The subscription duration of the enhanced edge node pool. Unit: months.', 'type' => 'string', 'example' => 'null', 'required' => false],
+ ],
+ 'deprecated' => true,
'required' => false,
- 'example' => 'Asia/Shanghai',
+ 'example' => '',
+ ],
+ 'count' => ['title' => '', 'description' => '[This field is deprecated] Use desired_size instead.'."\n"
+ ."\n"
+ .'The number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'max_nodes' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The maximum number of nodes allowed in the edge node pool.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'interconnect_mode' => ['title' => '', 'description' => 'The network type of the edge node pool. This parameter takes effect only for node pools with `type` set to `edge`. Valid values:'."\n"
+ ."\n"
+ .'- `basic`: Public network. Nodes in cloud node pool interact with cloud nodes over the Internet. Applications in cloud node pool cannot directly access the cloud VPC internal network.'."\n"
+ .'- `private`: Private network. Nodes in cloud node pool connect to the cloud through Express Connect, VPN, or CEN, providing higher cloud-edge communication quality and more effective security.', 'type' => 'string', 'example' => 'basic', 'required' => false],
+ 'host_network' => ['title' => '', 'description' => 'Specifies whether the pod network mode uses host network mode.'."\n"
+ .'- `true`: Host network. Pods directly use the host network stack and share the IP address and ports with the host.'."\n"
+ .'- `false`: Container network. Pods have independent network stacks and do not occupy host network ports.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'intranet' => ['title' => '', 'description' => 'Specifies whether nodes in the edge node pool have Layer 3 network connectivity.'."\n"
+ .'- `true`: Connected. All nodes in the node pool have Layer 3 network connectivity.'."\n"
+ .'- `false`: Not connected. All hosts in the node pool do not have Layer 3 network connectivity.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'eflo_node_group' => [
+ 'title' => '',
+ 'description' => 'The Lingjun node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The Lingjun cluster ID to associate with when creating a Lingjun node pool.', 'type' => 'string', 'required' => false, 'example' => 'i1169130516633730****'],
+ 'group_id' => ['title' => '', 'description' => 'The Lingjun group ID of the Lingjun cluster to associate with when creating a Lingjun node pool.', 'type' => 'string', 'required' => false, 'example' => 'ng-ec3c96ff0aa****'],
+ 'auto_attach_enabled' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'worker_ram_role_name' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'required' => false,
+ 'example' => '',
],
- 'control_plane_endpoints_config' => [
- 'title' => '集群连接配置。',
+ 'auto_mode' => [
+ 'title' => '',
+ 'description' => 'The intelligent managed configuration for the node pool.',
'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',
+ 'enable' => ['description' => 'Specifies whether to enable intelligent managed mode. Valid values:'."\n"
+ .'- true: Enables intelligent managed mode. This can be enabled only when the cluster has intelligent managed mode enabled.'."\n"
+ .'- false: Disables intelligent managed mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'node_components' => [
+ 'title' => '',
+ 'description' => 'The list of node components.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The node component.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The node component name.', 'type' => 'string', 'example' => 'kubelet', 'required' => false],
+ 'version' => ['title' => '', 'description' => 'The node component version.', 'type' => 'string', 'example' => '1.33.3-aliyun.1', 'required' => false],
+ 'config' => [
+ 'title' => '',
+ 'description' => 'The node component configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'custom_config' => [
+ 'title' => '',
+ 'description' => 'The node component custom configuration.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'The node component custom configuration string.', 'type' => 'any', 'example' => 'cpuManagerPolicy', 'title' => ''],
+ 'example' => '{"cpuManagerPolicy":"static"}',
],
],
- 'enabled' => [
- 'title' => '是否开启集群内部域名访问。 - true:开启集群内部域名访问,节点侧组件(kubelet、kube-proxy)将通过集群内部域名访问API Server。',
- 'type' => 'boolean',
- ],
+ 'required' => false,
+ 'example' => '',
],
],
+ 'required' => false,
+ 'example' => '',
],
- ],
- '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,
+ 'example' => '',
],
],
'required' => false,
- 'example' => 'true',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool configuration.',
'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****',
- ],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np31da1b38983f4511b490fc62108a****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-613b19bbd160ad492800****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0527ac9a-c899-4341-a21a-****'],
],
+ 'example' => '',
],
],
'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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'title' => 'Create a node pool',
+ 'summary' => 'A node pool is a logical collection of nodes that share the same attributes, allowing unified management and operations such as node upgrades and elastic scaling. You can further use the automated O&M capabilities of node pools, including automatic OS CVE vulnerability patching, automatic faulty node recovery, and automatic kubelet and containerd version upgrades, to reduce O&M costs. You can call CreateClusterNodePool to create a node pool for a cluster.',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-29T06:45:00.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-11-24T09:15:07.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-11-05T05:59:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-09-23T07:52:11.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-08-19T06:29:04.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-07-29T06:36:24.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-06-10T05:44:57.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-06-09T05:33:33.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:23.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:23.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:23.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-11-05T11:32:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-09-27T01:28:08.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-09T03:49:03.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-06-13T09:52:31.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-06-13T02:59:20.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-22T08:24:28.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-19T10:38:00.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-19T11:04:05.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-12-13T10:51:24.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-17T08:45:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-01T09:11:27.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-08T06:17:00.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2020-09-24T12:47:54.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2020-09-24T12:47:54.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterNodePool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"nodepool_id\\": \\"np31da1b38983f4511b490fc62108a****\\",\\n \\"task_id\\": \\"T-613b19bbd160ad492800****\\",\\n \\"request_id\\": \\"0527ac9a-c899-4341-a21a-****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateKubernetesTrigger' => [
+ 'summary' => 'Creates a trigger for an application.',
+ 'path' => '/triggers',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '484',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskT7MN2U'],
],
'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",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'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,
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ 'project_id' => ['title' => '', 'description' => 'The trigger project name.'."\n"
+ ."\n"
+ .'The value consists of the namespace and application name in the format of `${namespace}/${name}`.'."\n"
+ ."\n"
+ .'Example: `default/test-app`.', 'type' => 'string', 'required' => true, 'example' => 'default/test-app'],
+ 'action' => ['title' => '', 'description' => 'The trigger action. Valid values:'."\n"
+ ."\n"
+ .'`redeploy`: redeploys the resources defined in project_id.', 'type' => 'string', 'required' => true, 'example' => 'redeploy'],
+ 'type' => ['title' => '', 'description' => 'The trigger type. Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for stateless applications. '."\n"
+ ."\n"
+ .'- `application`: a trigger for Application Center applications.'."\n"
+ ."\n"
+ .'Default value: `deployment`.', 'type' => 'string', 'example' => 'deployment', 'required' => false],
],
'required' => false,
- 'example' => 'k8s',
+ 'example' => 'cn-beijing',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response body.',
'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-****',
- ],
+ 'id' => ['title' => '', 'description' => 'The trigger ID.', 'type' => 'string', 'example' => '111'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ 'project_id' => ['title' => '', 'description' => 'The trigger project name.', 'type' => 'string', 'example' => 'default/test-app'],
+ 'type' => ['title' => '', 'description' => 'The trigger type.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for stateless applications. '."\n"
+ ."\n"
+ .'- `application`: a trigger for Application Center applications.', 'type' => 'string', 'example' => 'deployment'],
+ 'action' => ['title' => '', 'description' => 'The trigger action. For example, `redeploy`: redeploy.', 'type' => 'string', 'example' => 'redeploy'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::CreateTrigger'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"id\\": \\"111\\",\\n \\"cluster_id\\": \\"c5cdf7e3938bc4f8eb0e44b21a80f****\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\"\\n}","type":"json"}]',
+ 'title' => 'Create a trigger',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateKubernetesTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'CreateTemplate' => [
+ 'summary' => 'An orchestration template defines and describes a set of Kubernetes cluster resources in a declarative manner, specifying how applications should run or be configured. You can use these templates to automate the deployment and cluster management of resources, such as Pods, Services, Deployments, ConfigMaps, and PersistentVolumes. You can invoke the CreateTemplate operation to create an orchestration template.',
+ 'path' => '/templates',
+ 'methods' => ['post', 'put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '393',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- 'FEATUREcskI1OLEY',
- 'FEATUREcskZG2TSX',
- 'FEATUREcskDGKERY',
- ],
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '8528',
+ 'abilityTreeNodes' => ['FEATUREcskDJFO7P'],
'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',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The name of the template.'."\n"
+ ."\n"
+ .'Naming rules: The name must be 1 to 63 characters in length and can contain digits, Chinese characters, letters, and hyphens (-). It cannot start with a hyphen (-).', 'type' => 'string', 'required' => true, 'example' => 'service-account-template'],
+ 'template' => ['title' => '', 'description' => 'The template content in YAML format.', 'type' => 'string', 'required' => true, 'example' => 'apiVersion: v1\\nkind: ServiceAccount\\nmetadata:\\n name: test-sa'],
+ 'tags' => ['title' => '', 'description' => 'The tags of the orchestration template.', 'type' => 'string', 'example' => 'test', 'required' => false],
+ 'description' => ['title' => '', 'description' => 'The description of the orchestration template.', 'type' => 'string', 'example' => 'this is test', 'required' => false],
+ 'template_type' => ['title' => '', 'description' => 'The templatetype.'."\n"
+ ."\n"
+ .'- If you set this parameter to `kubernetes`, the template is displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'- If you leave this parameter empty or set it to other values, the template is not displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'Settings this parameter to `kubernetes` is recommended.', 'type' => 'string', 'example' => 'kubernetes', 'required' => false],
+ ],
'required' => false,
- 'example' => 'ca418e5e6fa2849d78301341700axxxxx',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
- ],
- ],
+ 'template_id' => ['title' => '', 'description' => 'The ID of the orchestration template.', 'type' => 'string', 'example' => 'ba1fe77b-b01e-4640-b77e-8f1b80******'],
],
+ 'example' => '',
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"template_id\\": \\"ba1fe77b-b01e-4640-b77e-8f1b80******\\"\\n}","type":"json"}]',
+ 'title' => 'Create an orchestration template',
+ 'changeSet' => [
+ ['createdAt' => '2020-12-21T03:43:15.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplate'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'CreateTrigger' => [
+ 'summary' => 'Configures a trigger for a cluster application. The trigger redeploys pods when specified conditions are met.',
+ 'path' => '/clusters/{cluster_id}/triggers',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '249403',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- 'FEATUREcskI1OLEY',
- 'FEATUREcskZG2TSX',
- 'FEATUREcskDGKERY',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'create',
+ 'abilityTreeNodes' => ['FEATUREcskT7MN2U'],
],
'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',
+ 'name' => 'body',
+ 'in' => 'body',
'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',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ 'project_id' => ['title' => '', 'description' => 'The trigger project name.'."\n"
+ ."\n"
+ .'The value consists of the namespace and application name in the format of `${namespace}/${name}`.'."\n"
+ ."\n"
+ .'Example: `default/test-app`.', 'type' => 'string', 'required' => true, 'example' => 'default/test-app'],
+ 'action' => ['title' => '', 'description' => 'The trigger action. Valid values:'."\n"
+ ."\n"
+ .'`redeploy`: redeploys the resource defined in `project_id`.', 'type' => 'string', 'required' => true, 'example' => 'redeploy'],
+ 'type' => ['title' => '', 'description' => 'The trigger type. Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for stateless applications. '."\n"
+ ."\n"
+ .'- `application`: a trigger for App Hub applications.'."\n"
+ ."\n"
+ .'Default value: `deployment`.', 'type' => 'string', 'example' => 'deployment', 'required' => false],
],
- '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',
+ 'example' => '',
],
],
[
- 'name' => 'page_number',
- 'in' => 'query',
- 'schema' => [
- 'title' => '分页数。',
- 'description' => 'The number of pages.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '10',
- ],
+ 'name' => 'cluster_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c68deb844dc6d480eb775be611fdf****'],
],
- [
- 'name' => 'profile',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => 'The trigger ID.', 'type' => 'string', 'example' => '75973497486******'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c93095129fc41463aa455d89444fd****'],
+ 'project_id' => ['title' => '', 'description' => 'The trigger project name.', 'type' => 'string', 'example' => 'default/test-app'],
+ 'type' => ['title' => '', 'description' => 'The trigger type.', 'type' => 'string', 'example' => 'deployment'],
+ 'action' => ['title' => '', 'description' => 'The trigger action.', 'type' => 'string', 'example' => 'redeploy'],
],
- 'example' => 'Serverless',
+ 'example' => '',
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"id\\": \\"75973497486******\\",\\n \\"cluster_id\\": \\"c93095129fc41463aa455d89444fd****\\",\\n \\"project_id\\": \\"default/test-app\\",\\n \\"type\\": \\"deployment\\",\\n \\"action\\": \\"redeploy\\"\\n}","type":"json"}]',
+ 'title' => 'Create a trigger',
+ 'description' => '> Creating a trigger only supports pod redeployment.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- 'example' => 'ack.standard',
],
],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DeleteAlertContact' => [
+ 'summary' => 'Deletes alert contacts from ACK.',
+ 'path' => '/alert/contacts',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'cluster_id',
- 'in' => 'query',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c8155823d057948c69a****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '125471',
+ 'abilityTreeNodes' => ['FEATUREcskNNODXQ'],
+ ],
+ 'parameters' => [
[
- 'name' => 'region_id',
- 'in' => 'path',
+ 'name' => 'contact_ids',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '地域。',
- 'description' => 'The region.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The list of alert contact IDs.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The ID of the alert contact.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345'],
'required' => true,
- 'example' => 'cn-hangzhou',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The response body.'."\n",
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'clusters' => [
- 'title' => '集群详情列表。',
- 'description' => 'The information about the queried clusters.'."\n",
+ 'result' => [
+ 'description' => 'The list of deletion results.',
'type' => 'array',
'items' => [
- 'description' => 'The information about a queried cluster.'."\n",
+ 'description' => 'The deleted alert contact.',
'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',
+ 'status' => ['description' => 'The deletion status. Valid values:'."\n"
+ ."\n"
+ .'* true: The deletion was successful.'."\n"
+ .'* false: The deletion failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'msg' => ['description' => 'The message returned when the operation fails.', 'type' => 'string', 'example' => 'Delete contact resource failed.', 'title' => ''],
+ 'contact_id' => ['description' => 'The alert contact ID.', 'type' => 'string', 'example' => '12345', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"result\\": [\\n {\\n \\"status\\": true,\\n \\"msg\\": \\"Delete contact resource failed.\\",\\n \\"contact_id\\": \\"12345\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'Delete alert contacts',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-17T14:14:28.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-08-02T06:31:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2024-02-27T03:32:23.000Z', 'description' => 'Request parameters changed, Response parameters changed, Error codes changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlertContact'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAlertContact',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DeleteAlertContactGroup' => [
+ 'summary' => 'Delete ACK alert contact group',
+ 'path' => '/alert/contact_groups',
+ 'methods' => ['delete'],
+ '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',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '125472',
+ 'abilityTreeNodes' => ['FEATUREcskNNODXQ'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
+ 'name' => 'contact_group_ids',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
+ 'description' => 'List of alert contact group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Contact group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345', 'title' => ''],
'required' => true,
- 'example' => 'cdde1f21ae22e483ebcb068a6eb7f****',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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"
+ 'description' => 'List of deletion results.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The deleted alert contact group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'status' => ['description' => 'Deletion status.'."\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',
- ],
- ],
- ],
- ],
+ .'* true: Deletion successful.'."\n"
+ .'* false: Deletion failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'msg' => ['description' => 'The message returned when execution fails.', 'type' => 'string', 'example' => 'Delete contact group resource failed.', 'title' => ''],
+ 'contact_group_id' => ['description' => 'Alert contact group ID.', 'type' => 'string', 'example' => '12345', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"[\\n {\\n \\"status\\": true,\\n \\"msg\\": \\"Delete contact group resource failed.\\",\\n \\"contact_group_id\\": \\"12345\\"\\n }\\n]","type":"json"}]',
+ 'title' => 'Delete alert contact group',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-02T06:28:20.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-02-27T03:32:22.000Z', 'description' => 'Request parameters changed, Response parameters changed, Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlertContactGroup'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAlertContactGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'DeleteAutoRepairPolicy' => [
+ 'summary' => 'Deletes an automatic fault recovery rule.',
+ 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
- 'abilityTreeCode' => '397',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'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****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c104d5d5f301c4e2a8ee578c37******', 'title' => ''],
],
[
- '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',
- ],
+ 'name' => 'policy_id',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The automatic fault recovery rule ID.', 'type' => 'string', 'required' => false, 'example' => 'r-xxxxxx', 'title' => ''],
],
],
'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"}',
- ],
- ],
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'A9891419-D125-4D89-AFCA-68846675****'],
],
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-68846675****\\"\\n}","type":"json"}]',
+ 'title' => 'Delete an automatic fault recovery rule',
+ 'description' => '><notice>This API is not yet available. Stay tuned.></notice>.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'DeleteCluster' => [
+ 'summary' => 'If you no longer need a cluster, delete the cluster and choose whether to delete or retain the associated resources. Before you delete a cluster, manually clean up workloads (Deployments, StatefulSets, Jobs, and CronJobs). Otherwise, the cluster deletion may fail.',
+ 'path' => '/clusters/{ClusterId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '526',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '409',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'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' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c905d1364c2dd4b6284a3f41790c4****'],
],
[
- 'name' => 'Profile',
+ 'name' => 'retain_all_resources',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to retain all resources. If this parameter is set to `true`, `retain_resources` is ignored, and cloud resources created through the cluster that are queried by the `DescribeClusterResources` operation are retained. If this parameter is set to `false`, resources that are retained by default in `delete_options` are still retained. To delete these resources, set `delete_mode` to `delete` in `delete_options`.'."\n"
+ ."\n"
+ .'- `true`: retains all resources, including all cloud resources created through the cluster.'."\n"
+ .'- `false`: does not retain all resources, except resources defined as retained by default in `delete_options`. For example, `ALB` resources are still retained when this parameter is set to `false`.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
],
[
- 'name' => 'runtime',
+ 'name' => 'keep_slb',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to retain SLB resources. Valid values:'."\n"
+ ."\n"
+ .'- `true`: retains the created SLB resources.'."\n"
+ .'- `false`: does not retain the created SLB resources.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ .'Use `SLB` in `delete_options` to manage this setting.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
],
[
- 'name' => 'Mode',
+ 'name' => 'retain_resources',
'in' => 'query',
+ 'style' => 'json',
'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',
+ 'title' => '',
+ 'description' => 'The resource list. To retain resources when you delete a cluster, specify the IDs of the resources to retain.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'sg-2ze6ess9kho6fdn9****', 'required' => false, 'title' => ''],
'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'supported',
- 'default' => 'creatable',
- 'enum' => [],
+ 'example' => '',
],
],
[
- 'name' => 'QueryUpgradableVersion',
+ 'name' => 'delete_options',
'in' => 'query',
+ 'style' => 'json',
'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',
+ 'title' => '',
+ 'description' => 'The deletion options for cluster-associated resources.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The deletion option for a specific resource type.',
+ 'type' => 'object',
+ 'properties' => [
+ 'resource_type' => ['title' => '', 'description' => 'The resource type. Valid values:'."\n"
+ .'- SLB: SLB resources created through services. Deleted by default. You can choose to retain them.'."\n"
+ .'- ALB: ALB resources created by ALB Ingress Controller. Retained by default. You can choose to delete them.'."\n"
+ .'- SLS_Data: the SLS project used by the cluster logging feature. Retained by default. You can choose to delete it.'."\n"
+ .'- SLS_ControlPlane: the SLS project used by the control plane logs of managed clusters. Retained by default. You can choose to delete it.'."\n"
+ .'- PrivateZone: PrivateZone resources created by ACK Serverless clusters. Retained by default. You can choose to delete them.', 'type' => 'string', 'required' => false, 'example' => 'SLS_Data'],
+ 'delete_mode' => ['title' => '', 'description' => 'The deletion policy for this resource type. Valid values:'."\n"
+ .'- delete: deletes resources of this type.'."\n"
+ .'- retain: retains resources of this type.', 'type' => 'string', 'required' => false, 'example' => 'delete'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '1.30.1-aliyun.1',
+ 'example' => '',
],
],
],
'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',
- ],
- ],
- ],
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cb95aa626a47740afbf6aa099b650****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39ea****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ '5XX' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea****\\"\\n}","type":"json"}]',
+ 'title' => 'Delete a cluster',
+ 'description' => 'Risk notice:'."\n"
+ .'- Subscription ECS instances, Lingjun compute nodes, and other subscription resources in the cluster cannot be subject to automatic release. To avoid unnecessary billing, perform manual release of these resources. For more information, refer to Cluster deletion and node release rules.'."\n"
+ .'- Subscription APIServer SLB resources cannot be subject to automatic release. To avoid unnecessary billing, perform manual release of these resources.'."\n"
+ .'- VPCs, vSwitches, security groups, and RAM roles that are used by other resources cannot be deleted and are retained by default. Perform manual release of these resources.'."\n"
+ .'- Elastic Container Instances (ECIs) created through virtual nodes are subject to automatic release.'."\n"
+ .'- Some cloud resources created through the cluster are not subject to automatic release when the cluster is deleted. These resources continue to incur billing after the cluster is deleted. Release or retain them as needed. These resources include: Simple Log Service (SLS) projects automatically created by the cluster, and cloud disks purchased through dynamic storage volumes.',
+ 'changeSet' => [
+ ['createdAt' => '2024-05-09T11:11:21.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-11T02:20:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-12-25T11:04:35.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-12-21T08:30:06.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-03-22T09:16:33.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
- ],
+ 'DeleteClusterInspectConfig' => [
+ 'summary' => 'Deletes a cluster inspection configuration.',
+ 'path' => '/clusters/{clusterId}/inspectConfig',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '261200',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '指定的集群ID',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
],
'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" ]',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '873DC52C-28AA-5A5C-938C-684D3D4B****', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]',
+ 'title' => 'Delete a cluster inspection configuration',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterInspectConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'DeleteClusterNodepool' => [
+ 'summary' => 'Deletes a node pool that is no longer in use. When a node pool is deleted, all pods on the nodes are deleted, which may trigger descheduling. If descheduling cannot be performed, your services may be affected. Make sure that the cluster has sufficient resources for descheduling.',
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk0H96CV',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '554',
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c61da77e8bfbc4c4c999af2b51b65****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np30db56bcac7843dca90b999c8928****'],
+ ],
+ [
+ 'name' => 'force',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to force delete the node pool.'."\n"
+ ."\n"
+ .'- true: Force deletes the node pool. If the node pool contains existing instances, the existing nodes are forcibly deleted.'."\n"
+ ."\n"
+ .'- false: Does not force delete the node pool. If the node pool contains existing instances, the node pool cannot be deleted, and an error is returned.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
],
],
'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',
- ],
- ],
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '7263C978-3DBD-4E06-B319-793B38******'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-655ace947e0e6603af******'],
],
+ 'example' => '',
],
],
+ '5XX' => [],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"7263C978-3DBD-4E06-B319-793B38******\\",\\n \\"task_id\\": \\"T-655ace947e0e6603af******\\"\\n}","type":"json"}]',
+ 'title' => 'Delete a node pool',
+ 'changeSet' => [
+ ['createdAt' => '2023-12-13T10:51:26.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterNodepool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterNodepool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DeleteClusterNodes' => [
+ 'summary' => 'When you no longer need cluster nodes to continue working, you can call the DeleteClusterNodes operation to remove nodes from the cluster. When removing nodes, you can choose whether to simultaneously release the ECS instances and whether to automatically drain the nodes.',
+ 'path' => '/clusters/{ClusterId}/nodes',
+ 'methods' => ['post', 'delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'chargeType' => 'free',
- 'tenantRelevance' => 'publicInformation',
+ 'systemTags' => ['operationType' => 'delete'],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c850429a2287b4d968e27e87a4921****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'drain_node' => ['title' => '', 'description' => 'Whether to automatically drain Pods on the node. Valid values:'."\n"
+ .'- `true`: Automatically drain Pods on the node.'."\n"
+ .'- `false`: Do not automatically drain Pods on the node.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'release_node' => ['title' => '', 'description' => 'Whether to simultaneously remove ECS instances. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Simultaneously remove ECS instances.'."\n"
+ .'- `false`: Retain ECS instances.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n"
+ .'> Simultaneous removal of ECS instances is not supported when the nodes are subscription instances.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'nodes' => [
+ 'title' => '',
+ 'description' => 'List of nodes to remove. The node names must be the names of the nodes in the cluster, for example: `cn-hangzhou.192.168.xx.xx`.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Node name.', 'type' => 'string', 'example' => 'cn-hangzhou.192.168.xx.xx', 'required' => false, 'title' => ''],
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
],
- 'parameters' => [],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'Response body.',
'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",
- ],
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'example' => 'c104d5d5f301c4e2a8ee578c37******'],
+ 'request_id' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'A9891419-D125-4D89-AFCA-688466******'],
+ 'task_id' => ['title' => '', 'description' => 'Task ID.', 'type' => 'string', 'example' => 'T-60fea8ad2e27000ae9******'],
],
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c104d5d5f301c4e2a8ee578c37******\\",\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-688466******\\",\\n \\"task_id\\": \\"T-60fea8ad2e27000ae9******\\"\\n}","type":"json"}]',
+ 'title' => 'Delete cluster nodes',
+ 'description' => '- When removing nodes, use this API or the [Container Service console](https://cs.console.aliyun.com) to perform standardized operations. Do not manually remove nodes by using the `kubectl delete node` command.'."\n"
+ ."\n"
+ .'- Do not directly release nodes, remove instances in the ECS or ESS console (or through related APIs), or allow nodes to be passively released due to the expiration of subscription instances. In these cases, the nodes will be directly shut down and automatically removed from the Container Service management console.'."\n"
+ ."\n"
+ .'- If the node pool has a desired number of nodes configured, the node pool will automatically scale out other instances according to the corresponding configuration to always maintain the node count at the desired number.'."\n"
+ ."\n"
+ .'- Removing nodes involves Pod migration, which may affect your business. Perform this operation during off-peak hours. Unexpected risks may exist during the operation, so back up relevant data in advance.'."\n"
+ ."\n"
+ .'- When removing nodes, ACK performs a drain operation. Ensure that the resources on other nodes in the cluster are sufficient to prevent business Pods from being unable to be scheduled.'."\n"
+ ."\n"
+ .'- Check the node affinity rules and scheduling policies of the Pods on the nodes to be removed to ensure that Pods can still be scheduled to other nodes after node removal.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterNodes'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DeleteKubernetesTrigger' => [
+ 'summary' => 'Deletes an application trigger by trigger ID.',
+ 'path' => '/triggers/revoke/{Id}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '408',
+ 'abilityTreeNodes' => ['FEATUREcskT7MN2U'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'Id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c21e0591548ba4c10bdb535d6572b****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the trigger.', 'type' => 'string', 'required' => true, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
],
- [
- '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',
- ],
+ ],
+ 'responses' => [
+ 200 => [],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::DeleteTrigger'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Delete a trigger',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteKubernetesTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- 'required' => false,
],
],
],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DeletePolicyInstance' => [
+ 'summary' => 'Deletes a policy rule instance from a specified 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' => '', 'description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
+ ],
+ [
+ 'name' => 'policy_name',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'required' => true, 'example' => 'ACKAllowedRepos'],
+ ],
+ [
+ 'name' => 'instance_name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the policy rule.', 'type' => 'string', 'required' => false, 'example' => 'allowed-repos-mqdsf'],
+ ],
+ ],
'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****',
+ 'instances' => [
+ 'title' => '',
+ 'description' => 'The list of policy instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of deleted instances.', 'type' => 'string', 'example' => '[ "allowed-repos-kqxnc" ]', 'title' => ''],
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'Delete a policy rule instance',
+ 'changeSet' => [
+ ['createdAt' => '2021-11-19T09:13:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePolicyInstance'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeletePolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DeleteTemplate' => [
+ 'summary' => 'Deletes an orchestration template when you no longer need it.',
+ 'path' => '/templates/{TemplateId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => ['operationType' => 'delete'],
+ 'parameters' => [
+ [
+ 'name' => 'TemplateId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The ID of the orchestration template.', 'type' => 'string', 'required' => true, 'example' => '20663627-81ee-4cfe-9b69-c96fcb******'],
+ ],
],
- 'produces' => [
- 'application/json',
+ 'responses' => [
+ 200 => [],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '396',
- 'abilityTreeNodes' => [
- 'FEATUREcsk7DKI2D',
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Delete an orchestration template',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplate'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
],
+ 'translator' => 'machine',
+ ],
+ 'DeleteTrigger' => [
+ 'summary' => 'Deletes an application trigger when it is no longer needed.',
+ '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' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c68deb844dc6d480eb775be611f******'],
],
[
- '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' => 'Id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The trigger ID.', 'type' => 'string', 'required' => true, 'example' => '759734974868******'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Delete a trigger',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
],
],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DeployPolicyInstance' => [
+ 'summary' => 'Deploys a policy instance in a specified namespace of a specified cluster. You can select a security policy type in an ACK cluster, configure the governance action (alerting or blocking) and the namespace scope for the policy instance to create and deploy a policy instance.',
+ 'path' => '/clusters/{cluster_id}/policies/{policy_name}',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'TemporaryDurationMinutes',
- 'in' => 'query',
+ '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' => '', 'description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
+ ],
+ [
+ 'name' => 'policy_name',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'required' => true, 'example' => 'ACKAllowedRepos'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'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',
+ 'description' => 'The request struct.',
+ 'type' => 'object',
+ 'properties' => [
+ 'action' => ['title' => '', 'description' => 'The governance action of the rule. Valid values:'."\n"
+ ."\n"
+ .'- `deny`: blocks non-compliant deployments.'."\n"
+ .'- `warn`: generates alerts.', 'type' => 'string', 'required' => false, 'example' => 'deny'],
+ 'namespaces' => [
+ 'title' => '',
+ 'description' => 'The namespaces to which the policy is restricted. An empty value indicates all namespaces.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The namespaces to which the policy is restricted. An empty value indicates all namespaces.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'parameters' => ['title' => '', 'description' => 'The parameter settings of the current rule instance. For the parameters supported by each policy governance rule and the corresponding metric description, see [Security policy rule library](https://www.alibabacloud.com/help/doc-detail/359819.html).', 'type' => 'object', 'required' => false, 'example' => '{ "repos": [ "registry-vpc.cn-hangzhou.aliyuncs.com/acs/", "registry.cn-hangzhou.aliyuncs.com/acs/" ] }'],
+ ],
'required' => false,
- 'example' => '15',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
+ 'instances' => [
+ 'title' => '',
+ 'description' => 'The list of policy instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of deployed instance names.', 'type' => 'string', 'example' => '[ "allowed-repos-kqxnc" ]', 'title' => ''],
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'Deploy a policy instance',
+ 'changeSet' => [
+ ['createdAt' => '2022-02-21T02:21:13.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-11-19T09:13:07.000Z', 'description' => 'Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployPolicyInstance'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DeployPolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribeAddon' => [
+ 'summary' => 'You can call the DescribeAddon operation to query information about a specified component based on parameters such as region, cluster type, cluster subtype (profile), cluster version, and component name. The returned information includes whether the component is managed, component category, supported custom parameter schema, compatible OS architectures, and the minimum cluster version required by the component version.',
+ 'path' => '/addons/{addon_name}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '162217',
- 'abilityTreeNodes' => [
- 'FEATUREcsk7DKI2D',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'addon_name',
'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8f****',
- ],
+ 'schema' => ['title' => '', 'description' => 'Component name.', 'type' => 'string', 'required' => false, 'example' => 'coredns'],
],
[
- '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' => 'region_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Region.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The five parameters region_id, cluster_type, profile, cluster_spec, and cluster_version must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'PrivateIpAddress',
+ 'name' => 'cluster_type',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'Cluster type.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The five parameters region_id, cluster_type, profile, cluster_spec, and cluster_version must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'ManagedKubernetes'],
],
[
- 'name' => 'TemporaryDurationMinutes',
+ 'name' => 'profile',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'Cluster subtype.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The five parameters region_id, cluster_type, profile, cluster_spec, and cluster_version must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'Default'],
+ ],
+ [
+ 'name' => 'cluster_spec',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Cluster specification.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The five parameters region_id, cluster_type, profile, cluster_spec, and cluster_version must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'ack.pro.small'],
+ ],
+ [
+ 'name' => 'cluster_version',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Cluster version.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The five parameters region_id, cluster_type, profile, cluster_spec, and cluster_version must be specified together.', 'type' => 'string', 'required' => false, 'example' => '1.26.3-aliyun.1'],
+ ],
+ [
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Cluster ID.'."\n"
+ .'When a cluster ID is specified, the list of available components for the cluster is queried, and other parameters are ignored.', 'type' => 'string', 'required' => false, 'example' => 'c02b3e03be10643e8a644a843ffcb****'],
+ ],
+ [
+ 'name' => 'version',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Component version. If not specified, the latest available version of the component is queried.', 'type' => 'string', 'required' => false, 'example' => 'v1.9.3.10-7dfca203-aliyun'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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****',
+ 'name' => ['title' => '', 'description' => 'Component name.', 'type' => 'string', 'example' => 'coredns'],
+ 'version' => ['title' => '', 'description' => 'Component version.', 'type' => 'string', 'example' => 'v1.9.3.6-32932850-aliyun'],
+ 'category' => ['title' => '', 'description' => 'Component category.', 'type' => 'string', 'example' => 'network'],
+ 'managed' => ['title' => '', 'description' => 'Whether it is a managed component.', 'type' => 'boolean', 'example' => 'false'],
+ 'install_by_default' => ['title' => '', 'description' => 'Whether it is installed by default.', 'type' => 'boolean', 'example' => 'true'],
+ 'config_schema' => ['title' => '', 'description' => 'Custom parameter schema of the component.', 'type' => 'string', 'example' => '{}'],
+ 'supported_actions' => [
+ 'title' => '',
+ 'description' => 'Operations supported by the component.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Operations supported by the component.'."\n"
+ .'- Install: Install the component.'."\n"
+ .'- Upgrade: Upgrade the component.'."\n"
+ .'- Modify: Modify the component.'."\n"
+ .'- Uninstall: Uninstall the component.', 'type' => 'string', 'example' => 'Install', 'title' => ''],
+ 'example' => '',
],
- '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',
+ 'architecture' => [
+ 'title' => '',
+ 'description' => 'CPU architectures supported by the component.',
+ 'type' => 'array',
+ 'items' => ['description' => 'CPU architectures supported by the component. Valid values:'."\n"
+ ."\n"
+ .'- amd64'."\n"
+ ."\n"
+ .'- arm64', 'type' => 'string', 'example' => 'amd64', 'title' => ''],
+ 'example' => '',
+ ],
+ 'newer_versions' => [
+ 'title' => '',
+ 'description' => 'Information about the latest component versions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'New version information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'version' => ['title' => '', 'description' => 'The latest version number of the component.', 'type' => 'string', 'example' => 'v1.9.3.10-7dfca203-aliyun'],
+ 'upgradable' => ['title' => '', 'description' => 'Whether the component can be upgraded to this version.'."\n"
+ ."\n"
+ .'- true: Upgrade is supported.'."\n"
+ ."\n"
+ .'- false: Upgrade is not supported.', 'type' => 'boolean', 'example' => 'true'],
+ 'minimum_cluster_version' => ['title' => '', 'description' => 'The minimum cluster version required by this component version.', 'type' => 'string', 'example' => '1.20.4'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query information about a specified component',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddon'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAddon',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeAddons' => [
+ 'summary' => 'Queries the details of all components supported by the platform.',
+ 'path' => '/clusters/components/metadata',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203488',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'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' => 'region',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The ID of the region where the cluster resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing'],
],
[
- 'name' => 'page_number',
+ 'name' => 'cluster_type',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => '- `Kubernetes`: ACK dedicated cluster.'."\n"
+ ."\n"
+ .'- `ManagedKubernetes`: ACK managed cluster types, including ACK managed clusters (ACK Pro and ACK Basic), ACK Serverless clusters (Pro and Basic), ACK Edge clusters (Pro and Basic), and ACK Lingjun clusters (Pro).'."\n"
+ ."\n"
+ .'- `ExternalKubernetes`: registered cluster.', 'type' => 'string', 'example' => 'ManagedKubernetes', 'required' => false],
],
[
- 'name' => 'page_size',
+ 'name' => 'cluster_profile',
'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',
- ],
+ 'schema' => ['description' => 'The cluster type. Valid values:'."\n"
+ .'- `Default`: managed cluster.'."\n"
+ .'- `Serverless`: serverless cluster.'."\n"
+ .'- `Edge`: edge cluster.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''],
+ ],
+ [
+ 'name' => 'cluster_spec',
+ 'in' => 'query',
+ 'schema' => ['description' => 'After you set `cluster_type` to `ManagedKubernetes` and configure `profile`, you can further specify the cluster specification.'."\n"
+ ."\n"
+ .'- `ack.pro.small`: Pro cluster.'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic cluster (selected by default if this parameter is left empty).', 'type' => 'string', 'required' => false, 'example' => 'ack.pro.small', 'title' => ''],
+ ],
+ [
+ 'name' => 'cluster_version',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The cluster version.', 'type' => 'string', 'required' => false, 'example' => '1.24.6-aliyun.1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response body parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'states' => [
- 'description' => 'The status of the kubeconfig files.'."\n",
+ 'ComponentGroups' => [
+ 'title' => '',
+ 'description' => 'The list of component groups.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of a component group.',
'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',
+ 'group_name' => ['title' => '', 'description' => 'The name of the component group.', 'type' => 'string', 'example' => 'storage'],
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The component names included in this group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of a component.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'flexvolume'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
- 'page' => [
- 'description' => 'The pagination information.'."\n",
+ 'StandardComponents' => [
+ 'title' => '',
+ 'description' => 'The standard components.',
'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',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'ack-arena'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'example' => '0.5.0'],
+ 'description' => ['title' => '', 'description' => 'The description of the component features.', 'type' => 'string', 'example' => '***'],
+ 'required' => ['title' => '', 'description' => 'Indicates whether the component is required by the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component is required and must be installed when the cluster is created.'."\n"
+ ."\n"
+ .'- `false`: The component is optional and can be installed through Component Management after the cluster is created.'."\n", 'type' => 'string', 'example' => 'false'],
+ 'disabled' => ['title' => '', 'description' => 'Indicates whether default installation is disabled. When a cluster is created, in addition to the components required by the cluster, some logging or routing-related components (such as Ingress) are also installed by default. If you do not want to install them by default, you can set this field to disable default installation. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Default installation is disabled.'."\n"
+ .'- `false`: Default installation is enabled.', 'type' => 'boolean', 'example' => 'false'],
],
+ 'description' => 'The details of a standard component.',
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::ListAddons'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => '(Deprecated) Query cluster component details',
+ 'changeSet' => [
+ ['createdAt' => '2022-12-06T03:35:32.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAddons'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribeAutoRepairPolicy' => [
+ 'summary' => 'Queries an auto-repair rule.',
+ 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '200813',
- 'abilityTreeNodes' => [
- 'FEATUREcsk01W1JN',
- 'FEATUREcskD83BWV',
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf****', 'title' => ''],
],
[
- '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',
- ],
+ 'name' => 'policy_id',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The auto-repair rule ID.', 'type' => 'string', 'required' => false, 'example' => 'r-xxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'states' => [
- 'description' => 'The status list of the kubeconfig files associated with the cluster.'."\n",
+ 'name' => ['description' => 'The name of the auto-repair rule.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'id' => ['description' => 'The auto-repair rule ID.', 'type' => 'string', 'example' => 'r-xxx', 'title' => ''],
+ 'resource_type' => ['description' => 'The type of resource associated with the auto-repair rule.', 'type' => 'string', 'example' => 'nodepool', 'title' => ''],
+ 'resource_ids' => [
+ 'description' => 'The list of resources associated with the auto-repair rule.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A resource associated with the auto-repair rule.', 'type' => 'string', 'example' => 'npxxxxx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'rules' => [
+ 'description' => 'The list of auto-repair sub-rules.',
'type' => 'array',
'items' => [
+ 'description' => 'The list of auto-repair sub-rules.',
'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',
+ 'incidents' => [
+ 'description' => 'The list of identified faults.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of identified faults.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The fault name.', 'type' => 'string', 'example' => 'Node.FaultNeedReboot.HOST', 'title' => ''],
+ 'type' => ['description' => 'The fault type.', 'type' => 'string', 'example' => 'system', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'cloud_service_roles' => [
+ 'repair_procedure' => [
+ 'description' => 'The repair procedure.',
'type' => 'array',
'items' => [
+ 'description' => 'The repair procedure.',
'type' => 'object',
'properties' => [
- 'type' => [
- 'type' => 'string',
- ],
- 'role_name' => [
- 'type' => 'string',
- ],
- 'role_namespace' => [
- 'type' => 'string',
+ 'name' => ['description' => 'The name of the procedure.', 'type' => 'string', 'example' => 'QuarantineGPU', 'title' => ''],
+ 'intervention' => [
+ 'description' => 'The configuration for manual intervention in the procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable manual approval.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'type' => ['description' => 'The type of manual approval.', 'type' => 'string', 'example' => 'label', 'title' => ''],
+ 'inquiring_label' => [
+ 'description' => 'The label configuration for authorization inquiry. When this stage is reached, ACK adds the following label to your node and waits for your authorization to perform the action of this stage.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The key of the label.', 'type' => 'string', 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The value of the label.', 'type' => 'string', 'example' => 'inquiring', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'approved_label' => [
+ 'description' => 'The label configuration for authorization approval. When you add the following label to the node, you authorize ACK to perform the action of this stage. After completing the action, ACK automatically removes the authorization inquiry and approval labels for this stage. If you do not add the following label for authorization in a timely manner, ACK will not perform the action of this stage or subsequent actions, and the node may remain in a damaged state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The key of the label.', 'type' => 'string', 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The value of the label.', 'type' => 'string', 'example' => 'approved', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'is_default_template' => [
- 'type' => 'boolean',
+ 'config' => [
+ 'description' => 'The configuration parameters of the procedure.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'The configuration parameters of the procedure.', 'type' => 'any', 'example' => '"drain_timeout": "30s" ', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
- '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',
- ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'resource_sub_type' => ['description' => 'The sub-type of resource associated with the auto-repair rule.', 'type' => 'string', 'example' => 'ess', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ '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 }\\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"}]',
+ 'title' => 'DescribeAutoRepairPolicy',
+ 'description' => '><notice>This API is not yet available. Stay tuned.></notice>',
+ 'changeSet' => [
+ ['createdAt' => '2026-02-26T07:37:52.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterAddonInstance' => [
+ 'summary' => 'Calls DescribeClusterAddonInstance to query information about an installed cluster component, such as its version, status, and configuration.',
+ 'path' => '/clusters/{ClusterID}/components/{AddonName}/instance',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '170092',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'ClusterID',
'in' => 'path',
- 'schema' => [
- 'title' => '集群id',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cd06bbf8a86764a31bcac76136691****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'AddonName',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'required' => true, 'example' => 'terway-eniip'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'expire_hour' => [
- 'title' => 'kubeconfig过期小时',
- 'description' => 'Specifies the expiration time of the kubeconfig file. Unit: hours.'."\n"
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'terway-eniip'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'example' => 'v1.4.3'],
+ 'state' => [
+ 'title' => '',
+ 'description' => 'The component status. Valid values:'."\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",
+ .'- initial: installing'."\n"
+ .'- active: installed'."\n"
+ .'- unhealthy: abnormal'."\n"
+ .'- upgrading: upgrading'."\n"
+ .'- updating: updating'."\n"
+ .'- deleting: uninstalling'."\n"
+ .'- deleted: deleted.',
'type' => 'string',
- 'required' => true,
- 'docRequired' => false,
- 'example' => 'The ID of the Resource Access Management (RAM) user that you use.',
+ 'example' => 'active',
+ 'enum' => ['initial', 'active', 'unhealthy', 'upgrading', 'updating', 'deleting', 'deleted'],
],
+ 'config' => ['title' => '', 'description' => 'The component configuration.', 'type' => 'string', 'example' => '{"NetworkPolicy":"true"}'],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- 'responses' => [
- 200 => [],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::GetClusterAddonInstance'],
+ 'returnType' => 'synchronous',
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"name\\": \\"terway-eniip\\",\\n \\"version\\": \\"v1.4.3\\",\\n \\"state\\": \\"active\\",\\n \\"config\\": \\"{\\\\\\"NetworkPolicy\\\\\\":\\\\\\"true\\\\\\"}\\"\\n}","type":"json"}]',
+ 'title' => '(Deprecated) Query cluster component instance information',
+ 'changeSet' => [
+ ['createdAt' => '2024-09-23T06:06:09.000Z', 'description' => 'Request parameters changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonInstance'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterAddonMetadata' => [
+ 'summary' => 'Queries the version information of a specified component that can be used in a specific cluster, including the component version and configurable parameters.',
+ 'path' => '/clusters/{cluster_id}/components/{component_id}/metadata',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '161583',
- 'abilityTreeNodes' => [
- 'FEATUREcsk01W1JN',
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeCode' => '101052',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c71d616e629ff40d5b42d7bb87770****'],
+ ],
+ [
+ 'name' => 'component_id',
'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component ID.', 'type' => 'string', 'required' => true, 'example' => 'coredns'],
+ ],
+ [
+ 'name' => 'version',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'required' => false, 'example' => '1.8.4.1'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
+ 'title' => '',
+ 'description' => 'The component version metadata.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'coredns'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'example' => '1.8.4.1'],
+ 'config_schema' => ['title' => '', 'description' => 'The component parameter schema.', '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}'],
+ ],
+ 'example' => '',
],
],
],
- 'responses' => [
- 200 => [],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::DescribeAddon'],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => '(Deprecated) Query cluster component metadata',
+ 'changeSet' => [
+ ['createdAt' => '2024-04-23T03:25:51.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonMetadata'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonMetadata',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk01W1JN',
- 'FEATUREcskCWOUHM',
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterAddonUpgradeStatus' => [
+ 'summary' => 'Queries the upgrade status of a cluster component by calling DescribeClusterAddonUpgradeStatus.',
+ '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' => [
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'."\n",
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
],
[
- 'name' => 'Uid',
+ 'name' => 'ComponentId',
'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",
- ],
+ 'schema' => ['title' => '', 'description' => 'The component ID, such as nginx-ingress-controller, flexvolume, or metrics-server.'."\n"
+ ."\n"
+ .'You can call the DescribeAddons API operation to query the components supported by a cluster.', 'type' => 'string', 'required' => true, 'example' => 'cloud-controller-manager'],
],
- [
- 'name' => 'Force',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'addon_info' => [
+ 'title' => '',
+ 'description' => '组件信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'component_name' => ['title' => '', 'description' => '组件名称。', 'type' => 'string', 'example' => 'cloud-controller-manager'],
+ 'version' => ['title' => '', 'description' => '组件当前版本。', 'type' => 'string', 'example' => 'v1.9.3.340-g9830b58-aliyun'],
+ 'ready_to_upgrade' => ['title' => '', 'description' => '是否满足升级条件。取值:'."\n"
+ ."\n"
+ .'- `true`:满足升级条件。'."\n"
+ .'- `false`:不满足升级条件。', 'type' => 'string', 'example' => 'true'],
+ ],
+ 'example' => '',
+ ],
+ 'tasks' => [
+ 'title' => '',
+ 'description' => '升级任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'created_at' => ['title' => '', 'description' => ' '."\n"
+ .'升级开始时间。', 'type' => 'string', 'example' => '0001-01-01T00:00:00Z'],
+ 'finished_at' => ['title' => '', 'description' => '升级完成时间。', 'type' => 'string', 'example' => '0001-01-01T00:00:00Z'],
+ 'status' => ['title' => '', 'description' => '升级任务状态。', 'type' => 'string', 'example' => 'Success'],
+ 'is_canceled' => ['title' => '', 'description' => '升级任务是否被取消。取值:'."\n"
+ ."\n"
+ .'- `true`:任务被取消。'."\n"
+ .'- `false`:任务未被取消。', 'type' => 'boolean', 'example' => 'false'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'description' => '组件升级状态详情。',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
],
- 'responses' => [
- 200 => [],
- ],
'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'substitutions' => ['CS::2015-12-15::GetClusterAddonInstance'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query cluster addon upgrade status',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonUpgradeStatus'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:QueryK8sComponentUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeClusterAddonsUpgradeStatus' => [
+ 'summary' => 'Queries the upgrade status of a component by component name.',
+ 'path' => '/clusters/{ClusterId}/components/upgradestatus',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '201666',
- 'abilityTreeNodes' => [
- 'FEATUREcskM5ADAN',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'abilityTreeCode' => '498',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
- 'name' => 'Uid',
+ 'name' => 'ClusterId',
'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c23421cfa74454bc8b37163fd19af****'],
+ ],
+ [
+ 'name' => 'componentIds',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The list of component names.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The component name.', 'type' => 'string', 'required' => true, 'example' => 'metric-server', 'title' => ''],
'required' => true,
- 'example' => '26562443851650****',
+ 'example' => '',
],
],
- [
- 'name' => 'Force',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
'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',
+ 'title' => '',
+ 'description' => "\n"
+ .'The response body.',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'addon_info' => [
+ 'title' => '',
+ 'description' => 'The component information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'component_name' => ['title' => '', 'description' => 'The component name.', '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 upgrade requirements. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component meets the upgrade requirements.'."\n"
+ .'- `false`: The component does not meet the upgrade requirements.', 'type' => 'string', 'example' => 'true'],
+ ],
+ 'example' => '',
+ ],
+ 'tasks' => [
+ 'title' => '',
+ 'description' => 'The upgrade task details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'created_at' => ['title' => '', 'description' => 'The time when the task started.', 'type' => 'string', 'example' => '2020-12-28T17:00:50Z'],
+ 'finished_at' => ['title' => '', 'description' => 'The time when the task was completed.', 'type' => 'string', 'example' => '2020-12-28T17:05:36Z'],
+ 'status' => ['title' => '', 'description' => 'The status of the upgrade task. Valid values:'."\n"
+ .'- `Upgrading`: The task is being upgraded.'."\n"
+ .'- `Success`: The task is successful.'."\n"
+ .'- `Failed`: The task failed.'."\n"
+ .'- `Running`: The task is being installed.'."\n"
+ .'- `Paused`: The task is paused.'."\n"
+ .'- `Canceled`: The task is canceled.', 'type' => 'string', 'example' => 'Success'],
+ 'is_canceled' => ['title' => '', 'description' => 'Indicates whether the upgrade task is canceled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The task is canceled.'."\n"
+ .'- `false`: The task is not canceled.', 'type' => 'boolean', 'example' => 'false'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The details of the component upgrade status.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::ListClusterAddonInstances', 'CS::2015-12-15::GetClusterAddonInstance'],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => '(Deprecated) Query cluster component upgrade status',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonsUpgradeStatus'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonsUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- 'required' => false,
],
],
],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterAddonsVersion' => [
+ 'summary' => 'Queries the details of all installed 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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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***********',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'component_name' => ['title' => '', 'description' => 'The component name.', '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, the component is installed.', 'type' => 'string', 'example' => '1.2.1'],
+ 'next_version' => ['title' => '', 'description' => 'The next version to which the component can be upgraded.', 'type' => 'string', 'example' => '1.2.1'],
+ 'changed' => ['title' => '', 'description' => 'Indicates whether the component has been updated. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component has been updated.'."\n"
+ .'- `false`: The component has not been updated.', 'type' => 'string', 'example' => 'false'],
+ 'can_upgrade' => ['title' => '', 'description' => 'Indicates whether the component can be upgraded. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component can be upgraded.'."\n"
+ .'- `false`: The component cannot be upgraded.', 'type' => 'boolean', 'example' => 'false'],
+ 'policy' => ['title' => '', 'description' => 'The component upgrade policy.'."\n"
+ ."\n"
+ .'- `overwrite`: forcible overwrite.'."\n"
+ ."\n"
+ .'Default value: `overwrite`.'."\n"
+ ."\n", 'type' => 'string', 'example' => 'overwrite'],
+ 'ready_to_upgrade' => ['title' => '', 'description' => 'Indicates whether the component meets the upgrade conditions. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component meets the upgrade conditions.'."\n"
+ .'- `false`: The component does not meet the upgrade conditions.', 'type' => 'string', 'example' => 'false'],
+ 'exist' => ['title' => '', 'description' => 'Indicates whether the component can be installed in the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component can be installed.'."\n"
+ .'- `false`: The component cannot be installed.', 'type' => 'boolean', 'example' => 'true'],
+ 'required' => ['title' => '', 'description' => 'Indicates whether the component is required by the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The component is required.'."\n"
+ .'- `false`: The component is not required.', 'type' => 'boolean', 'example' => 'false'],
+ 'message' => ['title' => '', 'description' => 'The additional description of whether the component can be upgraded.', 'type' => 'string', 'example' => '节点故障检测以及上报至事件中心的插件'],
+ 'value' => ['title' => '', 'description' => 'The custom parameter values specified when installing the component.', 'type' => 'string', 'example' => 'npd:\\n # Custom monitor definitions to add to Node Problem Detector ****'],
],
+ 'description' => 'The component details.',
+ 'title' => '',
+ 'example' => '',
],
- 'description' => '',
+ 'example' => '',
],
],
],
'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'substitutions' => ['CS::2015-12-15::ListClusterAddonInstances', 'CS::2015-12-15::GetClusterAddonInstance'],
],
- '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',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => '(Deprecated) Query Cluster Component Versions',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonsVersion'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:Queryk8sComponentsUpdateVersion',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterAttachScripts' => [
+ 'summary' => 'If you need to add existing ECS instances to an ACK cluster as worker nodes, or re-add node instances to a node pool after they are removed, ACK allows you to manually add existing nodes to a node pool. Calls the DescribeClusterAttachScripts operation to obtain the script for adding existing nodes.',
+ 'path' => '/clusters/{ClusterId}/attachscript',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'high',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '553',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '401',
+ 'abilityTreeNodes' => ['FEATUREcsk4JRUSW'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c61da77e8bfbc4c4c999af2b51b65****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'ca375a93a30474552ad2a0ebe183e****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'title' => '请求体参数。',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'type' => 'object',
'properties' => [
- 'nodepool_info' => [
- 'title' => '节点池配置',
- 'description' => 'The configurations of the node pool.'."\n",
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID. You can add the node to a specified node pool.'."\n"
+ ."\n"
+ .'> If you do not specify a node pool ID, the node is added to the default node pool.', 'type' => 'string', 'example' => 'np1c9229d9be2d432c93f77a88fca0****', 'required' => false],
+ 'format_disk' => ['title' => '', 'description' => 'Specifies whether to mount data disks to the instance when you manually add the existing instance to the cluster. Container and image data is stored on the data disks. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Mounts data disks to the instance. Existing data on the data disks will be lost. Back up your data before you proceed.'."\n"
+ .'- `false`: Does not mount data disks to the instance.'."\n"
+ ."\n"
+ .'Default value: `false`.'."\n"
+ ."\n"
+ .'Data disk mounting rules:'."\n"
+ ."\n"
+ .'- If data disks are already mounted to the ECS instance and the file system of the last data disk is not initialized, the system automatically formats the data disk as ext4 to store /var/lib/docker and /var/lib/kubelet.'."\n"
+ .'- If no data disks are mounted to the ECS instance, no new data disks are mounted.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'keep_instance_name' => ['title' => '', 'description' => 'Specifies whether to retain the instance name when adding an existing instance to the cluster. If the instance name is not retained, the instance name is in the format of `worker-k8s-for-cs-<clusterid>`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Retains the instance name.'."\n"
+ .'- `false`: Does not retain the instance name. The instance name is replaced based on system rules.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'rds_instances' => [
+ 'title' => '',
+ 'description' => 'If you specify a list of ApsaraDB RDS instances, the ECS instances in the cluster are automatically added to the whitelists of the specified ApsaraDB RDS instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The name of the ApsaraDB RDS instance.', 'type' => 'string', 'example' => 'rm-xxx', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'arch' => ['title' => '', 'description' => 'The CPU architecture of the node. Supported CPU architectures include `amd64`, `arm`, and `arm64`.'."\n"
+ ."\n"
+ .'Default value: `amd64`.'."\n"
+ ."\n"
+ .'> This parameter is required when the cluster type is managed edge cluster.', 'type' => 'string', 'example' => 'amd64', 'required' => false],
+ 'options' => ['title' => '', 'description' => 'The configuration parameters for node registration.'."\n"
+ ."\n"
+ .'> This parameter is required when the cluster type is managed edge cluster.', 'type' => 'string', 'example' => '{"enableIptables": true,"manageRuntime": true,"quiet": true,"allowedClusterAddons": ["kube-proxy","flannel","coredns"]}', 'required' => false],
+ 'expired' => ['title' => '', 'description' => 'The expiration time of the generated token. The value is a UNIX timestamp. For example, 1739980800 indicates 2025-02-20 00:00:00.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1740037333'],
+ 'one_time_token' => ['type' => 'boolean', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
+ ],
+ 'required' => false,
+ 'example' => 'amd64',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => ['title' => '', 'description' => 'The script for adding existing nodes.', 'type' => 'string', 'example' => '"wget http://***.oss-cn-hangzhou.aliyuncs.com/***"'],
+ ],
+ '5XX' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"\\"\\\\\\"wget http://***.oss-cn-hangzhou.aliyuncs.com/***\\\\\\"\\"","type":"json"}]',
+ 'title' => 'Query the script for adding existing nodes to a cluster node pool',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-01T03:08:31.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-02-20T08:11:20.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-11-25T11:13:23.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterAttachScripts'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAttachScripts',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterDetail' => [
+ 'summary' => 'You can call the DescribeClusterDetail API to query the detailed information of a specified 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' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cdde1f21ae22e483ebcb068a6eb7f****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Response body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****'],
+ 'cluster_type' => ['title' => '', 'description' => 'Cluster type.'."\n"
+ ."\n"
+ .'- `Kubernetes`: ACK dedicated cluster.'."\n"
+ .' '."\n"
+ .'- `ManagedKubernetes`: ACK managed clusters, including ACK managed clusters (ACK Pro and ACK Basic), ACK Serverless clusters (Pro and Basic), ACK Edge clusters (Pro and Basic), and ACK Lingjun clusters (Pro).'."\n"
+ .' '."\n"
+ .'- `ExternalKubernetes`: Registered cluster.', 'type' => 'string', 'example' => 'Kubernetes'],
+ 'created' => ['title' => '', 'description' => 'Cluster creation time.', 'type' => 'string', 'example' => '2025-04-07T09:57:26+08:00'],
+ 'init_version' => ['title' => '', 'description' => 'Cluster initial version.', 'type' => 'string', 'example' => '1.32.1-aliyun.1'],
+ 'current_version' => ['title' => '', 'description' => 'The current version of the cluster. For Kubernetes versions supported by ACK, see [Kubernetes release overview](~~185269~~).', 'type' => 'string', 'example' => '1.32.1-aliyun.1'],
+ 'next_version' => ['title' => '', 'description' => 'Cluster upgradeable version.', 'type' => 'string', 'example' => '1.xx.x-aliyun.1'],
+ 'deletion_protection' => ['title' => '', 'description' => 'Cluster deletion protection, which prevents accidental deletion of the cluster through the console or API. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable cluster deletion protection. The cluster cannot be deleted through the console or API.'."\n"
+ .'- `false`: Disable cluster deletion protection. The cluster can be deleted through the console or API.'."\n"
+ ."\n", 'type' => 'boolean', 'example' => 'true'],
+ 'docker_version' => ['title' => '', 'description' => 'The Docker version in the cluster.', 'type' => 'string', 'deprecated' => true, 'example' => '19.03.5'],
+ 'external_loadbalancer_id' => ['title' => '', 'description' => 'Cluster Ingress SLB instance ID.', 'type' => 'string', 'deprecated' => true, 'example' => 'lb-2zehc05z3b8dwiifh****'],
+ 'meta_data' => ['title' => '', 'description' => 'Cluster metadata information.', 'type' => 'string', 'example' => '\\"Addons\\":***'],
+ 'name' => ['title' => '', 'description' => 'Cluster name.', 'type' => 'string', 'example' => 'cluster-demo'],
+ 'network_mode' => ['title' => '', 'description' => 'The network type used by the cluster, for example: VPC network.', 'type' => 'string', 'deprecated' => true, 'example' => 'vpc'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID where the cluster is located.', 'type' => 'string', 'example' => 'cn-beijing'],
+ 'resource_group_id' => ['title' => '', 'description' => 'Cluster resource group ID.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****'],
+ 'security_group_id' => ['title' => '', 'description' => 'Cluster security group ID.', 'type' => 'string', 'example' => 'sg-25yq****'],
+ 'size' => ['title' => '', 'description' => 'The number of nodes in the cluster, including both Master and Worker nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'state' => ['title' => '', 'description' => 'Cluster running status. 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"
+ .'- `upgrading`: The cluster is being upgraded.'."\n"
+ .'- `removing`: Nodes are being removed.'."\n"
+ .'- `draining`: Nodes are being drained.'."\n"
+ .'- `scaling`: The cluster is being scaled.'."\n"
+ .'- `inactive`: The cluster is inactive.'."\n"
+ .'- `unavailable`: The cluster is unavailable.'."\n"
+ .'- `deleting`: The cluster is being deleted.'."\n"
+ .'- `deleted`: The cluster has been deleted.'."\n"
+ .'- `delete_failed`: The cluster failed to be deleted.'."\n"
+ .'- `waiting`: Waiting for connection.'."\n"
+ .'- `disconnected`: Disconnected.', 'type' => 'string', 'example' => 'running'],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'Cluster resource tags.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Cluster resource tags.', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'updated' => ['title' => '', 'description' => 'Cluster update time.', 'type' => 'string', 'example' => '2025-04-10T13:28:09+08:00'],
+ 'vpc_id' => ['title' => '', 'description' => 'The VPC ID of the cluster. This is a required parameter when creating a cluster.', 'type' => 'string', 'example' => 'vpc-2zecuu62b9zw7a7qn****'],
+ 'vswitch_id' => ['title' => '', 'description' => 'vSwitch ID. This field is deprecated. For control plane vSwitches, use the vswitch_ids field. For data plane vSwitches, query through the vswitch_ids field in node pools.', 'type' => 'string', 'deprecated' => true, 'example' => 'vsw-2zete8s4qocqg0mf6****,vsw-2zete8s4qocqg0mf6****'],
+ 'subnet_cidr' => ['title' => '', 'description' => 'Pod network CIDR block.', 'type' => 'string', 'deprecated' => true, 'example' => '172.20.xx.xx/16'],
+ 'zone_id' => ['title' => '', 'description' => 'The availability zone ID within the region where the cluster is located.', 'type' => 'string', 'deprecated' => true, 'example' => 'cn-beijing-a'],
+ 'master_url' => ['title' => '', 'description' => 'The access endpoint of the cluster, including the internal and public access endpoints.', 'type' => 'string', 'example' => '{\\"intranet_api_server_endpoint\\":\\"https://192.168.xx.xx:6443\\"***}'],
+ 'private_zone' => ['title' => '', 'description' => 'Whether PrivateZone is enabled for the cluster.'."\n"
+ ."\n"
+ .'- `true`: Enabled.'."\n"
+ .'- `false`: Not enabled.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false'],
+ 'profile' => ['title' => '', 'description' => 'Cluster subtype.'."\n"
+ ."\n"
+ .'- `Default`: ACK managed cluster, including ACK Pro and ACK Basic.'."\n"
+ .' '."\n"
+ .'- `Edge`: ACK Edge cluster, including ACK Edge Pro and ACK Edge Basic.'."\n"
+ .' '."\n"
+ .'- `Serverless`: ACK Serverless cluster, including ACK Serverless Pro and ACK Serverless Basic.'."\n"
+ .' '."\n"
+ .'- `Lingjun`: ACK Lingjun cluster, available in Pro edition.', 'type' => 'string', 'example' => 'Default'],
+ 'cluster_spec' => ['title' => '', 'description' => 'The cluster specifications when `cluster_type` is set to `ManagedKubernetes` and `profile` is configured. Valid values:'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic edition (selected by default when the value is empty)'."\n"
+ .'- `ack.pro.small`: Pro edition'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (requires contacting customer service for allowlisting)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. By pre-allocating and pinning control plane resources, they ensure that API concurrency and Pod scheduling capabilities remain at a consistently high level, suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For cluster management fees for Pro edition and Provisioned Control Plane editions, see <props="china">[Cluster management fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster management fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.', 'type' => 'string', 'example' => 'ack.pro.small'],
+ 'worker_ram_role_name' => ['title' => '', 'description' => 'The name of the Worker RAM role, which authorizes ECS instances as Worker nodes of the cluster.', 'type' => 'string', 'example' => 'KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****'],
+ 'maintenance_window' => ['description' => 'Cluster maintenance window configuration. Only takes effect in managed editions (i.e., ACK Pro clusters).', '$ref' => '#/components/schemas/maintenance_window', 'title' => '', 'example' => ''],
+ 'parameters' => [
+ 'description' => 'Cluster ROS parameter collection.',
'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,
+ 'deprecated' => true,
+ 'additionalProperties' => ['description' => 'ROS parameter.', 'type' => 'string', 'example' => '"ALIYUN::Region": "cn-qingdao"', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'container_cidr' => ['title' => '', 'description' => 'Pod network CIDR block, configured for Flannel networking.', 'type' => 'string', 'required' => false, 'example' => '172.20.xx.xx/16'],
+ 'service_cidr' => ['title' => '', 'description' => 'Service network CIDR block.', 'type' => 'string', 'required' => true, 'example' => '172.21.xx.xx/20'],
+ 'proxy_mode' => ['title' => '', 'description' => 'kube-proxy proxy mode.'."\n"
+ ."\n"
+ .'- `iptables`: A mature and stable kube-proxy proxy mode. Service discovery and load balancing for Kubernetes Services are configured using iptables rules. However, the performance is average and significantly affected by scale. This mode is suitable for clusters with a small number of Services.'."\n"
+ .'- `ipvs`: A high-performance kube-proxy proxy mode. Service discovery and load balancing for Kubernetes Services are configured using the Linux IPVS module. This mode is suitable for clusters with a large number of Services and scenarios that require high-performance load balancing.', 'type' => 'string', 'example' => 'ipvs'],
+ 'timezone' => ['title' => '', 'description' => 'Timezone.', 'type' => 'string', 'example' => 'Asia/Shanghai'],
+ 'node_cidr_mask' => ['title' => '', 'description' => 'Only applicable to the Flannel network plugin.'."\n"
+ ."\n"
+ .'The subnet mask size allocated to each node, which controls the number of IP addresses that can be allocated to the node.', 'type' => 'string', 'example' => '26'],
+ 'ip_stack' => [
+ 'title' => '',
+ 'description' => 'The IP protocol stack of the cluster. Valid values:'."\n"
+ .'- ipv4: Creates a cluster that supports only the IPv4 protocol stack.'."\n"
+ .'- dual: Creates a cluster that supports the IPv4/IPv6 dual stack.',
+ 'type' => 'string',
+ 'example' => 'ipv4',
+ 'default' => 'ipv4',
+ 'enum' => ['ipv4', 'dual'],
],
- 'auto_scaling' => [
- 'title' => '自动伸缩节点池配置。',
- 'description' => 'The configurations of auto scaling.'."\n",
+ 'cluster_domain' => ['title' => '', 'description' => 'Cluster local domain.', 'type' => 'string', 'example' => 'cluster.local'],
+ 'extra_sans' => [
+ 'title' => '',
+ 'description' => 'Custom API Server certificate SAN (Subject Alternative Name).',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'Certificate SAN.', 'type' => 'string', 'example' => '192.168.xx.xx'],
+ 'example' => '',
+ ],
+ 'rrsa_config' => [
+ 'title' => '',
+ 'description' => 'RRSA configuration.',
'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',
- ],
+ 'enabled' => ['title' => '', 'description' => 'Whether RRSA is enabled.', 'type' => 'boolean', 'example' => 'true'],
+ 'oidc_name' => ['title' => '', 'description' => 'OIDC identity provider name.', 'type' => 'string', 'example' => 'ack-rrsa-***'],
+ 'oidc_arn' => ['title' => '', 'description' => 'OIDC identity provider ARN.', 'type' => 'string', 'example' => 'acs:ram::1138***:oidc-provider/ack-rrsa-***'],
+ 'max_oidc_token_expiration' => ['title' => '', 'description' => 'The maximum configurable validity period of an OIDC token.', 'type' => 'string', 'example' => '12h'],
+ 'audience' => ['title' => '', 'description' => 'The default audience information of the OIDC token. Multiple values are separated by commas (,). The values will be set as an array in the aud field of the OIDC token.', 'type' => 'string', 'example' => 'https://kubernetes.default.svc,https://example.***.com'],
+ 'issuer' => ['title' => '', 'description' => 'The issuer information of the OIDC token. Multiple values are separated by commas (,). The first value will be set as the iss field of the OIDC token and the issuer URL of the OIDC identity provider.', 'type' => 'string', 'example' => 'https://oidc-ack-***,https://kubernetes.default.svc'],
+ 'open_api_configuration_url' => ['title' => '', 'description' => 'OIDC configuration document URL.', 'type' => 'string', 'example' => 'https://oidc-ack-***/c12b990***/.well-known/openid-configuration'],
+ 'jwks_url' => ['title' => '', 'description' => 'OIDC public key information URL.', 'type' => 'string', 'example' => 'https://oidc-ack-***/c12b990***/keys'],
],
- 'required' => false,
+ 'example' => '',
],
- 'management' => [
- 'title' => '托管节点池配置。',
- 'description' => 'The configurations of the managed node pool feature.'."\n",
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'Cluster control plane vSwitches.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Cluster control plane vSwitch.', 'type' => 'string', 'example' => 'vsw-2zete8s4qocqg0mf6****', 'title' => ''],
+ 'example' => '',
+ ],
+ 'operation_policy' => [
+ 'title' => '',
+ 'description' => 'Cluster automatic O&M policy.',
'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",
+ 'cluster_auto_upgrade' => [
+ 'title' => '',
+ 'description' => 'Cluster auto-upgrade.',
'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',
- ],
+ 'enabled' => ['title' => '', 'description' => 'Whether cluster auto-upgrade is enabled.', 'type' => 'boolean', 'example' => 'true'],
+ 'channel' => ['title' => '', 'description' => 'Cluster auto-upgrade frequency. For more information, see [Upgrade frequency](~~2712866~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- patch: Latest patch version.'."\n"
+ .'- stable: Second latest minor version.'."\n"
+ .'- rapid: Latest minor version.', 'type' => 'string', 'example' => 'patch'],
],
- 'deprecated' => true,
- 'required' => false,
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
- 'scaling_group' => [
- 'title' => '伸缩组配置',
- 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n",
+ 'control_plane_config' => [
+ 'title' => '',
+ 'description' => 'Dedicated cluster control plane configuration.',
'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,
- ],
+ 'charge_type' => ['title' => '', 'description' => 'Billing type of control plane nodes.', 'type' => 'string', 'example' => 'PrePaid'],
+ 'period' => ['title' => '', 'description' => 'Subscription duration of the node.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'period_unit' => ['title' => '', 'description' => 'Unit of the subscription duration.', 'type' => 'string', 'example' => 'Month'],
+ 'auto_renew' => ['title' => '', 'description' => 'Whether auto-renewal is enabled for the node.', 'type' => 'boolean', 'example' => 'true'],
+ 'auto_renew_period' => ['title' => '', 'description' => 'Auto-renewal duration of the node.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
'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",
+ 'title' => '',
+ 'description' => 'Node instance specification types.',
'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,
+ 'items' => ['description' => 'Instance type.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''],
+ 'example' => '',
+ ],
+ 'image_type' => ['title' => '', 'description' => 'OS image type.', 'type' => 'string', 'example' => 'AliyunLinux3'],
+ 'image_id' => ['title' => '', 'description' => 'Image ID.', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20240819'],
+ 'key_pair' => ['title' => '', 'description' => 'Key pair name. You can specify either this parameter or login_password.', 'type' => 'string', 'required' => false, 'example' => 'ack'],
+ 'system_disk_category' => ['title' => '', 'description' => 'Node system disk type.', 'type' => 'string', 'example' => 'cloud_essd'],
+ 'system_disk_size' => ['title' => '', 'description' => 'Node system disk size, minimum 40.', 'type' => 'integer', 'format' => 'int64', 'example' => '120'],
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'Node automatic snapshot backup policy.', 'type' => 'string', 'example' => 'sp-2zej1nogjvovnz4z****'],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'Performance level of the node system disk. Only applicable to ESSD disks.', 'type' => 'string', 'example' => 'PL1'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'Provisioned read/write IOPS for the node system disk.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Whether burst (performance burst) is enabled for the node system disk.', 'type' => 'boolean', 'example' => 'true'],
+ 'deploymentset_id' => ['title' => '', 'description' => 'Deployment set ID.', 'type' => 'string', 'example' => 'ds-bp10b35imuam5amw****'],
+ 'cloud_monitor_flags' => ['title' => '', 'description' => 'Whether to install CloudMonitor on the node.', 'type' => 'boolean', 'example' => 'true'],
+ 'soc_enabled' => ['title' => '', 'description' => 'Whether to enable classified protection security hardening.', 'type' => 'boolean', 'example' => 'false'],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Whether to enable Alibaba Cloud OS security hardening.', 'type' => 'boolean', 'example' => 'true'],
+ 'cpu_policy' => ['title' => '', 'description' => 'Node CPU management policy.', 'type' => 'string', 'example' => 'none'],
+ 'runtime' => ['title' => '', 'description' => 'Container runtime name.', 'type' => 'string', 'example' => 'containerd'],
+ 'node_port_range' => ['title' => '', 'description' => 'Node service port range.', 'type' => 'string', 'example' => '30000-32767'],
+ 'size' => ['title' => '', 'description' => 'Number of control plane nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'instance_metadata_options' => ['title' => '', 'description' => 'Metadata access configuration for ECS instances.', '$ref' => '#/components/schemas/InstanceMetadataOptions', 'example' => ''],
+ ],
+ 'example' => '',
],
- 'node_config' => [
- 'title' => '节点配置',
- 'description' => 'The node configurations.'."\n",
+ 'auto_mode' => [
+ 'title' => '',
+ 'description' => 'Intelligent managed mode configuration.',
'type' => 'object',
'properties' => [
- 'kubelet_configuration' => [
- 'title' => 'Kubelet参数配置。',
- 'description' => 'The configurations of the kubelet.'."\n",
- 'required' => false,
- '$ref' => '#/components/schemas/kubelet_config',
- ],
+ 'enable' => ['title' => '', 'description' => 'Whether to enable intelligent managed mode.', 'type' => 'boolean', 'example' => 'false'],
],
- 'required' => false,
+ 'example' => '',
],
- 'kubernetes_config' => [
- 'title' => '集群配置',
- 'description' => 'The configurations of the cluster.'."\n",
+ 'control_plane_endpoints_config' => [
+ 'title' => '',
+ 'description' => 'Cluster connection configuration.',
'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',
+ 'internal_dns_config' => [
+ 'title' => '',
+ 'description' => 'Internal DNS configuration for the cluster, applicable to ACK managed clusters. The internal DNS is used by node-side system components such as kubelet and kube-proxy to access the API Server. When internal DNS access is not enabled, node-side system components access the API Server through the CLB IP.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bind_vpcs' => [
+ 'title' => '',
+ 'description' => 'The VPC scope within which the internal DNS record resolution takes effect. The VPC where the cluster is located is included by default.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The VPC where the internal DNS record resolution takes effect.', 'type' => 'string', 'example' => 'vpc-xxxxxx'],
+ 'example' => '',
+ ],
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable internal DNS access for the cluster.'."\n"
+ .'- true: Enable internal DNS access. Node-side components (kubelet, kube-proxy) will access the API Server through the internal DNS.', 'type' => 'boolean', 'example' => 'true'],
],
- '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',
+ 'example' => '',
],
],
+ 'example' => '',
],
- 'auto_mode' => [
- 'title' => '智能托管配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'type' => 'boolean',
- ],
- ],
- ],
- 'node_components' => [
- 'title' => '节点组件列表。',
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query the information of a specified cluster',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-08T09:33:41.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-09-11T11:44:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-08-05T09:37:25.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-07-29T06:36:24.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-06-10T05:44:57.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-11-19T11:50:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-10-18T06:19:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-10-15T08:44:18.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-04-26T09:26:08.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterDetail'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterEvents' => [
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The maximum number of results to return per page.'."\n"
+ ."\n"
+ .'Valid values: [1,100].'."\n"
+ ."\n"
+ .'Default value: 50.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'required' => false],
+ ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ ],
+ [
+ 'name' => 'next_token',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ [
+ 'name' => 'max_results',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ [
+ 'name' => 'task_id',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the task to query.', 'type' => 'string', 'required' => false, 'example' => 'T-6823f946ffadbb0106****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'events' => [
+ 'title' => '',
+ 'description' => 'The list of events.',
'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' => '节点组件配置。',
+ 'event_id' => ['title' => '', 'description' => 'The event ID.', 'type' => 'string', 'example' => 'e-9ad04f72-8ee7-46bf-a02c-e4a06b39****'],
+ 'type' => ['title' => '', 'description' => 'The event type. Valid values:'."\n"
+ ."\n"
+ .'- cluster_create: creates a cluster.'."\n"
+ .'- cluster_scaleout: scales out a cluster.'."\n"
+ .'- cluster_attach: adds existing nodes.'."\n"
+ .'- cluster_delete: deletes a cluster.'."\n"
+ .'- cluster_upgrade: upgrades a cluster.'."\n"
+ .'- cluster_migrate: migrates a cluster.'."\n"
+ .'- cluster_node_delete: removes nodes.'."\n"
+ .'- cluster_node_drain: drains nodes.'."\n"
+ .'- cluster_modify: modifies a cluster.'."\n"
+ .'- cluster_configuration_modify: modifies cluster management configurations.'."\n"
+ .'- cluster_addon_install: installs a component.'."\n"
+ .'- cluster_addon_upgrade: upgrades a component.'."\n"
+ .'- cluster_addon_uninstall: uninstalls a component.'."\n"
+ .'- runtime_upgrade: upgrades the runtime.'."\n"
+ .'- nodepool_upgrade: upgrades a node pool.'."\n"
+ .'- nodepool_update: updates a node pool.', 'type' => 'string', 'example' => 'nodepool_update'],
+ 'source' => ['title' => '', 'description' => 'The event source.', 'type' => 'string', 'example' => 'task'],
+ 'subject' => ['title' => '', 'description' => 'The object associated with the event.', 'type' => 'string', 'example' => 'npdd89dc2b76c04f14b06774883b******'],
+ 'time' => ['title' => '', 'description' => 'The time when the event started.', 'type' => 'string', 'example' => '2025-05-14T10:00:56+08:00'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****'],
+ 'data' => [
+ 'title' => '',
+ 'description' => 'The event description.',
'type' => 'object',
'properties' => [
- 'custom_config' => [
- 'title' => '节点组件自定义配置。',
- 'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => 'cpuManagerPolicy',
- ],
+ 'level' => [
+ 'title' => '',
+ 'description' => 'The event level.',
+ 'enumValueTitles' => ['warning' => 'warning', 'error' => 'error', 'info' => 'info'],
+ 'type' => 'string',
+ 'example' => 'info',
],
+ 'reason' => ['title' => '', 'description' => 'The event status.', 'type' => 'string', 'example' => 'Started'],
+ 'message' => ['title' => '', 'description' => 'The event details.', 'type' => 'string', 'example' => 'Start to upgrade NodePool nodePool/npdd89dc2b76c04f14b06774883b******'],
],
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'next_token' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'page_info' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of results returned per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int64', 'example' => '126'],
],
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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-****',
- ],
+ 'title' => 'Query events of a specified cluster',
+ 'summary' => 'Cluster operation events include cluster creation, cluster modification, node pool creation, node pool scale-out, addon installation, and cluster upgrade. You can call the DescribeClusterEvents operation to retrieve the list of events that occurred in a specified cluster and query event details, including the event level, event status, and event time.',
+ 'changeSet' => [
+ ['createdAt' => '2022-06-06T08:14:02.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterEvents'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterEvents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
- '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',
+ '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 \\"next_token\\": \\"\\",\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 126\\n }\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeClusterLogs' => [
+ 'summary' => 'Retrieves the log data of a cluster for root cause analysis and tracing when cluster issues occur.',
+ 'path' => '/clusters/{ClusterId}/logs',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '554',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ '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' => 'c61da77e8bfbc4c4c999af2b51b65****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
],
- [
- 'name' => 'NodepoolId',
- 'in' => 'path',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np30db56bcac7843dca90b999c8928****',
+ 'title' => '',
+ 'description' => 'The log list.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '日志详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ID' => ['title' => '', 'description' => '日志ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '73117232145******'],
+ 'cluster_id' => ['title' => '', 'description' => '集群ID。', 'type' => 'string', 'example' => 'c23421cfa74454bc8b37163fd19af***'],
+ 'cluster_log' => ['title' => '', 'description' => '日志内容。', 'type' => 'string', 'example' => 'start to update cluster status to CREATE_COMPLETE'],
+ 'created' => ['title' => '', 'description' => '日志产生时间。', 'type' => 'string', 'example' => '2025-04-10T17:54:26+08:00'],
+ 'updated' => ['title' => '', 'description' => '日志更新时间。', 'type' => 'string', 'example' => '2025-04-10T17:54:26+08:00'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
- [
- 'name' => 'force',
- 'in' => 'query',
- 'schema' => [
- 'title' => '是否强制删除。',
- 'description' => 'Specifies whether to forcefully delete the node pool.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query cluster logs',
+ 'changeSet' => [
+ ['createdAt' => '2020-09-10T04:06:26.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterLogs'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- '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',
- ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterLogs',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
- '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',
+ 'translator' => 'machine',
],
'DescribeClusterNodePoolDetail' => [
- 'summary' => 'You can call the DescribeClusterNodePoolDetail.html operation to query the details about a node pool in a cluster by node pool ID.',
+ 'summary' => 'Queries the configuration of a specified node pool in a cluster by node pool ID.',
'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
@@ -10033,1172 +7304,734 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '527',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ '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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', '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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np31da1b38983f4511b490fc62108a****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The details about the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool details.',
'type' => 'object',
'properties' => [
'nodepool_info' => [
- 'title' => '节点池详情。',
- 'description' => 'The configuration of the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool configuration.',
'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',
- ],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np615c0e0966124216a0412e10afe0****'],
+ 'name' => ['title' => '', 'description' => 'The node pool name.', 'type' => 'string', 'example' => 'default-nodepool'],
+ 'type' => ['title' => '', 'description' => 'The node pool type. Valid values:'."\n"
+ .'- `ess`: standard node pool (includes managed and elastic scaling features).'."\n"
+ .'- `edge`: edge node pool.'."\n"
+ .'- `lingjun`: Lingjun node pool.', 'type' => 'string', 'example' => 'ess'],
+ 'is_default' => ['title' => '', 'description' => 'Indicates whether the node pool is the default node pool. A cluster typically has only one default node pool. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Default node pool.'."\n"
+ .'- `false`: Non-default node pool.', 'type' => 'boolean', 'example' => 'true'],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjmb****'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing'],
+ 'created' => ['title' => '', 'description' => 'The time when the node pool was created.', 'type' => 'string', 'example' => '2025-04-10T14:25:37.285530433+08:00'],
+ 'updated' => ['title' => '', 'description' => 'The time when the node pool was last updated.', 'type' => 'string', 'example' => '2025-04-15T15:39:45.41+08:00'],
],
+ 'example' => '',
],
'status' => [
- 'title' => '节点池状态。',
- 'description' => 'The status details about the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool status.',
'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',
- ],
+ 'state' => ['title' => '', 'description' => 'The node pool status. Valid values:'."\n"
+ ."\n"
+ .'- `active`: Active.'."\n"
+ .'- `scaling`: Scaling in progress.'."\n"
+ .'- `removing`: Nodes are being removed.'."\n"
+ .'- `deleting`: Being deleted.'."\n"
+ .'- `updating`: Being updated.', 'type' => 'string', 'example' => 'active'],
+ 'healthy_nodes' => ['title' => '', 'description' => 'The number of healthy nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'initial_nodes' => ['title' => '', 'description' => 'The number of nodes being created.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'failed_nodes' => ['title' => '', 'description' => 'The number of failed nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'offline_nodes' => ['title' => '', 'description' => 'The number of offline nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'removing_nodes' => ['title' => '', 'description' => 'The number of nodes being removed.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'serving_nodes' => ['title' => '', 'description' => 'The number of serving nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'total_nodes' => ['title' => '', 'description' => 'The total number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
'conditions' => [
- 'title' => '节点池现状,表示节点池不同维度的状态信息。',
+ 'title' => '',
+ 'description' => 'The current conditions of the node pool, representing status information across different dimensions.',
'type' => 'array',
'items' => [
- 'title' => '单个状态属性。',
+ 'title' => '',
+ 'description' => 'The individual status condition.',
'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',
- ],
+ 'type' => ['title' => '', 'description' => 'The type.', 'type' => 'string', 'example' => 'ImageUpgradeReady'],
+ 'status' => ['title' => '', 'description' => 'The status.', 'type' => 'string', 'example' => 'True'],
+ 'reason' => ['title' => '', 'description' => 'The reason.', 'type' => 'string', 'example' => 'UpgradeDisabled'],
+ 'message' => ['title' => '', 'description' => 'The detailed message.', 'type' => 'string', 'example' => 'AutoUpgradeDisabled'],
+ 'last_transition_time' => ['title' => '', 'description' => 'The time of the last status transition.', 'type' => 'string', 'example' => '20**-**-30T10:39:00+08:00'],
],
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
'auto_scaling' => [
- 'title' => '节点池自动伸缩信息。',
- 'description' => 'The auto scaling configuration of the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The auto scaling configuration of the node pool.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => 'Specifies whether auto scaling is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables the auto scaling feature for the node pool. When the cluster capacity planning cannot meet the scheduling requirements of application pods, ACK automatically scales nodes based on the configured minimum and maximum instance counts. Clusters of version 1.24 and later use instant node elasticity by default. Clusters of versions earlier than 1.24 use node auto scaling by default. For more information, see [Node scaling](~~2746785~~).'."\n"
+ ."\n"
+ .'- `false`: Disables auto scaling. ACK adjusts the number of nodes in the node pool based on the configured desired node count and maintains the node count at the desired value.'."\n"
+ ."\n"
+ .'When this parameter is set to false, other configuration parameters in `auto_scaling` do not take effect.', 'type' => 'boolean', 'example' => 'true'],
+ 'type' => ['title' => '', 'description' => 'The auto scaling type, categorized by instance type. Valid values:'."\n"
+ ."\n"
+ .'- `cpu`: regular instance type.'."\n"
+ .'- `gpu`: GPU instance type.'."\n"
+ .'- `gpushare`: GPU sharing type.'."\n"
+ .'- `spot`: spot instance type.', 'type' => 'string', 'example' => 'cpu'],
+ 'max_instances' => ['title' => '', 'description' => 'The maximum number of instances that can be scaled in the node pool, excluding your existing instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'min_instances' => ['title' => '', 'description' => 'The minimum number of instances that can be scaled in the node pool, excluding your existing instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'eip_internet_charge_type' => ['title' => '', 'description' => 'The EIP billing type. Valid values:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`: pay-by-bandwidth.'."\n"
+ .'- `PayByTraffic`: pay-by-data-transfer.', 'type' => 'string', 'example' => 'PayByBandwidth'],
+ 'is_bond_eip' => ['title' => '', 'description' => 'Specifies whether to associate an EIP. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Associate an EIP.'."\n"
+ .'- `false`: Do not associate an EIP.', 'type' => 'boolean', 'example' => 'true'],
+ 'eip_bandwidth' => ['title' => '', 'description' => 'The peak bandwidth of the EIP.'."\n"
+ ."\n"
+ .'Valid values: [1,100]. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
],
+ 'example' => '',
],
'management' => [
- 'title' => '托管版节点池配置。',
- 'description' => 'The configuration of the managed node pool feature.'."\n",
+ 'title' => '',
+ 'description' => 'The managed node pool configuration.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => 'Specifies whether to enable the managed node pool. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable the managed node pool.'."\n"
+ .'- `false`: Disable the managed node pool. Other related configurations take effect only when `enable=true`.', 'type' => 'boolean', 'example' => 'true'],
+ 'auto_repair' => ['title' => '', 'description' => 'Specifies whether to enable auto repair. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Enable auto repair.'."\n"
+ .'- `false`: Disable auto repair.', 'type' => 'boolean', 'example' => 'true'],
'auto_repair_policy' => [
- 'title' => '自动修复节点策略。',
- 'description' => 'Automatic repair node policy.',
+ 'title' => '',
+ 'description' => 'The auto repair policy for nodes.',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true`.'."\n"
+ ."\n"
+ .'- `true`: Allow node restart.'."\n"
+ .'- `false`: Do not allow node restart.', 'type' => 'boolean', 'example' => 'true'],
+ 'approval_required' => ['title' => '', 'description' => 'Specifies whether manual approval is required for node repair.', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_repair_policy_id' => ['title' => '', 'description' => 'The auto repair policy ID.', 'type' => 'string', 'example' => 'r-xxxxxxxxxx'],
],
+ 'example' => '',
],
- 'auto_vul_fix' => [
- 'title' => '是否自动修复CVE。',
- 'description' => 'Whether to automatically fix CVEs.',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'auto_vul_fix' => ['title' => '', 'description' => 'Specifies whether to enable automatic CVE fix. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Enable automatic CVE fix.'."\n"
+ .'- `false`: Disable automatic CVE fix.', 'type' => 'boolean', 'example' => 'true'],
'auto_vul_fix_policy' => [
- 'title' => '自动修复CVE策略。',
- 'description' => 'Automatically repair CVE policies.',
+ 'title' => '',
+ 'description' => 'The automatic CVE fix policy.',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix=true`. Valid values:'."\n"
+ .'- `true`: Allow node restart.'."\n"
+ .'- `false`: Do not allow node restart.', 'type' => 'boolean', 'example' => 'true'],
+ 'vul_level' => ['title' => '', 'description' => 'The vulnerability levels that are allowed for automatic fix, separated by commas.'."\n"
+ ."\n"
+ .'- `asap`: high'."\n"
+ .'- `later`: medium'."\n"
+ .'- `nntf`: low', 'type' => 'string', 'example' => 'asap,nntf'],
+ 'exclude_packages' => ['description' => 'The packages to exclude during vulnerability fix.', 'type' => 'string', 'example' => 'kernel', 'title' => ''],
],
+ 'example' => '',
],
- 'auto_upgrade' => [
- 'title' => '是否自动升级。',
- 'description' => 'Whether to automatically upgrade.',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'auto_upgrade' => ['title' => '', 'description' => 'Specifies whether to enable automatic node upgrade. This parameter takes effect only when `enable=true`.'."\n"
+ .'- `true`: Enable automatic upgrade.'."\n"
+ .'- `false`: Disable automatic upgrade.', 'type' => 'boolean', 'example' => 'true'],
'auto_upgrade_policy' => [
- 'title' => '自动升级策略。',
- 'description' => 'Automatic upgrade policy.',
+ 'title' => '',
+ 'description' => 'The automatic upgrade policy.',
'type' => 'object',
'properties' => [
- 'auto_upgrade_kubelet' => [
- 'title' => '是否允许自动升级kubelet。',
- 'description' => 'Whether to allow automatic upgrading of kubelet.',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'auto_upgrade_kubelet' => ['title' => '', 'description' => 'Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: Allow automatic kubelet upgrade.'."\n"
+ .'- `false`: Do not allow automatic kubelet upgrade.', 'type' => 'boolean', 'example' => 'true'],
],
+ 'example' => '',
],
'upgrade_config' => [
- 'title' => '自动升级配置。',
- 'description' => 'The configuration of auto update. The configuration takes effect only when `enable=true` is specified.'."\n",
+ 'title' => '',
+ 'description' => 'The automatic upgrade configuration. This parameter takes effect only when `enable=true`.',
'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',
- ],
+ 'auto_upgrade' => ['title' => '', 'description' => 'Specifies whether to enable automatic upgrade. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable automatic upgrade.'."\n"
+ .'- `false`: Disable automatic upgrade.', 'type' => 'boolean', 'example' => 'true'],
+ 'surge' => ['title' => '', 'description' => 'The number of extra nodes. You can set either this parameter or surge_percentage.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'surge_percentage' => ['title' => '', 'description' => 'The percentage of extra nodes. You can set either this parameter or `surge`.'."\n"
+ ."\n"
+ .'Number of extra nodes = extra node percentage × number of nodes. For example, if the extra node percentage is set to 50% and there are 6 existing nodes, the number of extra nodes = 50% × 6 = 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'max_unavailable' => ['title' => '', 'description' => 'The maximum number of unavailable nodes. Valid values: \\[1,1000\\].'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
],
+ 'example' => '',
],
+ 'auto_fault_diagnosis' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
],
+ 'example' => '',
],
'scaling_group' => [
- 'title' => '节点池扩容组信息。',
- 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The scaling group configuration of the node pool.',
'type' => 'object',
'properties' => [
- 'scaling_group_id' => [
- 'title' => '扩容组ID ',
- 'description' => 'The ID of the scaling group.'."\n",
- 'type' => 'string',
- 'example' => 'asg-2zeieod8giqmov7z****',
- ],
+ 'scaling_group_id' => ['title' => '', 'description' => 'The scaling group ID.', '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",
+ 'title' => '',
+ 'description' => 'The list of vSwitch IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The vSwitch ID.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-2ze3ds0mdip0hdz8i****',
- ],
+ 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze3ds0mdip0hdz8i****', 'title' => ''],
+ 'example' => '',
],
'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",
+ 'title' => '',
+ 'description' => 'The list of node instance types.',
'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',
+ 'items' => ['description' => 'The node instance type.', 'type' => 'string', 'example' => 'ecs.n4.large', 'title' => ''],
+ 'example' => '',
],
+ 'instance_charge_type' => ['title' => '', 'description' => 'The billing type of nodes in the node pool. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: subscription.'."\n"
+ .'- `PostPaid`: pay-as-you-go.', 'type' => 'string', 'example' => 'PostPaid'],
+ 'period' => ['title' => '', 'description' => 'The subscription duration of nodes. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- When `period_unit=Week`, valid values of `period`: {1, 2, 3, 4}.'."\n"
+ .'- When `period_unit=Month`, valid values of `period`: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'period_unit' => ['title' => '', 'description' => 'The unit of the subscription period. This parameter must be specified when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- `Month`: month as the billing unit.'."\n"
+ .'- `Week`: week as the billing unit.', 'type' => 'string', 'example' => 'Month'],
+ 'auto_renew' => ['title' => '', 'description' => 'Specifies whether to enable auto-renewal for nodes. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable auto-renewal.'."\n"
+ .'- `false`: Disable auto-renewal.', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_renew_period' => ['title' => '', 'description' => 'The duration of each auto-renewal cycle. Valid values:'."\n"
+ .'- When PeriodUnit=Week: 1, 2, 3.'."\n"
+ .'- When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'spot_strategy' => ['title' => '', 'description' => 'The type of spot instance. Valid values:'."\n"
+ .'- NoSpot: non-spot instance.'."\n"
+ .'- SpotWithPriceLimit: spot instance with a price limit.'."\n"
+ .'- SpotAsPriceGo: system automatically bids at the current market price.'."\n"
+ ."\n"
+ .'For more information, see [Spot instances](~~157759~~).', 'type' => 'string', 'example' => 'NoSpot'],
'spot_price_limit' => [
- 'title' => '抢占实例价格上限配置。',
- 'description' => 'The bid configurations of preemptible instances.'."\n",
+ 'title' => '',
+ 'description' => 'The price range configuration for spot instances.',
'type' => 'array',
'items' => [
- 'description' => 'Spot instance market price range configuration, allowing different price ranges to be set for various instance types.',
+ 'description' => 'The price range configuration for spot instances. You can set different price ranges for different 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',
- ],
+ 'instance_type' => ['title' => '', 'description' => 'The spot instance type.', 'type' => 'string', 'example' => 'ecs.c6.large'],
+ 'price_limit' => ['title' => '', 'description' => 'The market price per instance.'."\n"
+ ."\n"
+ .'<props="china">Unit: CNY/hour.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n\n"
+ .'<props="intl">Unit: USD/hour.</props>', 'type' => 'string', 'example' => '0.39'],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- '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',
- ],
+ 'example' => '',
+ ],
+ 'image_type' => ['title' => '', 'description' => 'The operating system image type. Valid values:'."\n"
+ .'- `AliyunLinux`: Alinux2 image.'."\n"
+ .'- `AliyunLinuxSecurity`: Alinux2 UEFI image.'."\n"
+ .'- `AliyunLinux3`: Alinux3 image.'."\n"
+ .'- `AliyunLinux3Arm64`: Alinux3 ARM image.'."\n"
+ .'- `AliyunLinux3Security`: Alinux3 UEFI image.'."\n"
+ .'- `CentOS`: CentOS image.'."\n"
+ .'- `Windows`: Windows image.'."\n"
+ .'- `WindowsCore`: WindowsCore image.'."\n"
+ .'- `ContainerOS`: container-optimized image.'."\n"
+ .'- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.', 'type' => 'string', 'example' => 'AliyunLinux3'],
+ 'image_id' => ['title' => '', 'description' => 'The custom image ID.', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20241218.vhd'],
+ 'system_disk_category' => ['title' => '', 'description' => 'The type of the system cloud disk. Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.', '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",
+ 'title' => '',
+ 'description' => 'The multiple cloud disk types for the system cloud disk. When a higher-priority cloud disk type is unavailable, the system automatically attempts the next-priority cloud disk type to create the system cloud disk.',
'type' => 'array',
'items' => [
- 'title' => '节点系统盘类型',
- 'description' => 'The category of the system disk for nodes.'."\n",
+ 'title' => '',
+ 'description' => 'The type of the system cloud disk.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.',
'type' => 'string',
'example' => 'cloud_essd',
'enum' => [],
],
'required' => false,
'maxItems' => 10,
+ 'example' => '',
],
- '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_size' => ['title' => '', 'description' => 'The size of the system cloud disk. Unit: GiB.'."\n"
+ ."\n"
+ .'Valid values: \\[20,2048\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '120'],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'The performance level of the system cloud disk. This parameter takes effect only for ESSD cloud disks. The performance level varies based on the cloud disk size. For more information, see [ESSD cloud disks](~~122389~~).'."\n"
+ .'- PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL2: high maximum concurrent I/O performance with stable read/write latency.'."\n"
+ .'- PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency.', 'type' => 'string', 'example' => 'PL1'],
+ 'system_disk_encrypted' => ['title' => '', 'description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
+ .'- `true`: Encrypted.'."\n"
+ .'- `false`: Not encrypted.', 'type' => 'boolean', 'example' => 'false'],
+ 'system_disk_kms_key_id' => ['title' => '', 'description' => 'The KMS key ID used for the system cloud disk.', '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",
+ 'title' => '',
+ 'description' => 'The encryption algorithm used for the system cloud disk. Valid values: aes-256.',
'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',
- ],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Specifies whether to enable burst (performance burst) for the system cloud disk. Valid values:'."\n"
+ .'- true: Enable. When enabled, the cloud disk temporarily boosts performance during sudden data read/write pressure from fluctuating workloads until the workload stabilizes.'."\n"
+ .'- false: Disable.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'true'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'The provisioned read/write IOPS for the system cloud disk.'."\n"
+ ."\n"
+ .'Valid values: 0~min{50,000, 1000\\*capacity-baseline performance}. Baseline performance=min{1,800+50\\*capacity, 50000}.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', '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' => '块设备初始化配置。',
+ 'title' => '',
+ 'description' => 'The combination of data cloud disk type, size, and other configurations for nodes.',
'type' => 'array',
- 'items' => [
- '$ref' => '#/components/schemas/DiskInit',
- ],
+ 'items' => ['description' => 'The data cloud disk configuration for nodes.', '$ref' => '#/components/schemas/data_disk', 'title' => '', 'example' => ''],
+ 'example' => '',
],
'security_group_ids' => [
- 'title' => '多安全组ID',
- 'description' => 'The IDs of the security groups to which the node pool is added.'."\n",
+ 'title' => '',
+ 'description' => 'The list of security group IDs for the node pool.',
'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',
+ 'items' => ['description' => 'The security group ID of the node pool.', 'type' => 'string', 'example' => 'sg-2ze60ockeekspl3d****', 'title' => ''],
+ 'example' => '',
],
+ 'key_pair' => ['title' => '', 'description' => 'The key pair name. You can set either this parameter or `login_password`. For managed node pools, only `key_pair` is supported.', 'type' => 'string', 'example' => 'pro-nodepool'],
+ 'login_password' => ['title' => '', 'description' => 'The SSH logon password. You can set either this parameter or `key_pair`. The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ ."\n"
+ .'For security purposes, the password is encrypted in query results.', 'type' => 'string', 'example' => '********'],
+ 'login_as_non_root' => ['title' => '', 'description' => 'Specifies whether to log on to the scaled-out ECS instance as a non-root user.'."\n"
+ ."\n"
+ .'- true: Log on as a non-root user (ecs-user).'."\n"
+ ."\n"
+ .'- false: Log on as the root user.', 'type' => 'boolean', 'example' => 'true'],
+ 'cis_enabled' => ['title' => '', 'description' => '[Deprecated] Use the security_hardening_os parameter instead.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false'],
+ 'soc_enabled' => ['title' => '', 'description' => 'Specifies whether to enable MLPS 2.0 security hardening. You can enable MLPS 2.0 security hardening for nodes only when the system image is Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides classified protection compliance baseline check standards and scanning programs for Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 MLPS 2.0 Level 3 images.', 'type' => 'boolean', 'example' => 'false'],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Specifies whether to enable Alibaba Cloud OS security hardening. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable Alibaba Cloud OS security hardening.'."\n"
+ .'- `false`: Disable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false'],
+ 'internet_charge_type' => ['title' => '', 'description' => 'The billing type for the public IP of nodes.'."\n"
+ ."\n"
+ .'- PayByBandwidth: pay-by-bandwidth.'."\n"
+ .'- PayByTraffic: pay-by-data-transfer.', 'type' => 'string', 'example' => 'PayByBandwidth'],
+ 'internet_max_bandwidth_out' => ['title' => '', 'description' => 'The maximum outbound public bandwidth of nodes. Unit: Mbit/s. Valid values: 1 to 100.', '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",
+ 'title' => '',
+ 'description' => 'The ECS instance tags.',
'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',
+ 'items' => ['description' => 'The node tag.', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
],
+ 'desired_size' => ['title' => '', 'description' => 'The desired number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'multi_az_policy' => ['title' => '', 'description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n"
+ ."\n"
+ .'- `PRIORITY`: Scales based on the vSwitches (VSwitchIds.N) that you define. When ECS instances cannot be created in the zone of a higher-priority vSwitch, the system automatically uses the next-priority vSwitch to create ECS instances.'."\n"
+ ."\n"
+ .'- `COST_OPTIMIZED`: Attempts to create instances in order of vCPU unit price from low to high. When the scaling configuration specifies multiple instance types with spot billing, spot instances are created first. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory.'."\n"
+ ."\n"
+ .' >`COST_OPTIMIZED` takes effect only when the scaling configuration specifies multiple instance types or uses spot instances.'."\n"
+ ."\n"
+ .'- `BALANCE`: Evenly allocates ECS instances across the multiple zones specified in the scaling group. If zones become unbalanced due to insufficient inventory, you can call the RebalanceInstances operation to rebalance resources. For more information, see [RebalanceInstances](~~71516~~).'."\n"
+ ."\n"
+ .'Default value: `PRIORITY`.', 'type' => 'string', 'example' => 'BALANCE'],
+ 'scaling_policy' => ['title' => '', 'description' => 'The scaling group mode. Valid values:'."\n"
+ ."\n"
+ .'- `release`: standard mode. Scales by creating and releasing ECS instances based on resource usage.'."\n"
+ .'- `recycle`: swift mode. Scales by creating, stopping, and starting instances, which accelerates subsequent scaling operations. Compute resources are not charged during the stop period. Only storage fees are charged, except for instances with local disks.'."\n"
+ .'[_single.resp.200.props.scaling_group.on_demand', 'type' => 'string', 'example' => 'release'],
+ 'on_demand_base_capacity' => ['title' => '', 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: \\[0,1000\\]. If the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are created first.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'on_demand_percentage_above_base_capacity' => ['title' => '', 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the minimum number of pay-as-you-go instances (`on_demand_base_capacity`) in the scaling group. Valid values: \\[0,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'spot_instance_pools' => ['title' => '', 'description' => 'The number of available instance types. The scaling group creates spot instances across multiple instance types at the lowest cost. Valid values: \\[1,10\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'spot_instance_remedy' => ['title' => '', 'description' => 'Indicates whether spot instance supplementation is enabled. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Spot instance supplementation is enabled.'."\n"
+ .'- `false`: Spot instance supplementation is disabled.', 'type' => 'boolean', 'example' => 'false'],
+ 'compensate_with_on_demand' => ['title' => '', 'description' => 'When `multi_az_policy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory constraints. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Allows automatic creation of pay-as-you-go instances to meet the required number of ECS instances.'."\n"
+ .'- `false`: Does not allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances.', 'type' => 'boolean', 'example' => 'true'],
+ 'deploymentset_id' => ['title' => '', 'description' => 'The deployment set ID.', '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",
+ 'title' => '',
+ 'description' => 'If an ApsaraDB RDS instance list is specified, the ECS instances of cluster nodes are automatically added to the ApsaraDB RDS whitelist.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ApsaraDB RDS instance.'."\n",
- 'type' => 'string',
- 'example' => 'rm-xxx',
- ],
+ 'items' => ['description' => 'The ApsaraDB RDS instance.', 'type' => 'string', 'example' => 'rm-xxx', 'title' => ''],
+ 'example' => '',
],
'private_pool_options' => [
- 'title' => '私有池选项。',
- 'description' => 'The configuration of the private node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The private node pool configuration.',
'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',
- ],
+ 'id' => ['title' => '', 'description' => 'The private node pool ID.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****'],
+ 'match_criteria' => ['title' => '', 'description' => 'The private node pool type. Specifies the private pool capacity option for instance launch. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance launch. Valid values:'."\n"
+ ."\n"
+ .'- `Open`: open mode. Automatically matches open private pool capacity. If no matching private pool capacity is available, public pool resources are used.'."\n"
+ ."\n"
+ .'- `Target`: specified mode. Uses the specified private pool capacity to launch instances. If the private pool capacity is unavailable, the instance fails to launch.'."\n"
+ ."\n"
+ .'- `None`: no private pool mode. The instance launch does not use private pool capacity.', 'type' => 'string', 'example' => 'Open'],
],
+ 'example' => '',
],
- '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****',
- ],
+ 'security_group_id' => ['title' => '', 'description' => 'The security group ID of the node pool. When the node pool is associated with multiple security groups, this is the first value in `security_group_ids`.', 'type' => 'string', 'example' => 'sg-2ze60ockeekspl3d****'],
+ 'platform' => ['title' => '', 'description' => 'The operating system distribution. Valid values:'."\n"
+ ."\n"
+ .'- `CentOS`'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`', 'type' => 'string', 'example' => 'AliyunLinux'],
+ 'ram_policy' => ['title' => '', 'description' => '[This field is deprecated] Use ram_role_name instead.', 'type' => 'string', 'example' => 'KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****'],
'instance_patterns' => [
- 'title' => '实例属性',
- 'description' => 'The instance properties.'."\n",
+ 'title' => '',
+ 'description' => 'The instance attribute configuration.',
'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',
+ 'items' => ['title' => '', 'description' => 'The instance attributes.', '$ref' => '#/components/schemas/instance_patterns', 'example' => ''],
+ 'example' => '',
],
+ 'ram_role_name' => ['title' => '', 'description' => 'The worker RAM role name.', 'type' => 'string', 'example' => 'KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****'],
+ 'instance_metadata_options' => ['title' => '', 'description' => 'The metadata access configuration for ECS instances.', '$ref' => '#/components/schemas/InstanceMetadataOptions', 'example' => ''],
'resource_pool_options' => [
- 'title' => '创建实例时使用的资源池及资源池策略。',
+ 'title' => '',
+ 'description' => 'The resource pools and resource pool strategy used when creating instances.',
'type' => 'object',
'properties' => [
'private_pool_ids' => [
- 'title' => '私有池 ID列表。',
+ 'title' => '',
+ 'description' => 'The list of private pool IDs.',
'type' => 'array',
- 'items' => [
- 'title' => '私有池 ID。',
- 'type' => 'string',
- ],
+ 'items' => ['title' => '', 'description' => 'The private pool ID.', 'type' => 'string', 'example' => 'eap-bp1c1fohub5jccwi****'],
+ 'example' => '',
],
'strategy' => [
- 'title' => '创建实例时使用的资源池策略。取值范围:'."\n"
- .'PrivatePoolFirst:私有池优先。'."\n"
- .'PrivatePoolOnly:仅限私有池。'."\n"
- .'None:不使用资源池策略。',
+ 'title' => '',
+ 'description' => 'The resource pool strategy used when creating instances. Valid values:'."\n"
+ .'PrivatePoolFirst: private pool first.'."\n"
+ .'PrivatePoolOnly: private pool only.'."\n"
+ .'None: no resource pool strategy.',
'type' => 'string',
'example' => 'PrivatePoolFirst',
- 'enum' => [
- 'PrivatePoolFirst',
- 'PrivatePoolOnly',
- 'None',
- ],
+ 'enum' => ['PrivatePoolFirst', 'PrivatePoolOnly', 'None'],
],
],
+ 'example' => '',
],
- 'system_disk_snapshot_policy_id' => [
- 'title' => '系统盘快照策略',
- 'type' => 'string',
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'The system cloud disk snapshot policy.', 'type' => 'string', 'example' => 'sp-bp11g8z59rawcud9****'],
+ 'disk_init' => [
+ 'title' => '',
+ 'description' => 'The block device initialization configuration.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The DiskInit configuration.', '$ref' => '#/components/schemas/DiskInit', 'title' => '', 'example' => ''],
+ 'example' => '',
],
],
+ 'example' => '',
],
'node_config' => [
- 'title' => '节点配置',
- 'description' => 'The node configurations.'."\n",
+ 'title' => '',
+ 'description' => 'The node configuration.',
'type' => 'object',
'properties' => [
- 'kubelet_configuration' => [
- 'title' => 'Kubelet参数配置。',
- 'description' => 'The configurations of the kubelet.'."\n",
- '$ref' => '#/components/schemas/kubelet_config',
- ],
+ 'kubelet_configuration' => ['title' => '', 'description' => 'The Kubelet parameter settings.', '$ref' => '#/components/schemas/kubelet_config', 'example' => ''],
'node_os_config' => [
+ 'description' => 'The node operating system configuration.',
'type' => 'object',
'properties' => [
- 'hugepage' => [
- '$ref' => '#/components/schemas/Hugepage',
- ],
+ 'hugepage' => ['description' => 'The Hugepage configuration.', '$ref' => '#/components/schemas/Hugepage', 'title' => '', 'example' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
'kubernetes_config' => [
- 'title' => '集群配置',
- 'description' => 'The configurations of the cluster in which the node pool is deployed.'."\n",
+ 'title' => '',
+ 'description' => 'The cluster-related configuration.',
'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",
+ 'title' => '',
+ 'description' => 'The node tag.',
'type' => 'array',
- 'items' => [
- 'description' => 'The label added to ECS instances.'."\n",
- '$ref' => '#/components/schemas/tag',
- ],
+ 'items' => ['description' => 'The ECS tag.', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
],
'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",
+ 'title' => '',
+ 'description' => 'The node taint information. Taints work together with tolerations to prevent pods from being scheduled to inappropriate nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).',
'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",
+ 'items' => ['description' => 'The node taint configuration.', '$ref' => '#/components/schemas/taint', 'title' => '', 'example' => ''],
+ 'example' => '',
],
+ 'runtime' => ['title' => '', 'description' => 'The container runtime name. ACK supports the following three container runtimes:'."\n"
+ ."\n"
+ .'- containerd: recommended, supports all cluster versions.'."\n"
+ .'- Sandboxed-Container.runv: sandboxed container, provides higher isolation, supports cluster versions 1.31 and earlier.'."\n"
+ .'- docker: no longer maintained, supports cluster versions 1.22 and earlier.', 'type' => 'string', 'example' => 'containerd'],
+ 'runtime_version' => ['title' => '', 'description' => 'The container runtime version.', 'type' => 'string', 'example' => '1.6.38'],
+ 'cpu_policy' => ['title' => '', 'description' => 'The node CPU management policy. The following two policies are supported for cluster versions 1.12.6 and later:'."\n"
+ ."\n"
+ .'- `static`: allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n"
+ .'- `none`: enables the existing default CPU affinity scheme.', 'type' => 'string', 'example' => 'none'],
+ 'user_data' => ['title' => '', 'description' => 'The custom data of the node pool, which is a script that runs after node initialization. For more information, see [Generate instance user data](~~49121~~).', 'type' => 'string', 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFDSyEi'],
+ 'unschedulable' => ['title' => '', 'description' => 'Indicates whether nodes are unschedulable after scale-out.'."\n"
+ ."\n"
+ .'- true: unschedulable.'."\n"
+ ."\n"
+ .'- false: schedulable.', 'type' => 'boolean', 'example' => 'true'],
+ 'cms_enabled' => ['title' => '', 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information for the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. Valid values:'."\n"
+ ."\n"
+ .'- `true`: installs the CloudMonitor agent on ECS nodes.'."\n"
+ .'- `false`: does not install the CloudMonitor agent on ECS nodes.', 'type' => 'boolean', 'example' => 'true'],
+ 'node_name_mode' => ['title' => '', 'description' => 'The custom node name.'."\n"
+ ."\n"
+ .'The node name consists of three parts: prefix \\+ node IP address substring \\+ suffix:'."\n"
+ .' '."\n"
+ .'- The prefix and suffix can each consist of one or more parts separated by ".". Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit.'."\n"
+ .'- The IP address segment length specifies the number of digits taken from the end of the node IP address. Valid values: 5 to 12.'."\n"
+ .' '."\n"
+ .'For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP address segment length is 5, and the suffix is test, the node name is aliyun.com00055test.', 'type' => 'string', 'example' => 'aliyun.com192.XX.YY.55test'],
+ 'pre_user_data' => ['description' => 'The pre-initialization custom data of the node pool, which is a script that runs before node initialization. For more information, see [Generate instance user data](~~49121~~).', 'type' => 'string', 'example' => 'dGhpcyBpcyBhIGV4YW1wbGU'."\n", 'title' => ''],
],
+ 'example' => '',
],
'tee_config' => [
- 'title' => '加密计算节点池信息。',
- 'description' => 'The configuration of confidential computing.'."\n",
+ 'title' => '',
+ 'description' => 'The confidential computing cluster configuration.',
'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',
- ],
+ 'tee_enable' => ['title' => '', 'description' => 'Specifies whether to enable the confidential computing cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enabled.'."\n"
+ .'- `false`: disabled.', 'type' => 'boolean', 'example' => 'false'],
],
+ 'example' => '',
],
'interconnect_config' => [
- 'title' => '边缘节点池网络相关的配置。该值只对edge类型的节点池有意义',
- 'description' => 'The network configuration of the edge node pool. This parameter takes effect only for edge node pools.'."\n",
+ 'title' => '',
+ 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The network configuration for edge node pools. This value is only meaningful for edge-type node pools.',
'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',
- ],
+ 'cen_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Enterprise Network (CEN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'cen-ey9k9nfhz0f*******'],
+ 'ccn_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Connect Network (CCN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'ccn-qm5i0i0q9yi*******'],
+ 'ccn_region_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The region of the CCN instance bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'cn-shanghai'],
+ 'bandwidth' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The network bandwidth of the enhanced edge node pool, in Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'improved_period' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The subscription duration of the enhanced edge node pool, in months.', 'type' => 'string', 'example' => '1'],
+ ],
+ 'example' => '',
+ ],
+ 'max_nodes' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The maximum number of nodes allowed in the edge node pool.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'interconnect_mode' => ['title' => '', 'description' => 'The network type of the edge node pool. This parameter takes effect only for node pools whose `type` is `edge`. Valid values:'."\n"
+ ."\n"
+ .'- `basic`: public network. Nodes in cloud node pool communicate with cloud nodes over the Internet. Applications in cloud node pool cannot directly access the cloud VPC internal network.'."\n"
+ .'- `private`: private network. Nodes in cloud node pool connect to the cloud through Express Connect, VPN, or CEN, providing higher cloud-edge communication quality and more effective security.', 'type' => 'string', 'example' => 'basic'],
+ 'host_network' => ['title' => '', 'description' => 'Specifies whether the pod network uses host network mode.'."\n"
+ .'- `true`: host network. Pods directly use the host network stack and share the IP address and ports with the host.'."\n"
+ .'- `false`: container network. Pods have independent network stacks and do not occupy host network ports.', 'type' => 'boolean', 'example' => 'true'],
+ 'intranet' => ['title' => '', 'description' => 'Indicates whether nodes within the edge node pool have Layer 3 network connectivity.'."\n"
+ .'- `true`: connected. All nodes within the node pool have Layer 3 network connectivity.'."\n"
+ .'- `false`: not connected. All nodes within the node pool do not have Layer 3 network connectivity.', 'type' => 'boolean', 'example' => 'true'],
'auto_mode' => [
+ 'title' => '',
+ 'description' => 'The intelligent managed configuration.',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'false',
- 'title' => '是否开启智能托管。',
- ],
+ 'enable' => ['title' => '', 'description' => 'Indicates whether this feature is enabled.', 'type' => 'boolean', 'example' => 'false'],
],
- 'title' => '智能托管配置。',
+ 'example' => '',
],
'node_components' => [
- 'title' => '节点组件列表。',
+ 'title' => '',
+ 'description' => 'The list of node components.',
'type' => 'array',
'items' => [
- 'title' => '节点组件。',
+ 'title' => '',
+ 'description' => 'The node component.',
'type' => 'object',
'properties' => [
- 'name' => [
- 'title' => '节点组件名称。',
- 'type' => 'string',
- 'example' => 'kubelet',
- ],
- 'version' => [
- 'title' => '节点组件版本。',
- 'type' => 'string',
- 'example' => '1.33.3-aliyun.1',
- ],
+ 'name' => ['title' => '', 'description' => 'The node component name.', 'type' => 'string', 'example' => 'kubelet'],
+ 'version' => ['title' => '', 'description' => 'The node component version.', 'type' => 'string', 'example' => '1.33.3-aliyun.1'],
'config' => [
- 'title' => '节点组件配置。',
+ 'title' => '',
+ 'description' => 'The node component configuration.',
'type' => 'object',
'properties' => [
'custom_config' => [
- 'title' => '节点组件自定义配置。',
+ 'title' => '',
+ 'description' => 'The node component custom configuration.',
'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => 'cpuManagerPolicy',
- ],
+ 'additionalProperties' => ['description' => 'The node component custom configuration string.', 'type' => 'any', 'example' => 'cpuManagerPolicy', 'title' => ''],
+ 'example' => '{"cpuManagerPolicy":"static"}',
],
],
+ 'example' => '',
],
+ 'config_revision' => ['title' => '', 'type' => 'string', 'example' => '1', 'description' => ''],
],
+ 'example' => '',
],
+ 'example' => '',
+ ],
+ 'eflo_node_group' => [
+ 'title' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'type' => 'string', 'example' => 'i113790071760688002461', 'description' => ''],
+ 'group_id' => ['title' => '', 'type' => 'string', 'example' => 'i128147721760688002463', 'description' => ''],
+ 'auto_attach_enabled' => ['title' => '', 'type' => 'boolean', 'example' => '', 'description' => ''],
+ 'worker_ram_role_name' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
'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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'title' => 'Query node pool configuration',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-29T06:45:00.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2026-01-26T09:09:52.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-11-25T12:00:56.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-11-24T09:15:07.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-11-05T05:59:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-09-23T07:52:12.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-09-20T05:31:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-08-19T06:29:04.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-07-29T06:36:24.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-06-10T05:44:57.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:22.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:22.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-04-28T03:26:50.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-11-05T11:32:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-09-27T01:50:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-07-09T07:02:31.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-06-13T09:52:32.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-06-13T02:59:20.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-04-22T08:24:29.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-01-19T11:04:04.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-12-13T10:51:26.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-10-17T08:45:15.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-23T01:39:30.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2020-09-23T11:27:54.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2020-09-23T11:27:54.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodePoolDetail'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodePoolDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"ImageUpgradeReady\\",\\n \\"status\\": \\"True\\",\\n \\"reason\\": \\"UpgradeDisabled\\",\\n \\"message\\": \\"AutoUpgradeDisabled\\",\\n \\"last_transition_time\\": \\"20**-**-30T10:39:00+08:00\\"\\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\\": \\"kernel\\"\\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 \\"auto_fault_diagnosis\\": false\\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 \\"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 \\"ecs.c6\\"\\n ],\\n \\"minimum_eni_quantity\\": 3,\\n \\"minimum_eni_private_ip_address_quantity\\": 10,\\n \\"minimum_eni_ipv6_address_quantity\\": 1,\\n \\"maximum_gpu_amount\\": 8\\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 \\"eap-bp1c1fohub5jccwi****\\"\\n ],\\n \\"strategy\\": \\"PrivatePoolFirst\\"\\n },\\n \\"system_disk_snapshot_policy_id\\": \\"sp-bp11g8z59rawcud9****\\",\\n \\"disk_init\\": [\\n {\\n \\"disk_name\\": \\"disk0\\",\\n \\"mkfs_type\\": \\"ext4\\",\\n \\"mount_target\\": \\"/mnt/disk0\\",\\n \\"mount_for_runtime\\": false,\\n \\"local_disk\\": false\\n }\\n ]\\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 \\"net.core.somaxconn\\"\\n ],\\n \\"reservedMemory\\": [\\n {\\n \\"numaNode\\": 0,\\n \\"limits\\": {\\n \\"memory\\": \\"1Gi\\"\\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 \\"127.0.xx.xx\\"\\n ],\\n \\"tracing\\": {\\n \\"endpoint\\": \\"localhost:4317\\",\\n \\"samplingRatePerMillion\\": 200000\\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 \\"config_revision\\": \\"1\\"\\n }\\n ],\\n \\"eflo_node_group\\": {\\n \\"cluster_id\\": \\"i113790071760688002461\\",\\n \\"group_id\\": \\"i128147721760688002463\\",\\n \\"auto_attach_enabled\\": false,\\n \\"worker_ram_role_name\\": \\"\\"\\n }\\n}","type":"json"}]',
],
'DescribeClusterNodePools' => [
- 'summary' => 'Queries the information about all node pools in a cluster.',
'path' => '/clusters/{ClusterId}/nodepools',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
@@ -11206,1168 +8039,654 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '556',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ '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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cc0f87de0b8fb403f86e10e204f83****'],
],
[
'name' => 'NodepoolName',
'in' => 'query',
- 'schema' => [
- 'description' => 'Node pool name.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nodepool-test'."\n",
- ],
+ 'schema' => ['description' => 'The node pool name.', 'type' => 'string', 'required' => false, 'example' => 'nodepool-test'."\n", 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体',
- 'description' => 'The details of the node pools.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool details.',
'type' => 'object',
'properties' => [
'nodepools' => [
- 'title' => '节点池列表',
- 'description' => 'The node pools.'."\n",
+ 'title' => '',
+ 'description' => 'The list of node pool instances.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the node pool.'."\n",
+ 'description' => 'The node pool instance details.',
'type' => 'object',
'properties' => [
'nodepool_info' => [
- 'title' => '节点池详情。',
- 'description' => 'The information about the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool information.',
'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',
- ],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np615c0e0966124216a0412e10afe0****'],
+ 'name' => ['title' => '', 'description' => 'The node pool name.', 'type' => 'string', 'example' => 'default-nodepool'],
+ 'type' => ['title' => '', 'description' => 'The node pool type. Valid values:'."\n"
+ ."\n"
+ .'- `ess`: standard node pool (includes managed and elastic scaling features).'."\n"
+ .'- `edge`: edge node pool.'."\n"
+ .'- `lingjun`: Lingjun node pool.', 'type' => 'string', 'example' => 'ess'],
+ 'is_default' => ['title' => '', 'description' => 'Indicates whether this is the default node pool. A cluster typically has only one default node pool. Valid values:'."\n"
+ ."\n"
+ .'- `true`: This is the default node pool.'."\n"
+ .'- `false`: This is not the default node pool.', 'type' => 'boolean', 'example' => 'true'],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing'],
+ 'created' => ['title' => '', 'description' => 'The time when the node pool was created.', 'type' => 'string', 'example' => '2025-04-15T16:33:29.362888807+08:00'],
+ 'updated' => ['title' => '', 'description' => 'The time when the node pool was last updated.', 'type' => 'string', 'example' => '2025-04-15T16:33:32.823+08:00'],
],
+ 'example' => '',
],
'status' => [
- 'title' => '节点池状态。',
- 'description' => 'The status of the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool status.',
'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',
- ],
+ 'state' => ['title' => '', 'description' => 'The node pool status. Valid values:'."\n"
+ ."\n"
+ .'- `active`: Active.'."\n"
+ .'- `scaling`: Scaling.'."\n"
+ .'- `removing`: Removing nodes.'."\n"
+ .'- `deleting`: Deleting.'."\n"
+ .'- `updating`: Updating.', 'type' => 'string', 'example' => 'active'],
+ 'healthy_nodes' => ['title' => '', 'description' => 'The number of healthy instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'initial_nodes' => ['title' => '', 'description' => 'The number of nodes being created.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'failed_nodes' => ['title' => '', 'description' => 'The number of failed instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'offline_nodes' => ['title' => '', 'description' => 'The number of offline nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'removing_nodes' => ['title' => '', 'description' => 'The number of nodes being removed.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'serving_nodes' => ['title' => '', 'description' => 'The number of nodes in the serving state.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'total_nodes' => ['title' => '', 'description' => 'The total number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
],
+ 'example' => '',
],
'auto_scaling' => [
- 'title' => '节点池自动伸缩信息。',
- 'description' => 'The configurations about auto scaling.'."\n",
+ 'title' => '',
+ 'description' => 'The auto scaling configuration.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => 'Specifies whether auto scaling is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables the auto scaling feature for the node pool. When the cluster capacity planning cannot meet application Pod scheduling requirements, ACK automatically scales node resources based on the configured minimum and maximum instance counts. Clusters of version 1.24 and later use instant node elasticity by default. Clusters of versions earlier than 1.24 use node auto scaling by default. For more information, see [Node scaling](~~2746785~~).'."\n"
+ ."\n"
+ .'- `false`: Disables auto scaling. ACK adjusts the number of nodes in the node pool based on the configured desired node count and maintains the node count at the desired value.'."\n"
+ ."\n"
+ .'When the value is false, other configuration parameters in `auto_scaling` do not take effect.', 'type' => 'boolean', 'example' => 'true'],
+ 'type' => ['title' => '', 'description' => 'The auto scaling type, categorized by instance type. Valid values:'."\n"
+ ."\n"
+ .'- `cpu`: regular instance type.'."\n"
+ .'- `gpu`: GPU instance type.'."\n"
+ .'- `gpushare`: GPU shared type.'."\n"
+ .'- `spot`: spot instance type.', 'type' => 'string', 'example' => 'cpu'],
+ 'max_instances' => ['title' => '', 'description' => 'The maximum number of instances that can be scaled in the node pool, excluding your existing instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'min_instances' => ['title' => '', 'description' => 'The minimum number of instances that can be scaled in the node pool, excluding your existing instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'eip_internet_charge_type' => ['title' => '', 'description' => 'The EIP billing type. Valid values:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`: pay-by-bandwidth.'."\n"
+ .'- `PayByTraffic`: pay-by-traffic.', 'type' => 'string', 'example' => 'PayByBandwidth'],
+ 'is_bond_eip' => ['title' => '', 'description' => 'Specifies whether an EIP is associated. Valid values:'."\n"
+ ."\n"
+ .'- `true`: An EIP is associated.'."\n"
+ .'- `false`: No EIP is associated.', 'type' => 'boolean', 'example' => 'true'],
+ 'eip_bandwidth' => ['title' => '', 'description' => 'The EIP peak bandwidth.'."\n"
+ ."\n"
+ .'Valid values: [1,100]. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
],
+ 'example' => '',
],
'management' => [
- 'title' => '托管版节点池配置。',
- 'description' => 'The configuration of the managed node pool feature. The configuration takes effect only for ACK Pro managed clusters.'."\n",
+ 'title' => '',
+ 'description' => 'The managed node pool configuration. This configuration takes effect only in professional managed clusters.',
'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',
- ],
+ 'enable' => ['title' => '', 'description' => 'Specifies whether the managed node pool is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables the managed node pool.'."\n"
+ .'- `false`: Disables the managed node pool. Other related configurations take effect only when `enable=true`.', 'type' => 'boolean', 'example' => 'true'],
+ 'auto_repair' => ['title' => '', 'description' => 'Specifies whether auto repair is enabled. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Enables auto repair.'."\n"
+ .'- `false`: Disables auto repair.', 'type' => 'boolean', 'example' => 'true'],
'auto_repair_policy' => [
- 'title' => '自动修复节点策略。',
- 'description' => 'The auto node repair policy.'."\n",
+ 'title' => '',
+ 'description' => 'The auto repair node policy.',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether node restart is allowed. This parameter takes effect only when `auto_repair=true`.'."\n"
+ ."\n"
+ .'- `true`: Node restart is allowed.'."\n"
+ .'- `false`: Node restart is not allowed.', 'type' => 'boolean', 'example' => 'true'],
+ 'approval_required' => ['title' => '', 'description' => 'Indicates whether manual approval is required for node repair.', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_repair_policy_id' => ['title' => '', 'description' => 'The ID of the auto repair policy.', 'type' => 'string', 'example' => 'r-xxxxxxxxx'],
],
+ 'example' => '',
],
- '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' => ['title' => '', 'description' => 'Specifies whether automatic CVE fix is enabled. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Enables automatic CVE fix.'."\n"
+ .'- `false`: Disables automatic CVE fix.', 'type' => 'boolean', 'example' => 'true'],
'auto_vul_fix_policy' => [
- 'title' => '自动修复CVE策略。',
- 'description' => 'The auto CVE patching policy.'."\n",
+ 'title' => '',
+ 'description' => 'The automatic CVE fix policy.',
'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',
- ],
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether node restart is allowed. This parameter takes effect only when `auto_vul_fix=true`. Valid values:'."\n"
+ .'- `true`: Node restart is allowed.'."\n"
+ .'- `false`: Node restart is not allowed.', 'type' => 'boolean', 'example' => 'true'],
+ 'vul_level' => ['title' => '', 'description' => 'The vulnerability levels allowed for automatic fix, separated by commas.'."\n"
+ ."\n"
+ .'- `asap`: high'."\n"
+ .'- `later`: medium'."\n"
+ .'- `nntf`: low', 'type' => 'string', 'example' => 'asap,nntf'],
+ 'exclude_packages' => ['title' => '', 'description' => 'The packages to exclude during vulnerability fix.', 'type' => 'string', 'example' => 'kernel'],
],
+ 'example' => '',
],
- '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' => ['title' => '', 'description' => 'Specifies whether auto upgrade is enabled for nodes. This parameter takes effect only when `enable=true`.'."\n"
+ .'- `true`: Enables auto upgrade.'."\n"
+ .'- `false`: Disables auto upgrade.', 'type' => 'boolean', 'example' => 'true'],
'auto_upgrade_policy' => [
- 'title' => '自动升级策略。',
- 'description' => 'The auto update policy.'."\n",
+ 'title' => '',
+ 'description' => 'The auto upgrade policy.',
'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',
- ],
+ 'auto_upgrade_kubelet' => ['title' => '', 'description' => 'Specifies whether automatic kubelet upgrade is allowed. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: Automatic kubelet upgrade is allowed.'."\n"
+ .'- `false`: Automatic kubelet upgrade is not allowed.', 'type' => 'boolean', 'example' => 'true'],
],
+ 'example' => '',
],
'upgrade_config' => [
- 'title' => '自动升级配置。',
- 'description' => 'The configurations of auto update. The configurations take effect only if `enable` is set to true.'."\n",
+ 'title' => '',
+ 'description' => 'The auto upgrade configuration. This parameter takes effect only when `enable=true`.',
'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',
- ],
+ 'auto_upgrade' => ['title' => '', 'description' => 'Specifies whether auto upgrade is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables auto upgrade.'."\n"
+ .'- `false`: Disables auto upgrade.', 'type' => 'boolean', 'example' => 'true'],
+ 'surge' => ['title' => '', 'description' => 'The number of extra nodes. This parameter is mutually exclusive with `surge_percentage`.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'surge_percentage' => ['title' => '', 'description' => 'The percentage of extra nodes. This parameter is mutually exclusive with `surge`.'."\n"
+ ."\n"
+ .'Number of extra nodes = percentage of extra nodes × number of nodes. For example, if the percentage is set to 50% and there are 6 existing nodes, the number of extra nodes = 50% × 6 = 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'max_unavailable' => ['title' => '', 'description' => 'The maximum number of unavailable nodes. Valid values: \\[1,1000\\].'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
],
+ 'example' => '',
],
+ 'auto_fault_diagnosis' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
+ 'example' => '',
],
'scaling_group' => [
- 'title' => '节点池扩容组信息。',
- 'description' => 'The configurations of the scaling group that is used by the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The node pool scaling group configuration.',
'type' => 'object',
'properties' => [
- 'scaling_group_id' => [
- 'title' => '扩容组ID ',
- 'description' => 'The scaling group ID.'."\n",
- 'type' => 'string',
- 'example' => 'asg-2ze8n5qw4atggut8****',
- ],
+ 'scaling_group_id' => ['title' => '', 'description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-2ze8n5qw4atggut8****'],
'vswitch_ids' => [
- 'title' => '虚拟交换机ID。',
- 'description' => 'The vSwitch IDs.'."\n",
+ 'title' => '',
+ 'description' => 'The list of vSwitch IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The vSwitch ID.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-2ze3ds0mdip0hdz8i****',
- ],
+ 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze3ds0mdip0hdz8i****', 'title' => ''],
+ 'example' => '',
],
'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",
+ 'title' => '',
+ 'description' => 'The list of node instance types. You can select multiple instance types as alternatives. During node creation, the system attempts to purchase instances starting from the first specification until successful. The final purchased instance type may vary depending on inventory availability.',
'type' => 'array',
- 'items' => [
- 'description' => 'The instance types of the nodes in the node pool.'."\n",
- 'type' => 'string',
- 'example' => 'ecs.n4.large',
- ],
+ 'items' => ['description' => 'The node instance type.', 'type' => 'string', 'example' => 'ecs.n4.large', 'title' => ''],
'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',
- ],
+ 'instance_charge_type' => ['title' => '', 'description' => 'The billing type of nodes in the node pool. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: subscription.'."\n"
+ .'- `PostPaid`: pay-as-you-go.', 'type' => 'string', 'example' => 'PostPaid'],
+ 'period' => ['title' => '', 'description' => 'The subscription duration of nodes. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- When `period_unit=Week`, valid values of `period`: {1, 2, 3, 4}.'."\n"
+ .'- When `period_unit=Month`, valid values of `period`: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'period_unit' => ['title' => '', 'description' => 'The subscription period unit. This parameter must be specified when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- `Month`: month as the time unit.'."\n"
+ .'- `Week`: week as the time unit.', 'type' => 'string', 'example' => 'Month'],
+ 'auto_renew' => ['title' => '', 'description' => 'Specifies whether auto-renewal is enabled for nodes. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables auto-renewal.'."\n"
+ .'- `false`: Disables auto-renewal.', 'type' => 'boolean', 'example' => 'false'],
+ 'auto_renew_period' => ['title' => '', 'description' => 'The duration of each auto-renewal cycle. Valid values:'."\n"
+ .'- When PeriodUnit=Week: 1, 2, 3.'."\n"
+ .'- When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'spot_strategy' => ['title' => '', 'description' => 'The spot instance type. Valid values:'."\n"
+ .'- NoSpot: non-spot instance.'."\n"
+ .'- SpotWithPriceLimit: spot instance with a price limit.'."\n"
+ .'- SpotAsPriceGo: system automatically bids at the current market price.'."\n"
+ ."\n"
+ .'For more information, see [Spot instances](~~157759~~).', 'type' => 'string', 'example' => 'NoSpot'],
'spot_price_limit' => [
- 'title' => '抢占实例价格上限配置。',
- 'description' => 'The bid configurations of preemptible instances.'."\n",
+ 'title' => '',
+ 'description' => 'The spot instance market price range configuration.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The spot instance market price range configuration. You can set different price ranges for different instance types.',
'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',
- ],
+ 'instance_type' => ['title' => '', 'description' => 'The spot instance type.', 'type' => 'string', 'example' => 'ecs.c6.large'],
+ 'price_limit' => ['title' => '', 'description' => 'The market price range per instance.'."\n"
+ ."\n"
+ .'<props="china">Unit: CNY/hour.</props>'."\n"
+ ."\n"
+ .'<props="intl">Unit: USD/hour.</props>', 'type' => 'string', 'example' => '0.39'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
- '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',
- ],
+ 'image_type' => ['title' => '', 'description' => 'The operating system image type. Valid values:'."\n"
+ .'- `AliyunLinux`: Alinux2 image.'."\n"
+ .'- `AliyunLinuxSecurity`: Alinux2 UEFI image.'."\n"
+ .'- `AliyunLinux3`: Alinux3 image.'."\n"
+ .'- `AliyunLinux3Arm64`: Alinux3 ARM image.'."\n"
+ .'- `AliyunLinux3Security`: Alinux3 UEFI image.'."\n"
+ .'- `CentOS`: CentOS image.'."\n"
+ .'- `Windows`: Windows image.'."\n"
+ .'- `WindowsCore`: WindowsCore image.'."\n"
+ .'- `ContainerOS`: container-optimized image.'."\n"
+ .'- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.', 'type' => 'string', 'example' => 'AliyunLinux3'],
+ 'image_id' => ['title' => '', 'description' => 'The custom image ID. You can call `DescribeKubernetesVersionMetadata` to query the images supported by the system.', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20241218.vhd'],
+ 'system_disk_category' => ['title' => '', 'description' => 'The node system cloud disk type. Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.', '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",
+ 'title' => '',
+ 'description' => 'The multiple system cloud disk types. When a higher-priority disk type is unavailable, the system automatically attempts the next-priority disk type to create the system cloud disk.',
'type' => 'array',
'items' => [
- 'title' => '节点系统盘类型',
- 'description' => 'The system disk category.'."\n"
+ 'title' => '',
+ 'description' => 'The node system cloud disk type.'."\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",
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.',
'type' => 'string',
- 'example' => 'ESSD',
+ 'example' => 'EESSD云盘',
'enum' => [],
],
'required' => false,
'maxItems' => 10,
+ 'example' => '',
],
- '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_size' => ['title' => '', 'description' => 'The node system cloud disk size. Unit: GiB.'."\n"
+ ."\n"
+ .'Valid values: \\[20,2048\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '120'],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'The node system cloud disk performance level. This parameter takes effect only for ESSD cloud disks. The performance level is related to the disk size. For more information, see [ESSD cloud disks](~~122389~~).'."\n"
+ .'- PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL2: high maximum concurrent I/O performance with stable read/write latency.'."\n"
+ .'- PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency.', 'type' => 'string', 'example' => 'PL1'],
+ 'system_disk_encrypted' => ['title' => '', 'description' => 'Specifies whether the system cloud disk is encrypted. Valid values:'."\n"
+ ."\n"
+ .'- true: Encrypted.'."\n"
+ .'- false: Not encrypted.', 'type' => 'boolean', 'example' => 'false'],
+ 'system_disk_kms_key_id' => ['title' => '', 'description' => 'The KMS key ID used by the system cloud disk.', '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",
+ 'title' => '',
+ 'description' => 'The encryption algorithm used by the system cloud disk. Valid values: aes-256.',
'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',
- ],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Specifies whether burst (performance burst) is enabled for the node system cloud disk. Valid values:'."\n"
+ .'- true: Enabled. When enabled, the cloud disk temporarily boosts performance during sudden data read/write pressure until the workload stabilizes.'."\n"
+ .'- false: Disabled.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'true'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'The provisioned read/write IOPS for the node system cloud disk. This parameter is applicable 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 mounted to the nodes in the node pool. The configurations include the disk category and disk size.'."\n",
+ 'title' => '',
+ 'description' => 'The combination of data cloud disk type, size, and other configurations for nodes.',
'type' => 'array',
- 'items' => [
- 'description' => 'The configurations of the node data disks.'."\n",
- '$ref' => '#/components/schemas/data_disk',
- ],
+ 'items' => ['description' => 'The node data cloud disk configuration.', '$ref' => '#/components/schemas/data_disk', 'title' => '', 'example' => ''],
+ 'example' => '',
],
'disk_init' => [
- 'title' => '块设备初始化配置。',
+ 'title' => '',
+ 'description' => 'The block device initialization configuration.',
'type' => 'array',
- 'items' => [
- '$ref' => '#/components/schemas/DiskInit',
- ],
+ 'items' => ['description' => 'The DiskInit configuration.', '$ref' => '#/components/schemas/DiskInit', 'title' => '', 'example' => ''],
+ 'example' => '',
],
'security_group_ids' => [
- 'title' => '多安全组ID',
- 'description' => 'The IDs of security groups for the node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The list of security group IDs for the node pool.',
'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',
+ 'items' => ['description' => 'The list of security group IDs for the node pool.', 'type' => 'string', 'example' => 'sg-2ze1iuk12m2sb4c4****', 'title' => ''],
+ 'example' => '',
],
+ 'key_pair' => ['title' => '', 'description' => 'The key pair name. This parameter is mutually exclusive with `login_password`.'."\n"
+ ."\n"
+ .'For managed node pools, only `key_pair` is supported.', 'type' => 'string', 'example' => 'pro-nodepool'],
+ 'login_password' => ['title' => '', 'description' => 'The SSH login password. This parameter is mutually exclusive with `key_pair`. Logon password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ ."\n"
+ .'For security purposes, logon password is encrypted in query results.', 'type' => 'string', 'example' => '******'],
+ 'login_as_non_root' => ['title' => '', 'description' => 'Specifies whether to log on to the scaled ECS instance as a non-root user.'."\n"
+ ."\n"
+ .'- true: Log on as a non-root user (ecs-user).'."\n"
+ ."\n"
+ .'- false: Log on as the root user.', 'type' => 'boolean', 'example' => 'true'],
+ 'cis_enabled' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'Use the security_hardening_os parameter instead.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false'],
+ 'soc_enabled' => ['title' => '', 'description' => 'Specifies whether MLPS 2.0 security hardening is enabled. This feature can be enabled only when the system image is Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides classified protection compliance baseline check standards and scanning programs for Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 MLPS 2.0 Level 3 images.', 'type' => 'boolean', 'example' => 'false'],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Specifies whether Alibaba Cloud OS security hardening is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enabled.'."\n"
+ .'- `false`: Disabled.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false'],
+ 'internet_charge_type' => ['title' => '', 'description' => 'The billing type for node public IP addresses.'."\n"
+ ."\n"
+ .'- PayByBandwidth: pay-by-bandwidth.'."\n"
+ .'- PayByTraffic: pay-by-traffic.', 'type' => 'string', 'example' => 'PayByBandwidth'],
+ 'internet_max_bandwidth_out' => ['title' => '', 'description' => 'The maximum outbound public bandwidth for nodes. Unit: Mbit/s. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
'tags' => [
- 'title' => 'ECS标签',
- 'description' => 'The label to be added to the ECS instances.'."\n",
+ 'title' => '',
+ 'description' => 'The ECS instance labels.',
'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',
+ 'items' => ['description' => 'The node tag.', '$ref' => '#/components/schemas/tag', 'example' => '[{\\"key\\":\\"pkg.E2EClient.ClusterId\\",\\"value\\":\\"troopers-\\"}]', 'title' => ''],
+ 'example' => '',
],
+ 'desired_size' => ['title' => '', 'description' => 'The desired number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'multi_az_policy' => ['title' => '', 'description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n"
+ ."\n"
+ .'- `PRIORITY`: Scales based on the vSwitches (VSwitchIds.N) that you define. When ECS instances cannot be created in the zone of the vSwitch with the highest priority, the system automatically uses the next-priority vSwitch to create ECS instances.'."\n"
+ ."\n"
+ .'- `COST_OPTIMIZED`: Creates instances based on the unit price of vCPUs, in ascending order. When the scaling configuration sets multiple instance types with preemptible billing methods, spot instances are preferentially created. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory.'."\n"
+ ."\n"
+ .' >`COST_OPTIMIZED` takes effect only when multiple instance types are specified in the scaling configuration or the preemptible instance type is used.'."\n"
+ ."\n"
+ .'- `BALANCE`: Allocates ECS instances evenly across the multiple active zones specified in the scaling group. If the zones become unbalanced due to insufficient inventory, you can call the `RebalanceInstances` API operation to rebalance resources. For more information, see [RebalanceInstances](~~71516~~).', 'type' => 'string', 'example' => 'COST_OPTIMIZED'],
+ 'scaling_policy' => ['title' => '', 'description' => 'The scaling group mode. Valid values:'."\n"
+ ."\n"
+ .'- `release`: Standard mode. Scales by creating and releasing ECS instances based on resource usage.'."\n"
+ .'- `recycle`: Swift mode. Scales by creating, stopping, and starting ECS instances, which improves the speed of subsequent scaling operations. Compute resources are not charged during the stopped state. Only storage fees are charged, except for instances with local disks.', 'type' => 'string', 'example' => 'release'],
+ 'on_demand_base_capacity' => ['title' => '', 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: \\[0,1000\\]. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are preferentially created.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'on_demand_percentage_above_base_capacity' => ['title' => '', 'description' => 'The percentage of pay-as-you-go instances among the extra instances that exceed the minimum number of pay-as-you-go instances (`on_demand_base_capacity`). Valid values: \\[0,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'spot_instance_pools' => ['title' => '', 'description' => 'The number of available instance types. The scaling group creates spot instances of multiple types at the lowest cost. Valid values: \\[1,10\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'spot_instance_remedy' => ['title' => '', 'description' => 'Specifies whether to enable supplementing spot instances. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables supplementing spot instances.'."\n"
+ .'- `false`: Disables supplementing spot instances.', 'type' => 'boolean', 'example' => 'false'],
+ 'compensate_with_on_demand' => ['title' => '', 'description' => 'When `multi_az_policy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Allows automatic creation of pay-as-you-go instances to meet the required number of ECS instances.'."\n"
+ .'- `false`: Does not allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances.', 'type' => 'boolean', 'example' => 'true'],
+ 'deploymentset_id' => ['title' => '', 'description' => 'The deployment set ID.', '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",
+ 'title' => '',
+ 'description' => 'If an RDS instance list is specified, the ECS instances in the cluster nodes are automatically added to the RDS access whitelist.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ApsaraDB RDS instance.'."\n",
- 'type' => 'string',
- 'example' => 'rm-xxx',
- ],
+ 'items' => ['description' => 'The RDS instance.', 'type' => 'string', 'example' => 'rm-xxx', 'title' => ''],
+ 'example' => '',
],
'private_pool_options' => [
- 'title' => '私有池选项。',
- 'description' => 'The configurations of the private node pool.'."\n",
+ 'title' => '',
+ 'description' => 'The private pool options.',
'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',
- ],
+ 'id' => ['title' => '', 'description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****'],
+ 'match_criteria' => ['title' => '', 'description' => 'The private node pool type. Specifies the private pool capacity option for instance launch. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance launch. Valid values:'."\n"
+ ."\n"
+ .'- `Open`: Open mode. Automatically matches open-type private pool capacity. If no matching private pool capacity is available, public pool resources are used.'."\n"
+ ."\n"
+ .'- `Target`: Specified mode. Uses the specified private pool capacity to launch instances. If the private pool capacity is unavailable, instance launch fails.'."\n"
+ ."\n"
+ .'- `None`: Not used mode. Instance launch does not use private pool capacity.', 'type' => 'string', 'example' => 'Open'],
],
+ 'example' => '',
],
- '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****',
- ],
+ 'security_group_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The security group ID of the node pool. When the node pool is associated with multiple security groups, this is the first value in `security_group_ids`.', 'type' => 'string', 'example' => 'sg-2ze1iuk12m2sb4c4****'],
+ 'platform' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The operating system distribution. Valid values:'."\n"
+ ."\n"
+ .'- `CentOS`'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`', 'type' => 'string', 'example' => 'AliyunLinux'],
+ 'ram_policy' => ['title' => '', 'description' => 'This field is deprecated. Use ram_role_name instead.', 'type' => 'string', 'example' => 'KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e****'],
'instance_patterns' => [
- 'title' => '实例属性',
- 'description' => 'The attribute configurations of the instance.'."\n",
+ 'title' => '',
+ 'description' => 'The instance attribute configurations.',
'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****',
+ 'items' => ['title' => '', 'description' => 'The instance attributes.', '$ref' => '#/components/schemas/instance_patterns', 'example' => ''],
+ 'example' => '',
],
+ 'ram_role_name' => ['title' => '', 'description' => 'The worker RAM role name.', 'type' => 'string', 'example' => 'KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****'],
'resource_pool_options' => [
- 'title' => '创建实例时使用的资源池及资源池策略。',
+ 'title' => '',
+ 'description' => 'The resource pool and resource pool policy used when creating instances.',
'type' => 'object',
'properties' => [
'strategy' => [
- 'title' => '创建实例时使用的资源池策略。取值范围:'."\n"
- .'PrivatePoolFirst:私有池优先。'."\n"
- .'PrivatePoolOnly:仅限私有池。'."\n"
- .'None:不使用资源池策略。',
+ 'title' => '',
+ 'description' => 'The resource pool policy used when creating instances. Valid values:'."\n"
+ .'PrivatePoolFirst: Private pool first.'."\n"
+ .'PrivatePoolOnly: Private pool only.'."\n"
+ .'None: No resource pool policy.',
'type' => 'string',
'example' => 'PrivatePoolFirst',
- 'enum' => [
- 'PrivatePoolFirst',
- 'PrivatePoolOnly',
- 'None',
- ],
+ 'enum' => ['PrivatePoolFirst', 'PrivatePoolOnly', 'None'],
],
'private_pool_ids' => [
- 'title' => '私有池 ID列表。',
+ 'title' => '',
+ 'description' => 'The list of private pool IDs.',
'type' => 'array',
- 'items' => [
- 'title' => '私有池 ID。',
- 'type' => 'string',
- ],
+ 'items' => ['title' => '', 'description' => 'The private pool ID.', 'type' => 'string', 'example' => 'eap-bp1c1fohub5jccwi****'],
+ 'example' => '',
],
],
+ 'example' => '',
],
- 'system_disk_snapshot_policy_id' => [
- 'title' => '系统盘快照策略',
- 'type' => 'string',
- ],
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'The snapshot policy for the system cloud disk.', 'type' => 'string', 'example' => 'sp-0jl6xnmme8v7o935****'],
],
+ 'example' => '',
],
'node_config' => [
- 'title' => '节点配置',
- 'description' => 'The configurations of nodes.'."\n",
+ 'title' => '',
+ 'description' => 'The node configuration.',
'type' => 'object',
'properties' => [
- 'kubelet_configuration' => [
- 'title' => 'Kubelet参数配置。',
- 'description' => 'The parameter settings of the kubelet.'."\n",
- '$ref' => '#/components/schemas/kubelet_config',
- ],
+ 'kubelet_configuration' => ['title' => '', 'description' => 'The Kubelet parameter settings.', '$ref' => '#/components/schemas/kubelet_config', 'example' => ''],
'node_os_config' => [
+ 'description' => 'The node operating system configuration.',
'type' => 'object',
'properties' => [
- 'hugepage' => [
- '$ref' => '#/components/schemas/Hugepage',
- ],
+ 'hugepage' => ['description' => 'The hugepage configuration.', '$ref' => '#/components/schemas/Hugepage', 'title' => '', 'example' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
'kubernetes_config' => [
- 'title' => '集群配置',
- 'description' => 'The configurations of the cluster.'."\n",
+ 'title' => '',
+ 'description' => 'The cluster-related configuration.',
'type' => 'object',
'properties' => [
'labels' => [
- 'title' => '节点标签。',
- 'description' => 'The node labels.'."\n",
+ 'title' => '',
+ 'description' => 'The node tag.',
'type' => 'array',
- 'items' => [
- 'description' => 'The configurations of the labels.'."\n",
- '$ref' => '#/components/schemas/tag',
- ],
+ 'items' => ['description' => 'The label configuration.', '$ref' => '#/components/schemas/tag', 'example' => '{}', 'title' => ''],
+ 'example' => '',
],
'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",
+ 'title' => '',
+ 'description' => 'The node taint information. Taints and tolerations work together to prevent pods from being scheduled to inappropriate nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/).',
'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',
+ 'items' => ['description' => 'The node taint information.', '$ref' => '#/components/schemas/taint', 'title' => '', 'example' => ''],
+ 'example' => '',
],
+ 'runtime' => ['title' => '', 'description' => 'The container runtime name. ACK supports the following three container runtimes:'."\n"
+ ."\n"
+ .'- containerd: Recommended. Supports all cluster versions.'."\n"
+ .'- Sandboxed-Container.runv: Sandboxed container that provides higher isolation. Supports cluster versions 1.31 and earlier.'."\n"
+ .'- docker: No longer maintained. Supports cluster versions 1.22 and earlier.', 'type' => 'string', 'example' => 'containerd'],
+ 'runtime_version' => ['title' => '', 'description' => 'The container runtime version.', 'type' => 'string', 'example' => '1.6.38'],
+ 'cpu_policy' => ['title' => '', 'description' => 'The node CPU management policy. The following two policies are supported for cluster versions 1.12.6 and later:'."\n"
+ ."\n"
+ .'- `static`: Allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n"
+ .'- `none`: Enables the existing default CPU affinity scheme.', 'type' => 'string', 'example' => 'none'],
+ 'user_data' => ['title' => '', 'description' => 'The node pool custom data, which is a script that runs after node initialization. For more information, see [Generate instance user data](~~49121~~).', 'type' => 'string', 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD****'],
+ 'unschedulable' => ['title' => '', 'description' => 'Specifies whether the scaled-out nodes are unschedulable.'."\n"
+ ."\n"
+ .'- true: Unschedulable.'."\n"
+ ."\n"
+ .'- false: Schedulable.', 'type' => 'boolean', 'example' => 'true'],
+ 'cms_enabled' => ['title' => '', 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information of the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Installs the CloudMonitor agent on ECS nodes.'."\n"
+ .'- `false`: Does not install the CloudMonitor agent on ECS nodes.', 'type' => 'boolean', 'example' => 'true'],
+ 'node_name_mode' => ['title' => '', 'description' => 'The custom node name.'."\n"
+ ."\n"
+ .'A node name consists of three parts: prefix \\+ node IP address substring \\+ suffix:'."\n"
+ .' '."\n"
+ .'- The prefix and suffix can each consist of one or more parts separated by ".". Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit.'."\n"
+ .'- The IP address segment length specifies the number of digits taken from the end of the node IP address. Valid values: 5-12.'."\n"
+ .' '."\n"
+ .'For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP address segment length is 5, and the suffix is test, the node name is aliyun.com00055test.', 'type' => 'string', 'example' => 'aliyun.com192.XX.YY.55test'],
+ 'pre_user_data' => ['description' => 'The node pool pre-custom data, which is a script that runs before node initialization. For more information, see [Generate instance user data](~~49121~~).', 'type' => 'string', 'example' => 'IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD', 'title' => ''],
],
+ 'example' => '',
],
'tee_config' => [
- 'title' => '加密计算节点池信息。',
- 'description' => 'The configurations of confidential computing.'."\n",
+ 'title' => '',
+ 'description' => 'The confidential computing configuration.',
'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',
- ],
+ 'tee_enable' => ['title' => '', 'description' => 'Specifies whether to enable confidential computing for the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enabled.'."\n"
+ .'- `false`: Disabled.', 'type' => 'boolean', 'example' => 'false'],
],
+ 'example' => '',
],
'interconnect_config' => [
- 'title' => '边缘节点池网络相关的配置。该值只对edge类型的节点池有意义',
- 'description' => 'This parameter is discontinued.'."\n"
+ 'title' => '',
+ 'description' => '[This field is deprecated]'."\n"
."\n"
- .'The network configurations of the edge node pool. This parameter takes effect only on edge node pools.'."\n",
+ .'The network configuration for edge node pools. This value is meaningful only for edge-type node pools.',
'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',
- ],
+ 'cen_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Enterprise Network (CEN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'cen-ey9k9nfhz0f*******'],
+ 'ccn_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The Cloud Connect Network (CCN) instance ID bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'ccn-qm5i0i0q9yi*******'],
+ 'ccn_region_id' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The region of the Cloud Connect Network instance bound to the enhanced edge node pool.', 'type' => 'string', 'example' => 'cn-shanghai'],
+ 'bandwidth' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The network bandwidth of the enhanced edge node pool. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'improved_period' => ['title' => '', 'description' => '[This field is deprecated]'."\n"
+ ."\n"
+ .'The subscription duration of the enhanced edge node pool. Unit: months.', 'type' => 'string', 'example' => '1'],
],
+ 'example' => '',
],
- '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',
- ],
+ 'max_nodes' => ['title' => '', 'description' => 'The maximum number of nodes allowed in the edge node pool. This value must be greater than or equal to 0. A value of 0 indicates no additional limit (limited only by the total number of nodes the cluster can contain, with no additional limit on the node pool itself). Edge node pools typically have a value greater than 0. ESS-type node pools and default edge-type node pools have a value of 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'interconnect_mode' => ['title' => '', 'description' => 'The network type of the edge node pool. This parameter takes effect only for node pools with `type` set to `edge`. Valid values:'."\n"
+ ."\n"
+ .'- `basic`: Public network. Nodes in cloud node pool interact with cloud nodes over the public network. Applications in cloud node pool cannot directly access the cloud VPC internal network.'."\n"
+ .'- `private`: Private network. Nodes in cloud node pool connect to the cloud through Express Connect, VPN, or CEN, providing higher cloud-edge communication quality and more effective security.', 'type' => 'string', 'example' => 'basic'],
'auto_mode' => [
+ 'title' => '',
+ 'description' => 'The intelligent managed configuration.',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'type' => 'boolean',
- 'title' => '是否开启智能托管。',
- ],
+ 'enable' => ['title' => '', 'description' => 'Specifies whether to enable intelligent managed mode.', 'type' => 'boolean', 'example' => 'true'],
],
- 'title' => '智能托管配置。',
+ 'example' => '',
],
'node_components' => [
- 'title' => '节点组件列表。',
+ 'title' => '',
+ 'description' => 'The list of node components.',
'type' => 'array',
'items' => [
- 'title' => '节点组件。',
+ 'title' => '',
+ 'description' => 'The node component.',
'type' => 'object',
'properties' => [
- 'name' => [
- 'title' => '节点组件名称。',
- 'type' => 'string',
- 'example' => 'kubelet',
- ],
- 'version' => [
- 'title' => '节点组件版本。',
- 'type' => 'string',
- 'example' => '1.33.3-aliyun.1',
- ],
+ 'name' => ['title' => '', 'description' => 'The node component name.', 'type' => 'string', 'example' => 'kubelet'],
+ 'version' => ['title' => '', 'description' => 'The node component version.', 'type' => 'string', 'example' => '1.33.3-aliyun.1'],
'config' => [
- 'title' => '节点组件配置。',
+ 'title' => '',
+ 'description' => 'The node component configuration.',
'type' => 'object',
'properties' => [
'custom_config' => [
- 'title' => '节点组件自定义配置。',
+ 'title' => '',
+ 'description' => 'The node component custom configuration.',
'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => 'cpuManagerPolicy',
- ],
+ 'additionalProperties' => ['description' => 'The node component custom configuration string.', 'type' => 'any', 'example' => 'cpuManagerPolicy', 'title' => ''],
+ 'example' => '{"cpuManagerPolicy":"static"}',
],
],
+ 'example' => '',
],
+ 'config_revision' => ['type' => 'string', 'example' => '1', 'description' => '', 'title' => ''],
],
+ 'example' => '',
],
+ 'example' => '',
+ ],
+ 'eflo_node_group' => [
+ 'title' => '',
+ 'description' => 'The Lingjun node group information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The Lingjun cluster ID.', 'type' => 'string', 'example' => 'i113790071760688002461'],
+ 'group_id' => ['title' => '', 'description' => 'The Lingjun group ID.', 'type' => 'string', 'example' => 'i128147721760688002463'],
+ 'auto_attach_enabled' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'worker_ram_role_name' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
'5XX' => [],
@@ -12376,4258 +8695,2832 @@
'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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'title' => 'Query node pools',
+ 'summary' => 'Queries all node pools in a cluster.',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-29T06:45:00.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2026-01-26T09:09:51.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-11-24T09:15:07.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-11-05T05:59:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-09-23T07:52:12.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-09-20T05:31:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-08-19T06:29:04.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-06-10T05:44:57.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:22.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:22.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2025-04-28T03:26:50.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-09-27T01:50:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-07-09T07:02:31.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-06-13T09:52:33.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-06-13T02:59:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-05-07T02:03:04.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-22T08:24:29.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-01-19T11:04:03.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-12-13T10:51:25.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-10-17T08:45:15.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-23T01:39:29.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2020-09-24T12:47:54.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2020-09-24T12:47:54.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodePools',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"kernel\\"\\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 \\"auto_fault_diagnosis\\": false\\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\\": false,\\n \\"local_disk\\": false\\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 \\"ecs.c6\\"\\n ],\\n \\"minimum_eni_quantity\\": 3,\\n \\"minimum_eni_private_ip_address_quantity\\": 10,\\n \\"minimum_eni_ipv6_address_quantity\\": 1,\\n \\"maximum_gpu_amount\\": 8\\n }\\n ],\\n \\"ram_role_name\\": \\"KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f****\\",\\n \\"resource_pool_options\\": {\\n \\"strategy\\": \\"PrivatePoolFirst\\",\\n \\"private_pool_ids\\": [\\n \\"eap-bp1c1fohub5jccwi****\\"\\n ]\\n },\\n \\"system_disk_snapshot_policy_id\\": \\"sp-0jl6xnmme8v7o935****\\"\\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 \\"net.core.somaxconn\\"\\n ],\\n \\"reservedMemory\\": [\\n {\\n \\"numaNode\\": 0,\\n \\"limits\\": {\\n \\"memory\\": \\"1Gi\\"\\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 \\"127.0.xx.xx\\"\\n ],\\n \\"tracing\\": {\\n \\"endpoint\\": \\"localhost:4317\\",\\n \\"samplingRatePerMillion\\": 200000\\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 \\"config_revision\\": \\"1\\"\\n }\\n ],\\n \\"eflo_node_group\\": {\\n \\"cluster_id\\": \\"i113790071760688002461\\",\\n \\"group_id\\": \\"i128147721760688002463\\",\\n \\"auto_attach_enabled\\": false,\\n \\"worker_ram_role_name\\": \\"\\"\\n }\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'DescribeClusterNodes' => [
+ 'path' => '/clusters/{ClusterId}/nodes',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '119077',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'abilityTreeNodes' => ['FEATUREcsk4JRUSW'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Cluster ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c17e742cee942410486f237293d66****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'instanceIds',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The instance IDs of nodes. Separate multiple IDs with commas (,).', 'type' => 'string', 'example' => '"i-bp11xjhwkj8k966u****,i-bp1dmhc2bu5igkyq****"', 'required' => false],
],
[
'name' => 'nodepool_id',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Node pool ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np38f32fdbc60e4a1e957ffde77846****',
- ],
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'npe25633140a7d4fbea56cd0479c******', 'required' => false],
],
[
- 'name' => 'necessity',
+ 'name' => 'state',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The status of cluster nodes. Used to filter by node running status. Valid values:'."\n"
+ ."\n"
+ .'- `all`: does not filter by running status. All nodes are returned.'."\n"
+ .'- `running`: running nodes.'."\n"
+ .'- `removing`: nodes that are being removed.'."\n"
+ .'- `initial`: nodes that are being initialized.'."\n"
+ .'- `failed`: nodes that failed to be created.'."\n"
+ ."\n"
+ .'Default value: `all`.', 'type' => 'string', 'example' => 'running', 'required' => false],
+ ],
+ [
+ 'name' => 'pageSize',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The maximum number of records that can be displayed on each page. Valid values: [1, 100].'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'string', 'example' => '10', 'required' => false],
+ ],
+ [
+ 'name' => 'pageNumber',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number of the current query.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'string', 'example' => '1', 'required' => false],
+ ],
+ [
+ 'name' => 'nodeNames',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => 'cn-hangzhou.192.168.0.1', 'description' => '', 'title' => ''],
+ ],
+ [
+ 'name' => 'nodeIps',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => '192.168.0.1', 'description' => '', 'title' => ''],
+ ],
+ [
+ 'name' => 'nodeLabels',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => 'nodeLabels=app=nginx,env=prod', 'description' => '', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'vul_records' => [
- 'description' => 'The vulnerability list of all node pools.'."\n",
+ 'nodes' => [
+ 'title' => '',
+ 'description' => 'The list of node details.',
'type' => 'array',
'items' => [
- 'description' => 'The vulnerability list of a node pool.'."\n",
+ 'description' => 'The node details.',
'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",
+ 'creation_time' => ['title' => '', 'description' => 'The time when the node was created.', 'type' => 'string', 'example' => '2025-04-16T07:28:00Z'],
+ 'error_message' => ['title' => '', 'description' => 'The error message generated when the node was created.', 'type' => 'string', 'example' => 'error***'],
+ 'expired_time' => ['title' => '', 'description' => 'The time when the node expires.', 'type' => 'string', 'example' => '2099-12-31T15:59:00Z'],
+ 'host_name' => ['title' => '', 'description' => 'The hostname of the node.', 'type' => 'string', 'example' => 'iZ2vcckdmxp7u0urj2k****'],
+ 'image_id' => ['title' => '', 'description' => 'The ID of the system image used by the node.', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20241218.vhd'],
+ 'instance_charge_type' => ['title' => '', 'description' => 'The billing method of the node. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: subscription.'."\n"
+ .'- `PostPaid`: pay-as-you-go.', 'type' => 'string', 'example' => 'PostPaid'],
+ 'instance_id' => ['title' => '', 'description' => 'The instance ID of the node.', 'type' => 'string', 'example' => 'i-2vcckdmxp7u0urj2****'],
+ 'instance_name' => ['title' => '', 'description' => 'The name of the node in the cluster.', 'type' => 'string', 'example' => 'worker-k8s-for-cs-c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ 'instance_role' => ['title' => '', 'description' => 'The role type of the node. Valid values:'."\n"
+ ."\n"
+ .'- Master: a master node of the cluster.'."\n"
+ .'- Worker: a worker node of the cluster.', 'type' => 'string', 'example' => 'Worker'],
+ 'instance_status' => ['title' => '', 'description' => 'The ECS status of the node. Valid values:'."\n"
+ ."\n"
+ .'- `Pending`: being created.'."\n"
+ .'- `Running`: running.'."\n"
+ .'- `Starting`: being started.'."\n"
+ .'- `Stopping`: being stopped.'."\n"
+ .'- `Stopped`: stopped.', 'type' => 'string', 'example' => 'Running'],
+ 'instance_type' => ['title' => '', 'description' => 'The node specifications.', 'type' => 'string', 'example' => 'ecs.c5.xlarge'],
+ 'instance_type_family' => ['title' => '', 'description' => 'The name of the ECS instance family to which the node belongs.', 'type' => 'string', 'example' => 'ecs.c5'],
+ 'ip_address' => [
+ 'title' => '',
+ 'description' => 'The IP addresses of the node.',
'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',
+ 'items' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '192.168.xx.xx', 'title' => ''],
+ 'example' => '',
],
+ 'is_aliyun_node' => ['title' => '', 'description' => 'Indicates whether the node is an Alibaba Cloud instance. Valid values:'."\n"
+ ."\n"
+ .'- `true`: The node is an Alibaba Cloud instance.'."\n"
+ ."\n"
+ .'- `false`: The node is not an Alibaba Cloud instance.', 'type' => 'boolean', 'example' => 'true'],
+ 'node_name' => ['title' => '', 'description' => 'The node name, which is the identifier of the node in the cluster.', 'type' => 'string', 'example' => 'cn-chengdu.192.168xx.xx'],
+ 'node_status' => ['title' => '', 'description' => 'Indicates whether the node is ready. Valid values:'."\n"
+ ."\n"
+ .'- `Ready`: The node is ready.'."\n"
+ ."\n"
+ .'- `NotReady`: The node is not ready.'."\n"
+ ."\n"
+ .'- `Unknown`: The node status is unknown.'."\n"
+ ."\n"
+ .'- `Offline`: The node is offline.', 'type' => 'string', 'example' => 'Ready'],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np0794239424a84eb7a95327369d56****'],
+ 'source' => ['title' => '', 'description' => 'The method used to initialize the node, such as manual creation or Resource Orchestration Service (ROS) creation.', 'type' => 'string', 'example' => 'ess'],
+ 'state' => ['title' => '', 'description' => 'The running status of the node. Valid values:'."\n"
+ ."\n"
+ .'- `pending`: being created.'."\n"
+ ."\n"
+ .'- `running`: running.'."\n"
+ ."\n"
+ .'- `starting`: being started.'."\n"
+ ."\n"
+ .'- `stopping`: being stopped.'."\n"
+ ."\n"
+ .'- `stopped`: stopped.', 'type' => 'string', 'example' => 'running'],
+ 'spot_strategy' => ['title' => '', 'description' => 'The spot instance type. Valid values:'."\n"
+ .'- NoSpot: a non-spot instance.'."\n"
+ .'- SpotWithPriceLimit: a spot instance with a price limit.'."\n"
+ .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
- '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',
+ 'page' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_number' => ['title' => '', 'description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of records that can be displayed on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
+ ],
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => 'Query cluster nodes',
+ 'summary' => 'Queries the list of nodes that meet the specified conditions in a cluster.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodes'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
'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',
- ],
+ 'DescribeClusterResources' => [
+ 'summary' => 'When you use Container Service for Kubernetes (ACK), you also use resources from other associated Alibaba Cloud services. You can call the DescribeClusterResources operation to query the associated resources of a specified cluster, such as VPCs and SLBs. To query node pool or node resources, call the DescribeClusterNodePools or DescribeClusterNodes operation.',
+ 'path' => '/clusters/{ClusterId}/resources',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '528',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'abilityTreeCode' => '397',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c23421cfa74454bc8b37163fd19af****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.'."\n"
+ ."\n"
+ .'For information about how to view the cluster ID, see [View cluster information](~~89446~~).'."\n"
+ ."\n"
+ .'You can also call the [DescribeClustersV1](~~183905~~) API operation to view information about all clusters created under your Alibaba Cloud account.', 'type' => 'string', 'required' => true, 'example' => 'cb95aa626a47740afbf6aa099b65****'],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'p31da1b38983f4511b490fc62108a****',
- ],
+ 'name' => 'with_addon_resources',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to also query resources created by cluster components.'."\n"
+ ."\n"
+ .'- true: queries the resources.'."\n"
+ ."\n"
+ .'- false: does not query the resources.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false'],
],
- [
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ ],
+ 'responses' => [
+ 200 => [
'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",
+ 'title' => '',
+ 'description' => 'The list of resource objects.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => '集群ID。', 'type' => 'string', 'example' => 'cb95aa626a47740afbf6aa099b65****'],
+ 'created' => ['title' => '', 'description' => '资源创建时间。', 'type' => 'string', 'example' => '2023-08-15T14:34:42+08:00'],
+ 'instance_id' => ['title' => '', 'description' => '资源ID。', 'type' => 'string', 'example' => 'ngw-wz9sphwk42sdtjixo****'],
+ 'resource_info' => ['title' => '', 'description' => '资源信息。关于资源的源信息,请参见[ListStackResources](~~133836~~)。', 'type' => 'string', 'example' => '{\\"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******\\"}'],
+ 'resource_type' => ['title' => '', 'description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::VPC::NatGateway'],
+ 'state' => ['title' => '', 'description' => '资源状态。可选值:'."\n"
+ ."\n"
+ .'- `CREATE_COMPLETE`:成功创建资源。'."\n"
+ .'- `CREATE_FAILED`:创建资源失败。'."\n"
+ .'- `CREATE_IN_PROGRESS`:创建资源中。'."\n"
+ .'- `DELETE_FAILED`:删除资源失败。'."\n"
+ .'- `DELETE_IN_PROGRESS`:删除资源中。'."\n"
+ .'- `ROLLBACK_COMPLETE`:成功回滚。'."\n"
+ .'- `ROLLBACK_FAILED`:回滚失败。'."\n"
+ .'- `ROLLBACK_IN_PROGRESS`:回滚中。', 'type' => 'string', 'example' => 'CREATE_COMPLETE'],
+ 'auto_create' => ['title' => '', 'description' => '资源是否由ACK创建:'."\n"
+ ."\n"
+ .'- 1:表示由ACK创建。'."\n"
+ .'- 0:表示该资源为已有资源。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'dependencies' => [
+ 'title' => '',
+ 'description' => '依赖资源列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '依赖资源详情。',
'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',
- ],
+ 'cluster_id' => ['title' => '', 'description' => '依赖资源的集群ID。', 'type' => 'string', 'example' => 'cc5ee03f63e43425cb6f71f1a1756****'],
+ 'resource_type' => ['title' => '', 'description' => '依赖资源类型。', 'type' => 'string', 'example' => 'ALIYUN::VPC::NatGateway'],
+ 'instance_id' => ['title' => '', 'description' => '依赖资源实例ID。', 'type' => 'string', 'example' => 'ngw-wz9sphwk42sdtjixo****'],
],
- 'deprecated' => true,
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
- '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',
+ 'associated_object' => [
+ 'title' => '',
+ 'description' => '资源关联的k8s对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'kind' => ['title' => '', 'description' => 'k8s对象类型。', 'type' => 'string', 'example' => 'Service'],
+ 'namespace' => ['title' => '', 'description' => 'k8s对象命名空间。', 'type' => 'string', 'example' => 'kube-system'],
+ 'name' => ['title' => '', 'description' => 'k8s对象名称。', 'type' => 'string', 'example' => 'nginx-ingress-lb'],
],
+ 'example' => '',
],
- '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"
+ 'delete_behavior' => [
+ 'title' => '',
+ 'description' => '删除集群时该资源的删除行为。',
+ 'type' => 'object',
+ 'properties' => [
+ 'delete_by_default' => ['title' => '', 'description' => '删除集群时是否默认删除该资源。'."\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"
+ .'- true:默认删除该资源。'."\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"
+ .'- fasle:不删除该资源。', 'type' => 'boolean', 'example' => 'false'],
+ 'changeable' => ['title' => '', 'description' => '`delete_by_default`的默认行为是否可以更改。'."\n"
."\n"
- .'* `true`: installs the CloudMonitor agent on ECS nodes.'."\n"
- .'* `false`: does not install the CloudMonitor agent on ECS nodes.'."\n"
+ .'- true:可以更改。'."\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',
+ .'- false:不支持更改。', 'type' => 'boolean', 'example' => 'false'],
],
+ 'example' => '',
],
- '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',
- ],
+ 'creator_type' => [
+ 'title' => '',
+ 'description' => '该资源创建者的类型。可能的取值:'."\n"
+ .'- user:由用户自行创建;'."\n"
+ .'- system:由ACK管控系统创建;'."\n"
+ .'- addon:由集群组件创建。',
+ 'type' => 'string',
+ 'enum' => ['user', 'system', 'addon'],
+ 'example' => 'addon',
],
- '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',
+ 'extra_info' => ['title' => '', 'description' => '资源的其他信息。', 'type' => 'object', 'example' => ' { "type": "SLS_Data" }'],
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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****',
- ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query associated resources of a specified cluster',
+ 'changeSet' => [
+ ['createdAt' => '2024-03-13T09:07:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-10-20T09:36:51.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-10-11T03:07:01.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2020-09-10T04:06:26.000Z', 'description' => 'Response parameters changed, Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterResources'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
- '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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterTasks' => [
+ 'path' => '/clusters/{cluster_id}/tasks',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c23421cfa74454bc8b37163fd19af****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c23421cfa74454bc8b37163fd19af****', 'required' => false],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np31da1b38983f4511b490fc62108a****',
- ],
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- '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,
- ],
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'next_token',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ [
+ 'name' => 'max_results',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回结构体。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'task_id' => [
- 'title' => '任务ID。',
- 'description' => 'The task ID.'."\n",
- 'type' => 'string',
- 'example' => 'T-5faa48fb31b6b8078d00****',
+ 'page_info' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_size' => ['title' => '', 'description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ ],
+ 'example' => '',
],
+ 'next_token' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'tasks' => [
+ 'title' => '',
+ 'description' => 'The task array.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The task details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'install-addons-c3xxxxxx'],
+ 'task_type' => ['title' => '', 'description' => 'The task type.', 'type' => 'string', 'example' => 'cluster_addon_install'],
+ 'state' => ['title' => '', 'description' => 'The task status.', 'type' => 'string', 'example' => 'success'],
+ 'created' => ['title' => '', 'description' => 'The creation time.', 'type' => 'string', 'example' => '2022-08-03T10:11:33+08:00'],
+ 'updated' => ['title' => '', 'description' => 'The update time.', 'type' => 'string', 'example' => '2022-08-03T10:12:03.482+08:00'],
+ 'error' => [
+ 'description' => 'The node fault error message.',
+ 'type' => 'object',
+ 'properties' => [
+ 'message' => ['title' => '', 'description' => 'The error message.', 'type' => 'string', 'example' => 'Addon status not match'],
+ 'code' => ['title' => '', 'description' => 'The error code.', 'type' => 'string', 'example' => 'BadRequest'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0527ac9a-c899-4341-a21a-xxxxxxxxx'],
],
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'Query cluster tasks',
+ 'summary' => 'Queries the task list of a cluster by calling the DescribeClusterTasks operation.',
+ 'changeSet' => [
+ ['createdAt' => '2023-11-23T02:20:32.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-03T05:06:43.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterTasks'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterTasks',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"page_info\\": {\\n \\"page_size\\": 10,\\n \\"page_number\\": 1,\\n \\"total_count\\": 10\\n },\\n \\"next_token\\": \\"\\",\\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"}]',
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterUserKubeconfig' => [
+ 'summary' => 'KubeConfig is used to configure access credentials for ACK clusters on the client. It contains identity and authentication data for accessing the target cluster. When you use kubectl for cluster management, you must first connect to the cluster by using KubeConfig. You can invoke the DescribeClusterUserKubeconfig operation to query the KubeConfig of a specified cluster.',
+ 'path' => '/k8s/{ClusterId}/user_config',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ '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' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np31da1b38983f4511b490fc62108a****',
- ],
+ 'name' => 'PrivateIpAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to obtain the internal network connection configuration. Valid values:'."\n"
+ .'- `true`: Obtains only the internal network connection credential.'."\n"
+ .'- `false`: Obtains only the public network connection credential. '."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
],
[
- '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,
- ],
+ 'name' => 'TemporaryDurationMinutes',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The validity period of the temporary KubeConfig. Unit: minutes. Valid values: 15 (15 minutes) to 4320 (3 days).'."\n"
+ .'>If you do not set this parameter, the system automatically determines a longer validity period. The specific expiration time is determined by the value of the `expiration` field in the response.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
+ 'config' => ['title' => '', 'description' => 'The KubeConfig of the cluster.', 'type' => 'string', 'example' => 'apiVersion: v1\\nclusters:\\n- cluster:\\n server: https://114.55.xx.xx:6443\\n certificate-authority-data: LS0tLS****'],
+ 'expiration' => ['title' => '', 'description' => 'The expiration time of the KubeConfig. Format: UTC time in RFC 3339 format.', 'type' => 'string', 'example' => '2024-03-10T09:56:17Z'],
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query cluster kubeConfig',
+ 'description' => '- The default validity period of the certificate issued by KubeConfig is 3 years. Within 180 days before the certificate expires, you can obtain a rotated and refreshed KubeConfig by using the Container Service console or the DescribeClusterUserKubeconfig operation. The new KubeConfig certificate is valid for 3 years. The old KubeConfig credential remains valid until the certificate expires. Obtain the rotated credential promptly based on the KubeConfig expiration time displayed in the console or returned by the operation.'."\n"
+ ."\n"
+ .'- Properly manage the KubeConfig credentials of your cluster and revoke them when they are no longer needed to avoid security risks such as sensitive data leakage caused by KubeConfig exposure.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterUserKubeconfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterUserKubeconfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:KubeConfigDurationMinutes', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterV2UserKubeconfig' => [
+ 'summary' => 'Retrieves the kubeconfig file for a cluster.',
+ 'path' => '/api/v2/k8s/{ClusterId}/user_config',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'abilityTreeCode' => '395',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c23421cfa74454bc8b37163fd19af****',
- ],
+ 'schema' => ['title' => '', 'type' => 'string', 'required' => true, 'description' => '', 'example' => ''],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np97de2cfb1ba042398dd8f5504c94****',
- ],
- ],
- [
- 'name' => 'release_node',
+ 'name' => 'PrivateIpAddress',
'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',
- ],
+ 'schema' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
],
[
- 'name' => 'drain_node',
+ 'name' => 'TemporaryDurationMinutes',
'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',
- ],
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''],
],
- [
- 'name' => 'nodes',
- 'in' => 'query',
- 'style' => 'json',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'config' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
],
- 'deprecated' => true,
- 'required' => false,
+ 'description' => '',
+ 'example' => '',
],
],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::DescribeClusterUserKubeconfig'],
+ ],
+ 'changeSet' => [
+ ['createdAt' => '2024-12-05T09:58:59.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterV2UserKubeconfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterV2UserKubeconfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:KubeConfigDurationMinutes', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#clusterId}'],
],
- 'required' => false,
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"config\\": \\"\\"\\n}","type":"json"}]',
+ 'title' => '',
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusterVuls' => [
+ 'summary' => 'You can call the DescribeClusterVuls operation to query the details of security vulnerabilities in a cluster by cluster ID, including vulnerability names, types, and severity levels. Regularly scan your cluster for security vulnerabilities to improve cluster security.',
+ 'path' => '/clusters/{cluster_id}/vuls',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'concurrency',
- 'in' => 'query',
- 'schema' => [
- 'title' => '是否并发移除。',
- 'description' => 'Whether to remove concurrently.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
- 'title' => '响应体。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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****',
+ 'vul_records' => [
+ 'description' => 'The list of vulnerabilities.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The vulnerability information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'nodepool_name' => ['description' => 'The name of the node pool.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'nodepool_id' => ['description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np0156da1082b54fa987e32618dd******', 'title' => ''],
+ 'node_count' => ['description' => 'The number of nodes that have this vulnerability.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'vul_name' => ['description' => 'The name of the vulnerability.', 'type' => 'string', 'example' => 'oval:com.redhat.rhsa:def:xxxxxxx', 'title' => ''],
+ 'vul_alias_name' => ['description' => 'The alias of the vulnerability.', 'type' => 'string', 'example' => 'CVE-2022-xxxx:rsync 安全漏洞', 'title' => ''],
+ 'vul_type' => [
+ 'description' => 'The type of the vulnerability. Valid values:'."\n"
+ .'- app: application vulnerability'."\n"
+ .'- sca: application vulnerability (Software Composition Analysis)'."\n"
+ .'- cve: Linux vulnerability'."\n"
+ .'- cms: WebCMS vulnerability'."\n"
+ .'- sys: Windows vulnerability'."\n"
+ .'- emg: emergency vulnerability.',
+ 'enumValueTitles' => ['app' => 'application vulnerability.', 'sca' => 'application vulnerability (Software Composition Analysis).', 'cve' => 'Linux vulnerability.', 'cms' => 'WebCMS vulnerability.', 'sys' => 'Windows vulnerability.', 'emg' => 'emergency vulnerability.'],
+ 'type' => 'string',
+ 'example' => 'cve',
+ 'title' => '',
+ ],
+ 'necessity' => [
+ 'description' => 'The severity level of the vulnerability. Valid values:'."\n"
+ .'- nntf: low'."\n"
+ .'- later: medium'."\n"
+ .'- asap: high.',
+ 'enumValueTitles' => ['nntf' => 'low.', 'later' => 'medium.', 'asap' => 'high.'],
+ 'type' => 'string',
+ 'example' => 'asap',
+ 'title' => '',
+ ],
+ 'cve_list' => [
+ 'description' => 'The list of CVEs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The CVE information.', 'type' => 'string', 'example' => 'CVE-2022-xxxxx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'Query cluster security vulnerability information',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterVuls'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeClusters' => [
+ 'summary' => 'View all clusters created in Container Service (including Swarm and Kubernetes clusters).',
+ 'path' => '/clusters',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'abilityTreeCode' => '394',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Perform a fuzzy match query based on the cluster name.', 'type' => 'string', 'required' => false, 'example' => 'test'],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'np31da1b38983f4511b490fc62108a****',
- ],
+ 'name' => 'clusterType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster type.', 'type' => 'string', 'required' => false, 'example' => 'ManagedKubernetes'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'resource_group_id',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'type' => 'array',
+ 'title' => '',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'cluster_type' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'created' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'current_version' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'data_disk_category' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'data_disk_size' => ['title' => '', 'type' => 'integer', 'format' => 'int64', 'description' => '', 'example' => ''],
+ 'deletion_protection' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
+ 'docker_version' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'external_loadbalancer_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'init_version' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'master_url' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'meta_data' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'name' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'network_mode' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'private_zone' => ['title' => '', 'type' => 'boolean', 'description' => '', 'example' => ''],
+ 'profile' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'region_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'resource_group_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'security_group_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'size' => ['title' => '', 'type' => 'integer', 'format' => 'int64', 'description' => '', 'example' => ''],
+ 'state' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'subnet_cidr' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'tags' => [
+ 'title' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'value' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
+ 'description' => '',
+ 'example' => '',
],
- '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,
+ 'updated' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'vpc_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'vswitch_cidr' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'vswitch_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'worker_ram_role_name' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'zone_id' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'description' => 'The response body.',
+ 'example' => '',
],
],
+ '5XX' => [],
],
- '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' => '',
- ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::DescribeClustersForRegion'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"[\\n {\\n \\"cluster_id\\": \\"\\",\\n \\"cluster_type\\": \\"\\",\\n \\"created\\": \\"\\",\\n \\"current_version\\": \\"\\",\\n \\"data_disk_category\\": \\"\\",\\n \\"data_disk_size\\": 0,\\n \\"deletion_protection\\": false,\\n \\"docker_version\\": \\"\\",\\n \\"external_loadbalancer_id\\": \\"\\",\\n \\"init_version\\": \\"\\",\\n \\"master_url\\": \\"\\",\\n \\"meta_data\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"network_mode\\": \\"\\",\\n \\"private_zone\\": false,\\n \\"profile\\": \\"\\",\\n \\"region_id\\": \\"\\",\\n \\"resource_group_id\\": \\"\\",\\n \\"security_group_id\\": \\"\\",\\n \\"size\\": 0,\\n \\"state\\": \\"\\",\\n \\"subnet_cidr\\": \\"\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"updated\\": \\"\\",\\n \\"vpc_id\\": \\"\\",\\n \\"vswitch_cidr\\": \\"\\",\\n \\"vswitch_id\\": \\"\\",\\n \\"worker_ram_role_name\\": \\"\\",\\n \\"zone_id\\": \\"\\"\\n }\\n]","type":"json"}]',
+ 'title' => '(Deprecated) Query all cluster instances of a user',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2024-06-25T09:43:49.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusters'],
],
- '5XX' => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
],
],
],
],
- '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",
+ 'translator' => 'machine',
],
- 'RepairClusterNodePool' => [
- 'summary' => 'Repairs a node pool.',
- 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/repair',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '89346',
- 'abilityTreeNodes' => [
- 'FEATUREcskRXV8J4',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '249403',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA', 'FEATUREcskI1OLEY', 'FEATUREcskZG2TSX', 'FEATUREcskDGKERY'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'cluster_id',
- 'in' => 'path',
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Fuzzy search by cluster name.', 'type' => 'string', 'example' => 'test-cluster', 'required' => false],
+ ],
+ [
+ 'name' => 'cluster_type',
+ 'in' => 'query',
'schema' => [
- 'title' => '集群ID',
- 'description' => 'The ID of the cluster.'."\n",
+ 'title' => '',
+ 'description' => 'Queries clusters of a specified type. Valid values:'."\n"
+ .'- Kubernetes: ACK dedicated cluster.'."\n"
+ .'- ManagedKubernetes: ACK managed cluster types, including ACK managed clusters (ACK Pro and ACK Basic), ACK Serverless clusters (Pro and Basic), ACK Edge clusters (Pro and Basic), and ACK Lingjun clusters (Pro).'."\n"
+ .'- ExternalKubernetes: registered cluster.',
+ 'enumValueTitles' => ['ExternalKubernetes' => 'ExternalKubernetes', 'ManagedKubernetes' => 'ManagedKubernetes', 'Kubernetes' => 'Kubernetes'],
'type' => 'string',
- 'required' => true,
- 'example' => 'c2273b7f4a30d4ef6b43e0926cdd8****',
+ 'example' => 'Kubernetes',
+ 'required' => false,
],
],
[
- 'name' => 'nodepool_id',
- 'in' => 'path',
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'required' => false],
+ ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'required' => false],
+ ],
+ [
+ 'name' => 'profile',
+ 'in' => 'query',
'schema' => [
- 'title' => '节点池ID',
- 'description' => 'The ID of the node pool that you want to manage.'."\n",
+ 'title' => '',
+ 'description' => 'Queries clusters of a specified subtype. Valid values:'."\n"
+ .'- Default: ACK managed cluster, including ACK Pro and ACK Basic.'."\n"
+ .'- Edge: ACK Edge cluster, including ACK Edge Pro and ACK Edge Basic.'."\n"
+ .'- Serverless: ACK Serverless cluster, including ACK Serverless Pro and ACK Serverless Basic.'."\n"
+ .'- LingJun: ACK Lingjun cluster, available in Pro.',
+ 'enumValueTitles' => ['LingJun' => 'LingJun', 'Serverless' => 'Serverless', 'Default' => 'Default', 'Edge' => 'Edge'],
'type' => 'string',
- 'required' => true,
- 'example' => 'np613940c3593c4bea96faa8600cb9****',
+ 'example' => 'Serverless',
+ 'required' => false,
],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'cluster_spec',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Queries clusters of a specified specification. Valid values:'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic'."\n"
+ .'- `ack.pro.small`: Pro'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (contact customer service to add your account to the whitelist)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. By pre-allocating and dedicating control plane resources, these tiers ensure that API concurrency and Pod scheduling capabilities remain at a consistently high level. They are suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For information about cluster management fees for Pro and Provisioned Control Plane editions, see <props="china">[Cluster management fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster management fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.',
+ 'enumValueTitles' => ['ack.pro.small' => 'ack.pro.small', 'ack.standard' => 'ack.standard'],
+ 'type' => 'string',
+ 'example' => 'ack.standard',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c8155823d057948c69a****'],
+ ],
+ [
+ 'name' => 'region_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The region.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '请求体',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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",
+ 'clusters' => [
+ 'title' => '',
+ 'description' => 'The list of cluster details.',
'type' => 'array',
'items' => [
- 'title' => '修复操作。',
- 'description' => 'A repair operation to execute.'."\n",
+ 'description' => 'The cluster details.',
'type' => 'object',
'properties' => [
- 'operation_id' => [
- 'title' => '修复操作ID。',
- 'description' => 'The ID of a repair operation.'."\n",
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c905d1364c2dd4b6284a3f41790c4****'],
+ 'cluster_type' => ['title' => '', 'description' => 'The cluster type. Valid values:'."\n"
+ .'- Kubernetes: ACK dedicated cluster.'."\n"
+ .'- ManagedKubernetes: ACK managed cluster types, including ACK managed clusters (ACK Pro and ACK Basic), ACK Serverless clusters (Pro and Basic), ACK Edge clusters (Pro and Basic), and ACK Lingjun clusters (Pro).'."\n"
+ .'- ExternalKubernetes: registered cluster.', 'type' => 'string', 'example' => 'ManagedKubernetes'],
+ 'created' => ['title' => '', 'description' => 'The time when the cluster was created.', 'type' => 'string', 'example' => '2020-12-01T20:40:40+08:00'],
+ 'init_version' => ['title' => '', 'description' => 'The initial version of the cluster.', 'type' => 'string', 'example' => '1.16.6-aliyun.1'],
+ 'current_version' => ['title' => '', 'description' => 'The current version of the cluster.', 'type' => 'string', 'example' => '1.16.6-aliyun.1'],
+ 'next_version' => ['title' => '', 'description' => 'The version to which the cluster can be upgraded.', 'type' => 'string', 'example' => '1.18.8-aliyun.1'],
+ 'deletion_protection' => ['title' => '', 'description' => 'Indicates whether deletion protection is enabled for the cluster. Deletion protection prevents the cluster from being accidentally deleted in the console or by calling API operations. Valid values:'."\n"
+ .'- true: Deletion protection is enabled. The cluster cannot be deleted in the console or by calling API operations.'."\n"
+ .'- false: Deletion protection is not enabled. The cluster can be deleted in the console or by calling API operations.', 'type' => 'boolean', 'example' => 'false'],
+ 'name' => ['title' => '', 'description' => 'The cluster name.', 'type' => 'string', 'example' => 'test-cluster'],
+ 'profile' => ['title' => '', 'description' => 'The cluster subtype. Valid values:'."\n"
+ .'- Default: ACK managed cluster, including ACK Pro and ACK Basic.'."\n"
+ .'- Edge: ACK Edge cluster, including ACK Edge Pro and ACK Edge Basic.'."\n"
+ .'- Serverless: ACK Serverless cluster, including ACK Serverless Pro and ACK Serverless Basic.'."\n"
+ .'- LingJun: ACK Lingjun cluster, available in Pro.', 'type' => 'string', 'example' => 'Default'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing-a'],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID of the cluster.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****'],
+ 'security_group_id' => ['title' => '', 'description' => 'The security group ID of the cluster.', 'type' => 'string', 'example' => 'sg-2zeihch86ooz9io4****'],
+ 'container_cidr' => ['title' => '', 'description' => 'The pod CIDR block of the cluster.', 'type' => 'string', 'required' => false, 'example' => '172.20.0.0/16'],
+ 'service_cidr' => ['title' => '', 'description' => 'The service CIDR block.', 'type' => 'string', 'required' => true, 'example' => '172.21.0.0/20'],
+ 'proxy_mode' => [
+ 'title' => '',
+ 'description' => 'The kube-proxy mode of the cluster.',
+ 'enumValueTitles' => ['iptables' => 'iptables', 'ipvs' => 'ipvs'],
'type' => 'string',
- 'required' => false,
- 'example' => 'remove.containerdContainer',
+ 'example' => 'ipvs',
],
- 'args' => [
- 'title' => '修复操作参数列表。',
- 'description' => 'The parameters of a repair operation.'."\n",
+ 'timezone' => ['title' => '', 'description' => 'The time zone.', 'type' => 'string', 'example' => 'Asia/Shanghai'],
+ 'ip_stack' => [
+ 'title' => '',
+ 'description' => 'The IP protocol stack of the cluster.',
+ 'type' => 'string',
+ 'example' => 'ipv4',
+ 'default' => 'ipv4',
+ 'enum' => ['ipv4', 'dual'],
+ ],
+ 'cluster_domain' => ['title' => '', 'description' => 'The local domain name of the cluster.', 'type' => 'string', 'example' => 'cluster.local'],
+ 'size' => ['title' => '', 'description' => 'The number of nodes in the cluster.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'state' => ['title' => '', 'description' => 'The running state 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"
+ .'- `upgrading`: The cluster is being upgraded.'."\n"
+ .'- `removing`: Nodes are being removed.'."\n"
+ .'- `draining`: Nodes are being drained.'."\n"
+ .'- `scaling`: The cluster is being scaled.'."\n"
+ .'- `inactive`: The cluster is inactive.'."\n"
+ .'- `unavailable`: The cluster is unavailable.'."\n"
+ .'- `deleting`: The cluster is being deleted.'."\n"
+ .'- `deleted`: The cluster has been deleted.'."\n"
+ .'- `delete_failed`: The cluster failed to be deleted.'."\n"
+ .'- `waiting`: The cluster is in the accessed state, waiting to be connected.'."\n"
+ .'- `disconnected`: The cluster is disconnected.', 'type' => 'string', 'example' => 'running'],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The list of cluster tags.',
'type' => 'array',
- 'items' => [
- 'title' => '修复操作参数。',
- 'description' => 'A repair operation parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '“containerid”',
- ],
- 'required' => false,
+ 'items' => ['description' => 'The cluster tag.', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
],
+ 'updated' => ['title' => '', 'description' => 'The time when the cluster was last updated.', 'type' => 'string', 'example' => '2020-12-08T15:37:00+08:00'],
+ 'vpc_id' => ['title' => '', 'description' => 'The VPC ID of the cluster.', 'type' => 'string', 'example' => 'vpc-2zeg8nf1ukc0fcmvq****'],
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'The list of vSwitches for the cluster control plane.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitch for the cluster control plane.', 'type' => 'string', 'example' => 'vsw-2vc41xuumx5z2rdma****', 'title' => ''],
+ 'example' => '',
+ ],
+ 'cluster_spec' => ['title' => '', 'description' => 'The specification of the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic'."\n"
+ .'- `ack.pro.small`: Pro'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (contact customer service to add your account to the whitelist)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. By pre-allocating and dedicating control plane resources, these tiers ensure that API concurrency and Pod scheduling capabilities remain at a consistently high level. They are suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For information about cluster management fees for Pro and Provisioned Control Plane editions, see <props="china">[Cluster management fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster management fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.', 'type' => 'string', 'example' => 'ack.standard'],
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'example' => '',
+ ],
+ 'page_info' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'page_size' => ['title' => '', 'description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ ],
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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',
- ],
+ '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' => 'Query clusters in a specified region',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersForRegion'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClustersForRegion',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'DescribeClustersV1' => [
+ 'summary' => 'You can invoke the DescribeClustersV1 operation to query the list of ACK clusters that meet conditional criteria (such as cluster type and cluster specification) under the current account.',
+ 'path' => '/api/v1/clusters',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'abilityTreeCode' => '119060',
- 'abilityTreeNodes' => [
- 'FEATUREcskRXV8J4',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '393',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA', 'FEATUREcskI1OLEY', 'FEATUREcskZG2TSX', 'FEATUREcskDGKERY'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'cluster_id',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cf62854ac2130470897be7a27ed1f****',
- ],
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster name.', 'type' => 'string', 'example' => 'cluster-demo', 'required' => false],
],
[
- 'name' => 'nodepool_id',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np31da1b38983f4511b490fc62108a****',
- ],
+ 'name' => 'cluster_type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster type. Valid values:'."\n"
+ .'- `Kubernetes`: ACK dedicated cluster.'."\n"
+ .'- `ManagedKubernetes`: ACK managed cluster types, including ACK managed clusters (Pro and Basic), ACK Serverless clusters (Pro and Basic), ACK Edge clusters (Pro and Basic), and ACK Lingjun clusters (Pro).'."\n"
+ .'- `ExternalKubernetes`: registered cluster.', 'type' => 'string', 'example' => 'Kubernetes', 'required' => false],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'required' => false],
+ ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ ],
+ [
+ 'name' => 'profile',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'When you set `cluster_type` to `ManagedKubernetes` (ACK managed cluster types), you can further specify the cluster subtype. Valid values:'."\n"
+ .'- `Default`: ACK managed cluster, including ACK cluster Pro and ACK cluster Basic.'."\n"
+ ."\n"
+ .'- `Edge`: ACK Edge cluster, including ACK Edge cluster Pro and ACK Edge cluster Basic.'."\n"
+ ."\n"
+ .'- `Serverless`: ACK Serverless cluster, including ACK Serverless cluster Pro and ACK Serverless cluster Basic.'."\n"
+ ."\n"
+ .'- `Lingjun`: ACK Lingjun cluster, available in Pro.', 'type' => 'string', 'example' => 'Default', 'required' => false],
+ ],
+ [
+ 'name' => 'cluster_spec',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster specification when `cluster_type` is set to `ManagedKubernetes` and `profile` is configured. Valid values:'."\n"
+ ."\n"
+ .'- `ack.standard`: Basic'."\n"
+ .'- `ack.pro.small`: Pro'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (contact customer service to add your account to the whitelist)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. By pre-allocating and dedicating control plane resources, these tiers ensure that API concurrency and Pod scheduling capabilities remain at a deterministic high level, suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For information about cluster management fees for Pro and provisioned control plane editions, see <props="china">[Cluster management fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster management fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.', 'type' => 'string', 'example' => 'ack.pro.small', 'required' => false],
+ ],
+ [
+ 'name' => 'region_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The region of the cluster. Specify this parameter to filter clusters in the specified region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'required' => false],
+ ],
+ [
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c3fb96524f9274b4495df0f12a6b5****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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",
+ 'clusters' => [
+ 'title' => '',
+ 'description' => 'The list of cluster information.',
'type' => 'array',
'items' => [
- 'description' => 'The node name.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing.10.0.1.26',
+ 'description' => 'The cluster instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c3fb96524f9274b4495df0f12a6b5****'],
+ 'cluster_type' => ['title' => '', 'description' => 'The cluster type.', 'type' => 'string', 'example' => 'Kubernetes'],
+ 'created' => ['title' => '', 'description' => 'The time when the cluster was created.', 'type' => 'string', 'example' => '2025-04-07T09:57:26+08:00'],
+ 'init_version' => ['title' => '', 'description' => 'The cluster version. For Kubernetes versions supported by ACK, see [Kubernetes version release overview](~~185269~~).', 'type' => 'string', 'example' => '1.32.1-aliyun.1'],
+ 'current_version' => ['title' => '', 'description' => 'The current version of the cluster.', 'type' => 'string', 'example' => '1.32.1-aliyun.1'],
+ 'next_version' => ['title' => '', 'description' => 'The version to which the cluster can be upgraded.', 'type' => 'string', 'example' => '1.xx.x-aliyun.1'],
+ 'deletion_protection' => ['title' => '', 'description' => 'Indicates whether deletion protection is enabled for the cluster. This prevents accidental deletion of the cluster through the console or API. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Deletion protection is enabled. The cluster cannot be deleted through the console or API.'."\n"
+ .'- `false`: Deletion protection is not enabled. The cluster can be deleted through the console or API.', 'type' => 'boolean', 'example' => 'true'],
+ 'docker_version' => ['title' => '', 'description' => 'The Docker version of the cluster.', 'type' => 'string', 'deprecated' => true, 'example' => '19.03.5'],
+ 'external_loadbalancer_id' => ['title' => '', 'description' => 'The ID of the Server Load Balancer (SLB) instance for the Ingress of the cluster.'."\n"
+ ."\n"
+ .'Default instance type: guaranteed-performance instance (slb.s1.small).', 'type' => 'string', 'deprecated' => true, 'example' => 'lb-2vcrbmlevo6kjpgch****'],
+ 'master_url' => ['title' => '', 'description' => 'The access addresses of the cluster API server, including the internal network access address and the public network access address.', 'type' => 'string', 'example' => '{\\"api_server_endpoint\\":\\"\\",\\"intranet_api_server_endpoint\\":\\"https://192.168.xx.xx:6443\\"}'],
+ 'meta_data' => ['title' => '', 'description' => 'The metadata of the cluster.', 'type' => 'string', 'example' => '{\\"Addons\\":[{\\"config\\":***}}'],
+ 'name' => ['title' => '', 'description' => 'The cluster name.', 'type' => 'string', 'example' => 'cluster-demo'],
+ 'network_mode' => ['title' => '', '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`: Calico network.', 'type' => 'string', 'deprecated' => true, 'example' => 'vpc'],
+ 'private_zone' => ['title' => '', 'description' => 'The Private Zone configuration of the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Private Zone is enabled.'."\n"
+ .'- `false`: Private Zone is not enabled.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false'],
+ 'profile' => ['title' => '', 'description' => 'The cluster subtype.', 'type' => 'string', 'example' => 'Default'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID of the cluster.', 'type' => 'string', 'example' => 'cn-beijing'],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID of the cluster.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****'],
+ 'security_group_id' => ['title' => '', 'description' => 'The security group ID of the cluster.', 'type' => 'string', 'example' => 'sg-2vcgwsrwgt5mp0yi****'],
+ 'container_cidr' => ['title' => '', 'description' => 'The pod CIDR block, which is the Flannel network configuration.', 'type' => 'string', 'required' => false, 'example' => '172.20.xx.xx/16'],
+ 'service_cidr' => ['title' => '', 'description' => 'The service CIDR block.', 'type' => 'string', 'required' => true, 'example' => '172.21.xx.xx/20'],
+ 'proxy_mode' => ['title' => '', 'description' => 'The kube-proxy mode. Valid values:'."\n"
+ ."\n"
+ .'- `iptables`: a mature and stable kube-proxy mode. Uses iptables rules for service discovery and load balancing of Kubernetes Services. Performance is moderate and affected by scale. Suitable for clusters with a small number of Services.'."\n"
+ .'- `ipvs`: a high-performance kube-proxy mode. Uses the Linux IPVS module for service discovery and load balancing of Kubernetes Services. Suitable for clusters with a large number of Services that require high-performance load balancing.', 'type' => 'string', 'example' => 'ipvs'],
+ 'timezone' => ['title' => '', 'description' => 'The time zone.', 'type' => 'string', 'example' => 'Asia/Shanghai'],
+ 'ip_stack' => [
+ 'title' => '',
+ 'description' => 'The IP protocol stack of the cluster. Valid values:'."\n"
+ .'- ipv4: creates a cluster that supports only the IPv4 protocol stack.'."\n"
+ .'- dual: creates a cluster that supports the IPv4/IPv6 dual stack.',
+ 'type' => 'string',
+ 'example' => 'ipv4',
+ 'default' => 'ipv4',
+ 'enum' => ['ipv4', 'dual'],
+ ],
+ 'cluster_domain' => ['title' => '', 'description' => 'The local domain name of the cluster.', 'type' => 'string', 'example' => 'cluster.local'],
+ 'size' => ['title' => '', 'description' => 'The current number of nodes in the cluster, including master nodes and worker nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'],
+ 'state' => ['title' => '', 'description' => 'The running state 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"
+ .'- `upgrading`: The cluster is being upgraded.'."\n"
+ .'- `removing`: Nodes are being removed.'."\n"
+ .'- `draining`: Nodes are being drained.'."\n"
+ .'- `scaling`: The cluster is being scaled.'."\n"
+ .'- `inactive`: The cluster is inactive.'."\n"
+ .'- `unavailable`: The cluster is unavailable.'."\n"
+ .'- `deleting`: The cluster is being deleted.'."\n"
+ .'- `deleted`: The cluster has been deleted.'."\n"
+ .'- `delete_failed`: The cluster failed to be deleted.'."\n"
+ .'- `waiting`: The cluster is in the accessed state, waiting to be connected.'."\n"
+ .'- `disconnected`: The cluster is disconnected.', 'type' => 'string', 'example' => 'running'],
+ 'subnet_cidr' => ['title' => '', 'description' => '[This field is deprecated] Use container_cidr to obtain the pod CIDR block.', 'type' => 'string', 'deprecated' => true, 'example' => 'null'],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The resource tags of the cluster.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource tags of the cluster.', '$ref' => '#/components/schemas/tag', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'updated' => ['title' => '', 'description' => 'The time when the cluster was last updated.', 'type' => 'string', 'example' => '2025-04-07T09:57:26+08:00'],
+ 'vpc_id' => ['title' => '', 'description' => 'The VPC ID of the cluster.', 'type' => 'string', 'example' => 'vpc-2vcg932hsxsxuqbgl****'],
+ 'vswitch_id' => ['title' => '', 'description' => 'The vSwitch ID of the cluster.', 'type' => 'string', 'deprecated' => true, 'example' => 'vsw-2vc41xuumx5z2rdma****,vsw-2vc41xuumx5z2rdma****'],
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'The vSwitches of the cluster control plane.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitches of the cluster control plane.', 'type' => 'string', 'example' => 'vsw-2vc41xuumx5z2rdma****', 'title' => ''],
+ 'example' => '',
+ ],
+ 'worker_ram_role_name' => ['title' => '', 'description' => 'The name of the worker RAM role that authorizes ECS instances to serve as cluster worker nodes.', 'type' => 'string', 'deprecated' => true, 'example' => 'KubernetesWorkerRole-ec87d15b-edca-4302-933f-c8a16bf0****'],
+ 'zone_id' => ['title' => '', 'description' => 'The zone ID of the cluster.', 'type' => 'string', 'deprecated' => true, 'example' => 'cn-beijing-b'],
+ 'cluster_spec' => ['title' => '', 'description' => 'The cluster specification.', 'type' => 'string', 'example' => 'ack.standard'],
+ 'maintenance_window' => ['description' => 'The maintenance window of the cluster. This feature takes effect only for ACK managed clusters and ACK Serverless clusters.', '$ref' => '#/components/schemas/maintenance_window', 'title' => '', 'example' => ''],
+ 'operation_policy' => [
+ 'title' => '',
+ 'description' => 'The automatic O&M policy of the cluster.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_auto_upgrade' => [
+ 'title' => '',
+ 'description' => 'The automatic cluster upgrade configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enabled' => ['title' => '', 'description' => 'Indicates whether automatic cluster upgrade is enabled.', 'type' => 'boolean', 'example' => 'true'],
+ 'channel' => ['title' => '', 'description' => 'The frequency of automatic cluster upgrades. For more information, see [Upgrade frequency](~~2712866~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- patch: the latest patch version.'."\n"
+ .'- stable: the second latest minor version.'."\n"
+ .'- rapid: the latest minor version.', 'type' => 'string', 'example' => 'patch'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'example' => '',
],
- 'rollout_policy' => [
- 'title' => '轮转修复策略',
- 'description' => 'The batch patching policy.'."\n",
+ 'page_info' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
'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',
- ],
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
+ 'page_size' => ['title' => '', 'description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
],
- 'required' => false,
- ],
- 'auto_restart' => [
- 'title' => '修复完成后是否自动重启节点。',
- 'description' => 'Specifies whether to allow the nodes to restart.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
+ '5XX' => [],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'task_id' => [
- 'title' => '修复任务ID',
- 'description' => 'The ID of the CVE patching task.'."\n",
- 'type' => 'string',
- 'example' => 'T-60fea8ad2e277f087900****',
- ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query cluster list',
+ 'changeSet' => [
+ ['createdAt' => '2025-09-11T11:44:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-10-18T06:19:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-10-15T08:44:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-11-24T09:58:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2020-09-14T13:15:35.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersV1'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
],
- 'description' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeEvents' => [
+ 'summary' => 'Cluster operation events include cluster creation, cluster modification, node pool creation, node pool scale-out, addon installation, and cluster upgrade. You can call the DescribeEvents operation to query the details of a specific type of event, including the event level, event status, and event time.',
+ 'path' => '/events',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '152296',
- 'abilityTreeNodes' => [
- 'FEATUREcskRXV8J4',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c23421cfa74454bc8b37163fd19af****',
- ],
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cf62854ac2130470897be7a27ed1f****', 'required' => false],
],
[
- 'name' => 'NodepoolId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'np8d8c9c2cd0f64e89884f82a5fbcd****',
- ],
+ 'name' => 'type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The event type. If you do not set this parameter, all types of events are queried. Valid values:'."\n"
+ .'- `cluster_create`: creates a cluster.'."\n"
+ .'- `cluster_scaleout`: scales out a cluster.'."\n"
+ .'- `cluster_attach`: adds existing nodes.'."\n"
+ .'- `cluster_delete`: deletes a cluster.'."\n"
+ .'- `cluster_upgrade`: upgrades a cluster.'."\n"
+ .'- `cluster_migrate`: migrates a cluster.'."\n"
+ .'- `cluster_node_delete`: removes nodes.'."\n"
+ .'- `cluster_node_drain`: drains nodes.'."\n"
+ .'- `cluster_modify`: modifies a cluster.'."\n"
+ .'- `cluster_configuration_modify`: modifies cluster management configurations.'."\n"
+ .'- `cluster_addon_install`: installs a component.'."\n"
+ .'- `cluster_addon_upgrade`: upgrades a component.'."\n"
+ .'- `cluster_addon_uninstall`: uninstalls a component.'."\n"
+ .'- `runtime_upgrade`: upgrades the runtime.'."\n"
+ .'- `nodepool_upgrade`: upgrades a node pool.'."\n"
+ .'- `nodepool_update`: updates a node pool.', 'type' => 'string', 'example' => 'nodepool_upgrade', 'required' => false],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The maximum number of results to return per page.'."\n"
+ ."\n"
+ .'Valid values: [1,100].'."\n"
+ ."\n"
+ .'Default value: 50.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'required' => false],
+ ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number for the paged query.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ ],
+ [
+ 'name' => 'next_token',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The query token. Set this parameter to the NextToken value returned by the previous API call.', 'type' => 'string', 'required' => false, 'example' => '5c0a1c0f91c14c6****'],
+ ],
+ [
+ 'name' => 'max_results',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The maximum number of results returned per request.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '请求体。',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
+ 'events' => [
+ 'description' => 'The event details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The event details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'event_id' => ['title' => '', 'description' => 'The event ID.', 'type' => 'string', 'example' => 'e-dba703c8-953b-40d8-82e8-cb713590****'],
+ 'type' => ['title' => '', 'description' => 'The event type. Valid values:'."\n"
+ .'- `cluster_create`: creates a cluster.'."\n"
+ .'- `cluster_scaleout`: scales out a cluster.'."\n"
+ .'- `cluster_attach`: adds existing nodes.'."\n"
+ .'- `cluster_delete`: deletes a cluster.'."\n"
+ .'- `cluster_upgrade`: upgrades a cluster.'."\n"
+ .'- `cluster_migrate`: migrates a cluster.'."\n"
+ .'- `cluster_node_delete`: removes nodes.'."\n"
+ .'- `cluster_node_drain`: drains nodes.'."\n"
+ .'- `cluster_modify`: modifies a cluster.'."\n"
+ .'- `cluster_configuration_modify`: modifies cluster management configurations.'."\n"
+ .'- `cluster_addon_install`: installs a component.'."\n"
+ .'- `cluster_addon_upgrade`: upgrades a component.'."\n"
+ .'- `cluster_addon_uninstall`: uninstalls a component.'."\n"
+ .'- `runtime_upgrade`: upgrades the runtime.'."\n"
+ .'- `nodepool_upgrade`: upgrades a node pool.'."\n"
+ .'- `nodepool_update`: updates a node pool.', 'type' => 'string', 'example' => 'nodepool_upgrade'],
+ 'source' => ['title' => '', 'description' => 'The event source.', 'type' => 'string', 'example' => 'task'],
+ 'subject' => ['title' => '', 'description' => 'The event subject.', 'type' => 'string', 'example' => 'np6a5c86f4ecae436f8f4a3dc034a7****'],
+ 'time' => ['title' => '', 'description' => 'The event start time.', 'type' => 'string', 'example' => '2025-04-23T20:48:01+08:00'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cf62854ac2130470897be7a27ed1f****'],
+ 'data' => [
+ 'title' => '',
+ 'description' => 'The event description.',
+ 'type' => 'object',
+ 'properties' => [
+ 'level' => ['title' => '', 'description' => 'The event level. Valid values:'."\n"
+ .'- info: informational.'."\n"
+ .'- warning: warning.'."\n"
+ .'- error: error.', 'type' => 'string', 'example' => 'info'],
+ 'reason' => ['title' => '', 'description' => 'The event status.', 'type' => 'string', 'example' => 'Started'],
+ 'message' => ['title' => '', 'description' => 'The event details.', 'type' => 'string', 'example' => 'Start to upgrade NodePool nodePool/nodePool-A'],
+ ],
+ 'example' => '',
+ ],
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- 'os_config' => [
- 'description' => 'The OS configuration.'."\n",
+ 'next_token' => ['title' => '', 'description' => 'The query token. This value is the next_token value returned by the previous API call.', 'type' => 'string', 'example' => '5c0a1c0f91c14c6****'],
+ 'page_info' => [
+ 'description' => 'The pagination information.',
'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',
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of results per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'page_number' => ['title' => '', 'description' => 'The page number for the paged query.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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' => '[{"errorExample":"","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 \\"next_token\\": \\"5c0a1c0f91c14c6****\\",\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 3\\n }\\n}","type":"json"}]',
+ 'title' => 'Query event details',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEvents'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeEvents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'DescribeEventsForRegion' => [
+ 'path' => '/regions/{region_id}/events',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '249410',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c905d1364c2dd4b6284a3f41790c4****',
- ],
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cf62854ac2130470897be7a27ed1f****', 'required' => false],
],
- ],
- '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',
- ],
- ],
- ],
+ [
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The maximum number of results to return on each page.'."\n"
+ ."\n"
+ .'Valid values: [1,100].'."\n"
+ ."\n"
+ .'Default value: 50.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'required' => false],
],
- '5XX' => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
- ],
- ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
],
- ],
- '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' => [],
+ 'name' => 'next_token',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
- ],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '401',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4JRUSW',
+ [
+ 'name' => 'max_results',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'region_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ca375a93a30474552ad2a0ebe183e****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
- [
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '请求体参数',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body parameters.',
'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",
+ 'events' => [
+ 'description' => 'The list of events.',
'type' => 'array',
'items' => [
- 'description' => 'The name of the ApsaraDB RDS instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rm-xxx',
+ 'description' => 'The event details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'event_id' => ['title' => '', 'description' => 'The event ID.', 'type' => 'string', 'example' => 'e-9ad04f72-8ee7-46bf-a02c-e4a06b39****'."\n"],
+ 'type' => ['title' => '', 'description' => 'The event type.', 'type' => 'string', 'example' => 'nodePool_upgrade'],
+ 'source' => ['title' => '', 'description' => 'The event source.', 'type' => 'string', 'example' => 'task'],
+ 'subject' => ['title' => '', 'description' => 'The object associated with the event.', 'type' => 'string', 'example' => 'npdd89dc2b76c04f14b06774883b******'],
+ 'time' => ['title' => '', 'description' => 'The time when the event occurred.', 'type' => 'string', 'example' => '2025-05-14T10:00:56+08:00'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****'],
+ 'data' => [
+ 'title' => '',
+ 'description' => 'The event description.',
+ 'type' => 'object',
+ 'properties' => [
+ 'level' => ['title' => '', 'description' => 'The event level.', 'type' => 'string', 'example' => 'info'],
+ 'reason' => ['title' => '', 'description' => 'The event status.', 'type' => 'string', 'example' => 'Started'],
+ 'message' => ['title' => '', 'description' => 'The event details.', 'type' => 'string', 'example' => 'Start to upgrade NodePool nodePool/nodePool-A'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'title' => '',
+ 'example' => '',
],
- 'one_time_token' => [
- 'type' => 'boolean',
+ 'next_token' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'page_info' => [
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of results displayed on each page.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
- 'example' => 'amd64',
+ 'example' => '',
],
],
],
- '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/***',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Query events in a specified region',
+ 'summary' => 'Queries all events in a specified region.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEventsForRegion'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeEventsForRegion',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- '5XX' => [],
],
- 'responseDemo' => '[{"type":"json","example":"\\"\\\\\\"wget http://***.oss-cn-hangzhou.aliyuncs.com/***\\\\\\"\\"","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
- 'title' => 'DescribeClusterAttachScripts',
+ '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 \\"next_token\\": \\"\\",\\n \\"page_info\\": {\\n \\"page_size\\": 50,\\n \\"page_number\\": 1,\\n \\"total_count\\": 3\\n }\\n}","type":"json"}]',
'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',
- ],
+ 'DescribeExternalAgent' => [
+ 'summary' => 'Queries the agent configuration for 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',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '37485',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'abilityTreeCode' => '392',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c0XXXXXXX10',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
],
[
- '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,
- ],
+ 'name' => 'PrivateIpAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to obtain internal network access credentials.'."\n"
+ ."\n"
+ .'- `true`: obtains only internal network connection credentials.'."\n"
+ .'- `false`: obtains only public network connection credentials.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'string', 'example' => 'true', 'required' => false],
+ ],
+ [
+ 'name' => 'AgentMode',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The permission mode of the agent. Valid values:'."\n"
+ ."\n"
+ .'admin: administrator mode with full permissions.'."\n"
+ .'restricted: restricted mode with limited permissions.'."\n"
+ .'Default value: admin.', 'type' => 'string', 'example' => 'admin', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response body.',
'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********',
- ],
+ 'config' => ['title' => '', 'description' => 'The agent configuration in YAML format.', 'type' => 'string', 'example' => 'apiVersion: v1****'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"config\\": \\"apiVersion: v1****\\"\\n}","type":"json"}]',
+ 'title' => 'Query cluster agent',
+ 'description' => 'For more information about cluster registration, see [Register an external Kubernetes cluster](~~121053~~).',
+ 'changeSet' => [
+ ['createdAt' => '2023-08-14T06:22:48.000Z', 'description' => 'Request parameters changed'],
],
- 'security' => [
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExternalAgent'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeExternalAgent',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'machine',
+ ],
+ 'DescribeKubernetesVersionMetadata' => [
+ 'summary' => 'You can call the DescribeKubernetesVersionMetadata operation to query detailed information about Kubernetes versions, including version information, release dates and expiration dates, compatible operating systems, and container runtimes.',
+ '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',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4JRUSW',
- ],
+ 'abilityTreeCode' => '526',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The ID of the region where the cluster is deployed.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing'],
],
[
- 'name' => 'instanceIds',
+ 'name' => 'ClusterType',
'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****"',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster type. Valid values:'."\n"
+ ."\n"
+ .'- `Kubernetes`: ACK dedicated cluster.'."\n"
+ .'- `ManagedKubernetes`: ACK managed cluster, including ACK Pro cluster, ACK Basic cluster, ACK Serverless Pro cluster, ACK Serverless Basic cluster, ACK Edge Pro cluster, and ACK Edge Basic cluster.', 'type' => 'string', 'required' => true, 'example' => 'Kubernetes'],
],
[
- 'name' => 'nodepool_id',
+ 'name' => 'KubernetesVersion',
'in' => 'query',
- 'schema' => [
- 'title' => '节点池ID。',
- 'description' => 'The node pool ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'np****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster version, which is consistent with the Kubernetes community baseline version. We recommend that you select the latest version. If you do not specify this parameter, the latest version is used by default.'."\n"
+ ."\n"
+ .'For more information about the Kubernetes versions supported by ACK, see [Kubernetes version release overview](~~185269~~).', 'type' => 'string', 'example' => '1.32.1-aliyun.1', 'required' => false],
],
[
- 'name' => 'state',
+ 'name' => 'Profile',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster type for specific scenarios. Valid values:'."\n"
+ ."\n"
+ .'- `Default`: non-edge scenario cluster.'."\n"
+ .'- `Edge`: edge scenario cluster.'."\n"
+ .'- `Serverless`: ACK Serverless cluster.'."\n"
+ ."\n"
+ .'Default value: `Default`.', 'type' => 'string', 'example' => 'Default', 'required' => false],
],
[
- 'name' => 'pageSize',
+ 'name' => 'runtime',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The runtime type. You can specify the runtime type to filter the system images that are supported by the runtime. Valid values:'."\n"
+ ."\n"
+ .'- `docker`: Docker runtime.'."\n"
+ .'- `containerd`: containerd runtime.'."\n"
+ .'- `Sandboxed-Container.runv`: sandboxed container.'."\n"
+ ."\n"
+ .'If you specify the runtime type, the image versions supported by the specified runtime are returned.'."\n"
+ ."\n"
+ .'If you do not specify the runtime type, all images are returned by default.', 'type' => 'string', 'example' => 'containerd', 'required' => false],
],
[
- 'name' => 'pageNumber',
+ 'name' => 'Mode',
'in' => 'query',
'schema' => [
- 'title' => '分页数量',
- 'description' => 'The page number.'."\n"
+ 'title' => '',
+ 'description' => 'The query mode. Valid values:'."\n"
+ .'- `supported`: queries supported versions.'."\n"
+ .'- `creatable`: queries creatable versions.'."\n"
+ ."\n"
+ .'If you specify `KubernetesVersion`, the query mode is ignored.'."\n"
."\n"
- .'Default value: 1.'."\n",
+ .'If you do not specify the query mode, creatable versions are returned by default.',
+ 'enumValueTitles' => [],
'type' => 'string',
+ 'example' => 'supported',
+ 'default' => 'creatable',
+ 'enum' => [],
'required' => false,
- 'example' => '1',
],
],
+ [
+ 'name' => 'QueryUpgradableVersion',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to query upgradable versions for the specified cluster version. This parameter takes effect only when the KubernetesVersion parameter is specified.'."\n"
+ ."\n"
+ .'- true: queries upgradable versions.'."\n"
+ ."\n"
+ .'- false: does not query upgradable versions.', 'type' => 'boolean', 'required' => false, 'example' => '1.30.1-aliyun.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"
+ 'title' => '',
+ 'description' => 'The list of cluster version details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The version details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'capabilities' => ['title' => '', 'description' => 'The feature capabilities of the Kubernetes version.', 'type' => 'object', 'example' => '{'."\n"
+ .' "AnyAZ": true,'."\n"
+ .' "ChargeType": "PostPaid"'."\n"
+ .'}'],
+ 'images' => [
+ 'title' => '',
+ 'description' => 'The list of system images.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The image details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'image_id' => ['title' => '', 'description' => 'The image ID.', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20241218.vhd'],
+ 'image_name' => ['title' => '', 'description' => 'The image name.', 'type' => 'string', 'example' => 'Alibaba Cloud Linux 3.2104'],
+ 'platform' => ['title' => '', 'description' => 'The operating system platform. Valid values:'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `CentOS`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`', 'type' => 'string', 'example' => 'AliyunLinux'],
+ 'os_version' => ['title' => '', 'description' => 'The image version.', 'type' => 'string', 'example' => '3.2104'],
+ 'image_type' => ['title' => '', 'description' => 'The type of the operating system distribution. We recommend that you use this field to specify the node operating system. 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"
+ .'- `CentOS`'."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `AliyunLinux Qboot`'."\n"
+ .'- `AliyunLinuxUEFI`'."\n"
+ .'- `AliyunLinux3`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`'."\n"
+ .'- `AliyunLinux3Arm64`'."\n"
+ .'- `ContainerOS`', 'type' => 'string', 'example' => 'AliyunLinux3'],
+ 'os_type' => ['title' => '', 'description' => 'The operating system type. Examples:'."\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"
+ .'- `Windows`'."\n"
+ .'- `Linux`', 'type' => 'string', 'example' => 'Linux'],
+ 'image_category' => ['title' => '', 'description' => 'The image category. Partial 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',
+ .'- `system`: public image.'."\n"
+ .'- `self`: custom image.'."\n"
+ .'- `others`: shared image from other users.'."\n"
+ .'- `marketplace`: Alibaba Cloud Marketplace image.'."\n", 'type' => 'string', 'example' => 'system'],
+ 'architecture' => ['title' => '', 'description' => 'The image architecture.', 'type' => 'string', 'example' => 'x86_64'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
- ],
- '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',
- ],
+ 'meta_data' => ['title' => '', 'description' => 'The metadata of the Kubernetes version.', 'type' => 'object', 'example' => '{'."\n"
+ .' "KubernetesVersion": "1.31.1-aliyun.1",'."\n"
+ .' "SubClass": "default",'."\n"
+ .' "ServiceCIDR": ""'."\n"
+ .'}'],
+ 'runtimes' => [
+ 'title' => '',
+ 'description' => 'The container runtime configurations.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The container runtime configuration.', '$ref' => '#/components/schemas/runtime', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'version' => ['title' => '', 'description' => 'The Kubernetes version released by ACK. For more information about versions, see [Kubernetes version release overview](~~185269~~).', 'type' => 'string', 'example' => '1.31.1-aliyun.1'],
+ 'release_date' => ['title' => '', 'description' => 'The release date of the Kubernetes version.', 'type' => 'string', 'example' => '2025-01-30T00:00:00Z'],
+ 'expiration_date' => ['title' => '', 'description' => 'The expiration date of the Kubernetes version.', 'type' => 'string', 'example' => '2026-01-30T00:00:00Z'],
+ 'creatable' => ['title' => '', 'description' => 'Indicates whether the Kubernetes version can be used to create clusters.', 'type' => 'boolean', 'example' => 'true'],
+ 'upgradable_versions' => [
+ 'title' => '',
+ 'description' => 'The list of upgradable versions.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'An upgradable version.', 'type' => 'string', 'example' => '1.32.1-aliyun.1'],
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"containerd\\",\\n \\"version\\": \\"1.6.20\\"\\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]","type":"json"}]',
+ 'title' => 'Query detailed information about Kubernetes versions',
+ 'changeSet' => [
+ ['createdAt' => '2024-05-14T12:54:01.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-07-18T04:57:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeKubernetesVersionMetadata'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
- ],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeKubernetesVersionMetadata',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeNodePoolVuls' => [
+ 'summary' => 'Queries the security vulnerability details of a node pool by node pool ID by calling the DescribeNodePoolVuls operation. The details include vulnerability names and severity levels. Regularly scan node pools for security vulnerabilities to improve cluster security.',
+ 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/vuls',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4JRUSW',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '119077',
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c17e742cee942410486f237293d66****', 'title' => ''],
],
[
- '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,
- ],
+ 'name' => 'nodepool_id',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np38f32fdbc60e4a1e957ffde77846****', 'title' => ''],
+ ],
+ [
+ 'name' => 'necessity',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The vulnerability fix urgency levels to query. Separate multiple levels with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- `asap`: high'."\n"
+ .'- `later`: medium'."\n"
+ .'- `nntf`: low.', 'type' => 'string', 'required' => false, 'example' => 'asap', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体数据。',
- 'description' => 'The response body.'."\n",
'type' => 'object',
'properties' => [
- 'list' => [
- 'title' => '节点信息列表。',
- 'description' => 'The details of the added nodes.'."\n",
+ 'vul_records' => [
+ 'description' => 'The list of node pool vulnerabilities.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The list of node pool vulnerabilities.',
'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',
+ 'instance_id' => ['description' => 'The node instance ID.', 'type' => 'string', 'example' => 'i-t4n2qolb0wtzt0pz****', 'title' => ''],
+ 'vul_list' => [
+ 'description' => 'The list of vulnerabilities.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The vulnerability information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The vulnerability name.', 'type' => 'string', 'example' => 'oval:com.redhat.rhsa:def:20193197', 'title' => ''],
+ 'alias_name' => ['description' => 'The vulnerability alias.', 'type' => 'string', 'example' => 'RHSA-2019:3197-Important: sudo security update', 'title' => ''],
+ 'necessity' => [
+ 'description' => 'The vulnerability severity level.',
+ 'enumValueTitles' => ['nntf' => 'Fix not urgently required.', 'later' => 'Fix can be deferred.', 'asap' => 'Fix required as soon as possible.'],
+ 'type' => 'string',
+ 'example' => 'asap',
+ 'title' => '',
+ ],
+ 'cve_list' => [
+ 'description' => 'The list of CVEs associated with the vulnerability.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The CVE name.', 'type' => 'string', 'example' => 'CVE-2017-10268', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'need_reboot' => ['title' => '', 'description' => 'Indicates whether a restart is required.', 'type' => 'boolean', 'example' => 'false'],
+ 'package_list' => [
+ 'title' => '',
+ 'description' => 'The list of packages affected by the vulnerability.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The package information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The package name.', 'type' => 'string', 'example' => 'WebLogic'],
+ ],
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'node_name' => ['description' => 'The node name, which is the identifier of the node within the cluster.', 'type' => 'string', 'example' => 'cn-hangzhou.192.168.x.x', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'task_id' => [
- 'title' => '任务ID。',
- 'description' => 'The task ID.'."\n",
- 'type' => 'string',
- 'example' => 'T-5a544aff80282e39ea000039',
- ],
+ 'vuls_fix_service_purchased' => ['title' => '', 'description' => 'Indicates whether the Security Center CVE fix service has been purchased.'."\n"
+ ."\n"
+ .'- true: Purchased.'."\n"
+ ."\n"
+ .'- false: Not purchased.', 'type' => 'boolean', 'example' => 'false'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- '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',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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\\": \\"WebLogic\\"\\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' => 'Query node pool vulnerabilities',
+ 'changeSet' => [
+ ['createdAt' => '2025-08-19T05:49:53.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-06-19T06:51:18.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-01-05T11:27:58.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-01-04T02:12:49.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2022-08-30T13:20:45.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-07-21T12:21:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNodePoolVuls'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeNodePoolVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribePolicies' => [
+ 'summary' => 'ACK cluster container security policies provide a comprehensive built-in rule library that includes Compliance, Infra, K8s-general, and PSP categories to ensure the secure operation of containers in production environments. You can call the DescribePolicies operation to query the list of policy governance rule libraries.',
+ 'path' => '/policies',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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',
- ],
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The rule library list. The key is the policy type, and the value is all policy names under that policy type.',
'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****',
- ],
+ 'additionalProperties' => [
+ 'title' => '',
+ 'description' => '某个策略类型下的所有策略模板名称列表',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => '更多策略规则,请参见[容器安全策略规则库说明](~~359819~~)。', 'type' => 'string', 'example' => 'ACKNoEnvVarSecrets'],
+ 'example' => '',
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"key\\": [\\n \\"ACKNoEnvVarSecrets\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'Query the list of policy governance rule libraries',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicies'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribePolicyDetails' => [
+ 'summary' => 'ACK cluster container security policies provide a rich set of built-in rule libraries, including Compliance, Infra, K8s-general, and PSP, to ensure the secure operation of containers in production environments. You can call the DescribePolicyDetails operation to query the details of a specified policy governance rule, such as the rule template description, governance action, and governance severity level.',
+ 'path' => '/policies/{policy_name}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '373',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'policy_name',
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'required' => true, 'example' => 'ACKAllowedRepos'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
- ],
+ 'name' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'example' => 'ACKAllowedRepos'],
+ 'category' => ['title' => '', 'description' => 'The rule templatetype.', 'type' => 'string', 'example' => 'k8s-general'],
+ 'description' => ['title' => '', 'description' => 'The description of the rule template.', 'type' => 'string', 'example' => 'Requires container images to begin with a repo string from a specified list'],
+ 'action' => ['title' => '', 'description' => 'The governance action of the rule. Valid values:'."\n"
+ .'- `enforce`: blocks non-compliant deployments.'."\n"
+ .'- `inform`: generates alerts.', 'type' => 'string', 'example' => 'enforce'],
+ 'severity' => ['title' => '', 'description' => 'The governance severity level of the rule. Valid values:'."\n"
+ .'* `high`: high risk.'."\n"
+ .'* `medium`: medium risk.'."\n"
+ .'* `low`: low risk.', 'type' => 'string', 'example' => 'high'],
+ 'template' => ['title' => '', 'description' => 'The details of the rule template.', 'type' => 'string', 'example' => '详情请参见请求示例'],
+ 'no_config' => ['title' => '', 'description' => 'Indicates whether policy configuration is required. Valid values: '."\n"
+ .'- 0: Parameter settings are required.'."\n"
+ .'- 1: No parameter settings are required.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'is_deleted' => ['title' => '', 'description' => 'Indicates whether the rule is deleted. Valid values:'."\n"
+ .'- 0: The rule is not deleted.'."\n"
+ .'- 1: The rule is deleted.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query details of a specified policy governance rule',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyDetails'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyDetails',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribePolicyGovernanceInCluster' => [
+ 'summary' => 'ACK cluster container security policies provide a rich set of built-in rule libraries, including Compliance, Infra, K8s-general, and PSP, to ensure the secure operation of containers in production environments. You can call the DescribePolicyGovernanceInCluster operation to query detailed policy governance information for a specified cluster, such as the count of enabled policies at different severity levels, policy governance audit logs, and interception and alert details.',
+ 'path' => '/clusters/{cluster_id}/policygovernance',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '190344',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'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****',
- ],
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'addons' => [
- 'title' => '可用组件列表。',
- 'description' => 'The list of available components.'."\n",
+ 'on_state' => [
+ 'title' => '',
+ 'description' => 'The count of enabled policies at different severity levels in the current cluster.',
'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' => '{}',
+ 'enabled_count' => ['title' => '', 'description' => 'The number of enabled policy types.', 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
+ 'total' => ['title' => '', 'description' => 'The total number of policy types at this severity level.', 'type' => 'integer', 'format' => 'int32', 'example' => '8'],
+ 'severity' => ['title' => '', 'description' => 'The policy governance severity level.', 'type' => 'string', 'example' => 'high'],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'admit_log' => [
+ 'title' => '',
+ 'description' => 'The policy governance audit logs of the current cluster.',
+ 'type' => 'object',
+ 'properties' => [
+ 'progress' => ['title' => '', 'description' => 'The status of the query result. Valid values:'."\n"
+ .'* `Complete`: The query is complete and the returned result is the complete result.'."\n"
+ .'* `Incomplete`: The query is complete but the returned result is incomplete. Repeat the request to obtain the complete result.', 'type' => 'string', 'example' => 'Complete'],
+ 'count' => ['title' => '', 'description' => 'The total number of logs returned by the current query.', 'type' => 'integer', 'format' => 'int64', 'example' => '100'],
+ 'logs' => [
+ 'description' => 'The log entries for policy violations.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'hash code', 'title' => ''],
+ 'constraint_action' => ['description' => 'The action taken by the policy, including alert (warn) and block (deny). Valid values:'."\n"
+ .'- warn: Only alerts on behaviors that violate the policy without actually blocking the request.'."\n"
+ .'- deny: Blocks requests that violate the policy.', 'type' => 'string', 'example' => 'deny', 'title' => ''],
+ 'constraint_api_version' => ['description' => 'The API version of the policy.', 'type' => 'string', 'example' => 'v1beta1', 'title' => ''],
+ 'constraint_category' => ['description' => 'The policy type.', 'type' => 'string', 'example' => 'cis-k8s', 'title' => ''],
+ 'constraint_group' => ['description' => 'The API group of the policy.', 'type' => 'string', 'example' => 'constraints.gatekeeper.sh', 'title' => ''],
+ 'constraint_kind' => ['description' => 'The policy name in policy management.', 'type' => 'string', 'example' => 'ACKNamespacesDeleteProtection', 'title' => ''],
+ 'constraint_name' => ['description' => 'The policy instance name.', 'type' => 'string', 'example' => 'namespace-delete-protection-jpjwv', 'title' => ''],
+ 'event_msg' => ['description' => 'The detailed information about the policy action.', 'type' => 'string', 'example' => 'Admission webhook \\"validation.gatekeeper.sh\\" denied request, Resource Namespace: , Constraint: namespace-delete-protection-jpjwv, Message: not allow to delete protection namespace test.', 'title' => ''],
+ 'event_type' => ['description' => 'The type of event triggered by the policy, such as violation.', 'type' => 'string', 'example' => 'violation', 'title' => ''],
+ 'request_uid' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'hash code', 'title' => ''],
+ 'request_userinfo' => ['description' => 'The information about the user whose request violated the policy.', 'type' => 'string', 'example' => 'account id', 'title' => ''],
+ 'request_username' => ['description' => 'The name of the user whose request violated the policy.', 'type' => 'string', 'example' => 'account user name'."\n", 'title' => ''],
+ 'resource_kind' => ['description' => 'The type of resource that violated the policy. For example, if a request to operate on a Namespace is rejected, this field is set to Namespace.', 'type' => 'string', 'example' => 'Namespace', 'title' => ''],
+ 'resource_name' => ['description' => 'The name of the resource that violated the policy.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'time' => ['description' => 'The time when the policy violation occurred.', 'type' => 'string', 'example' => '2025-10-27T11:31:40Z', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ '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',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'log_project' => ['description' => 'The log project that stores policy action information.', 'type' => 'string', 'example' => 'k8s-log-clusterid', 'title' => ''],
+ 'log_store' => ['description' => 'The Logstore that stores policy action information.', 'type' => 'string', 'example' => 'policyadmit-clusterid', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ 'Violation' => [
+ 'description' => 'The policy violation information aggregated by severity level.',
+ 'type' => 'object',
+ 'properties' => [
+ 'totalViolations' => [
+ 'description' => 'The summary information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'deny' => [
+ 'description' => 'The summary of block records.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'severity' => ['description' => 'The severity level. Valid values: low, medium, and high.', 'type' => 'string', 'example' => 'medium', 'title' => ''],
+ 'violations' => ['description' => 'The number of violations.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'warn' => [
+ 'description' => 'The summary of alert records.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'severity' => ['description' => 'The summary of severity levels.', 'type' => 'string', 'example' => 'high', 'title' => ''],
+ 'violations' => ['description' => 'The total number of violations.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- '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',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'violations' => [
+ 'description' => 'The violation records aggregated by policy name.',
+ 'type' => 'object',
+ 'properties' => [
+ 'deny' => [
+ 'description' => 'The summary of block records.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'policyDescription' => ['description' => 'The policy description.', 'type' => 'string', 'example' => 'Prevent specific namespaces from being deleted.', 'title' => ''],
+ 'policyName' => ['description' => 'The policy name.', 'type' => 'string', 'example' => 'ACKNamespacesDeleteProtection', 'title' => ''],
+ 'severity' => ['description' => 'The severity level.', 'type' => 'string', 'example' => 'medium', 'title' => ''],
+ 'violations' => ['description' => 'The number of violations.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'warn' => [
+ 'description' => 'The summary of alert information.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'policyDescription' => ['description' => 'The policy description.', 'type' => 'string', 'title' => '', 'example' => ''],
+ 'policyName' => ['description' => 'The policy name.', 'type' => 'string', 'title' => '', 'example' => ''],
+ 'severity' => ['description' => 'The severity level.', 'type' => 'string', 'title' => '', 'example' => ''],
+ 'violations' => ['description' => 'The number of violations.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query policy governance details of a cluster',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-30T09:33:04.000Z', 'description' => 'Response parameters changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyGovernanceInCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyGovernanceInCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribePolicyInstances' => [
+ 'summary' => 'You can select a security policy type in an ACK cluster, configure the related enforcement actions and scope, and create and deploy a policy instance. You can call the DescribePolicyInstances operation to retrieve the details of specified policy instances in a cluster, such as the policy description and governance level.',
+ 'path' => '/clusters/{cluster_id}/policies',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '104729',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'parameters' => [
[
'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c02b3e03be10643e8a644a843ffcb****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
+ ],
+ [
+ 'name' => 'policy_name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'required' => false, 'example' => 'ACKPSPCapabilities'],
+ ],
+ [
+ 'name' => 'instance_name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The name of the policy instance.', 'type' => 'string', 'required' => false, 'example' => 'allowed-repos-cz4s2'],
],
],
'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',
- ],
- ],
- ],
- ],
+ 'title' => '',
+ 'description' => 'The list of policy instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '策略实例。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ali_uid' => ['title' => '', 'description' => '策略实例实施者UID。', 'type' => 'string', 'example' => '16298168****'],
+ 'cluster_id' => ['title' => '', 'description' => '目标集群ID。', 'type' => 'string', 'example' => 'c8155823d057948c69a****'],
+ 'instance_name' => ['title' => '', 'description' => '规则实例名称。', 'type' => 'string', 'example' => 'no-env-var-secrets-****'],
+ 'policy_name' => ['title' => '', 'description' => '策略治理规则名称。', 'type' => 'string', 'example' => 'ACKPSPCapabilities'],
+ 'policy_category' => ['title' => '', 'description' => '策略类型名称。', 'type' => 'string', 'example' => 'k8s-general'],
+ 'policy_description' => ['title' => '', 'description' => '规则模板描述。', 'type' => 'string', 'example' => 'Restricts secrets used in pod envs'],
+ 'policy_parameters' => ['title' => '', 'description' => '当前规则实例的配置参数。', 'type' => 'string', 'example' => '"restrictedNamespaces": [ "test" ]'],
+ 'policy_severity' => ['title' => '', 'description' => '规则实例治理等级。', 'type' => 'string', 'example' => 'low'],
+ 'policy_scope' => ['title' => '', 'description' => '策略实例实施范围:'."\n"
+ ."\n"
+ .'默认"*"代表集群所有命名空间。'."\n"
+ ."\n"
+ .'否则返回作用Namespaces名称,多个Namespaces以逗号(,)分隔。', 'type' => 'string', 'example' => '*'],
+ 'policy_action' => ['title' => '', 'description' => '规则治理动作,取值:'."\n"
+ ."\n"
+ .'- `deny`:拦截违规部署。'."\n"
+ ."\n"
+ .'- `warn`:告警。', 'type' => 'string', 'example' => 'deny'],
+ 'Created' => ['title' => '', 'description' => '创建时间(已废弃,请勿使用)。', 'type' => 'string', 'deprecated' => true, 'example' => '2024-10-29T18:09:12+08:00'],
+ 'Updated' => ['title' => '', 'description' => '更新时间(已废弃,请勿使用)。', 'type' => 'string', 'deprecated' => true, 'example' => '2024-10-29T18:09:12+08:00'],
+ 'resource_id' => ['title' => '', 'description' => '资源ID(已废弃,请勿使用)。', 'type' => 'string', 'deprecated' => true, 'example' => '123456***'],
+ 'total_violations' => ['title' => '', 'description' => '集群中处理违规计数(已废弃,请勿使用)。', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'default' => '0', 'example' => '0'],
+ 'is_deleted' => ['title' => '', 'description' => '删除状态(已废弃,请勿使用)。', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'default' => '0', 'example' => '0'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'List policy instances',
+ 'changeSet' => [
+ ['createdAt' => '2024-10-23T05:54:16.000Z', 'description' => 'Response parameters changed'],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyInstances'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribePolicyInstancesStatus' => [
+ 'summary' => 'Queries the deployment status of policy instances for different policy types in a cluster, including the number of enabled instances for each policy rule and the number of enabled policy types at different governance levels.',
+ 'path' => '/clusters/{cluster_id}/policies/status',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
+ 'policy_instances' => [
+ 'title' => '',
+ 'description' => 'The list of policy instance counts for different policy types.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'policy_category' => ['description' => 'The policy type. For more information about supported policy types and their descriptions, see [Container security policy rule library](~~359819~~).', 'type' => 'string', 'example' => 'compliance', 'title' => ''],
+ 'policy_name' => ['description' => 'The policy name.', 'type' => 'string', 'example' => 'ACKRestrictRoleBindings', 'title' => ''],
+ 'policy_description' => ['description' => 'The policy description.', 'type' => 'string', 'example' => 'Restricts use of the cluster-admin role.', 'title' => ''],
+ 'policy_severity' => ['description' => 'The governance level of the policy.', 'type' => 'string', 'example' => 'medium', 'title' => ''],
+ 'policy_instances_count' => ['description' => 'The number of deployed policy instances. If this field is empty, no policy instances of this type are deployed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
+ 'instances_severity_count' => ['description' => 'The number of policy instances deployed in the cluster at different governance levels.', 'type' => 'object', 'example' => '{ "high": 11, "medium": 1 }', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'View policy instance deployment details',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyInstancesStatus'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyInstancesStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeRegions' => [
+ 'summary' => 'Queries the list of regions.',
+ 'path' => '/regions',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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' => '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',
+ 'name' => 'clusterType',
'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",
+ 'title' => '',
+ 'description' => 'The cluster type.',
+ 'enumValueTitles' => ['ExternalKubernetes' => 'registered cluster.', 'ManagedKubernetes' => 'managed cluster.', 'Kubernetes' => 'dedicated cluster.'],
'type' => 'string',
+ 'enum' => ['Kubernetes', 'ManagedKubernetes', 'ExternalKubernetes'],
'required' => false,
'example' => 'ManagedKubernetes',
],
@@ -16636,1756 +11529,1108 @@
'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",
+ 'title' => '',
+ 'description' => 'The subtype of managed clusters.',
+ 'enumValueTitles' => ['Lingjun' => 'ACK Lingjun cluster.', 'Serverless' => 'ACK Serverless cluster.', 'Default' => 'ACK managed cluster.', 'Edge' => 'ACK Edge cluster.'],
'type' => 'string',
+ 'enum' => ['Default', 'Serverless', 'Edge', 'Lingjun'],
'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',
+ 'name' => 'acceptLanguage',
'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",
+ 'title' => '',
+ 'description' => 'Filters the results by language (Chinese or English).',
'type' => 'string',
+ 'enum' => ['zh-CN', 'en-US'],
'required' => false,
- 'example' => 'v1.9.3.10-7dfca203-aliyun',
+ 'example' => 'zh-CN',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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",
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CE0F23E3-C5F5-5FB3-AA9F-134093C49C60'],
+ 'regions' => [
+ 'description' => 'The list of regions.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the latest version.'."\n",
+ 'description' => 'The region information.',
'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',
- ],
+ 'regionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'localName' => ['description' => 'The region name.', 'type' => 'string', 'example' => '华东1(杭州)', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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"}]',
+ 'title' => 'Query regions',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeRegions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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 &lt;key,value,effect&gt; using the matching operator &lt;operator&gt;.\\", \\"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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeResourcesDeleteProtection' => [
+ 'summary' => 'Queries whether deletion protection is enabled for a specified resource in a cluster. Resources that support deletion protection include namespaces and services.',
+ 'path' => '/clusters/{ClusterId}/resources/{ResourceType}/protection',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '198785',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM', 'FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c71d616e629ff40d5b42d7bb87770****',
- ],
+ 'schema' => ['description' => 'The ACK cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****', 'title' => ''],
],
[
- 'name' => 'component_id',
+ 'name' => 'ResourceType',
'in' => 'path',
'schema' => [
- 'title' => '组件ID',
- 'description' => 'The component ID.'."\n",
+ 'description' => 'The type of resource to query. Valid values:'."\n"
+ ."\n"
+ .'- namespaces: namespace.'."\n"
+ ."\n"
+ .'- services: service.',
'type' => 'string',
'required' => true,
- 'example' => 'coredns',
+ 'enum' => ['namespaces', 'services'],
+ 'example' => 'namespaces',
+ 'title' => '',
],
],
[
- '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' => [],
+ 'name' => 'namespace',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The namespace of the resource to query.'."\n"
+ ."\n"
+ .'This parameter is required when resource_type is set to services. If this parameter is not specified, the namespace defaults to default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
- ],
- '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',
+ 'name' => 'resources',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the resource to query. Separate multiple resources with commas (,).'."\n"
+ ."\n"
+ .'- If resource_type is set to namespaces, set this parameter to namespace names. If this parameter is not specified, the deletion protection status of all namespaces in the cluster is queried.'."\n"
+ ."\n"
+ .'- If resource_type is set to services, this parameter is required. Set this parameter to service names.', 'type' => 'string', 'required' => false, 'example' => 'test1,test2', 'title' => ''],
],
],
- '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',
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => 'Request body,类型是对象数组',
- 'description' => 'The request parameters.'."\n",
+ 'description' => 'The list of deletion protection statuses for the specified resources.',
'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',
- ],
+ 'name' => ['description' => 'The name of the queried resource.', 'type' => 'string', 'required' => true, 'example' => 'arms-prom', 'title' => ''],
+ 'namespace' => ['description' => 'The namespace of the queried resource.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'resource' => ['description' => 'The type of the queried resource.', 'type' => 'string', 'example' => 'namespaces', 'title' => ''],
+ 'protection' => ['description' => 'Indicates whether deletion protection is enabled.'."\n"
+ .'- true: enabled.'."\n"
+ .'- false: disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
- 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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****',
- ],
+ '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' => 'Query whether deletion protection is enabled for a specified resource',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeResourcesDeleteProtection'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeResourcesDeleteProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- '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',
+ 'translator' => 'machine',
],
- 'ListClusterAddonInstanceResources' => [
- 'summary' => '获取集群组件实例的资源列表',
- 'path' => '/clusters/{cluster_id}/addon_instances/{instance_name}/resources',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DescribeSubaccountK8sClusterUserConfig' => [
+ 'summary' => 'As a cluster permission management administrator, you can use an Alibaba Cloud account to issue KubeConfig credentials that contain identity information for a specified Resource Access Management (RAM) user or RAM role within the account. These credentials are used to connect to ACK clusters. You can invoke the DescribeSubaccountK8sClusterUserConfig operation to issue or retrieve the KubeConfig for any RAM user or role within the account.',
+ 'path' => '/k8s/{ClusterId}/users/{Uid}/user_config',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
+ 'operationType' => 'get',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '215253',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
+ 'abilityTreeCode' => '162217',
+ 'abilityTreeNodes' => ['FEATUREcsk7DKI2D'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cb95aa626a47740afbf6aa099b650****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8f****', 'title' => ''],
],
[
- 'name' => 'instance_name',
+ 'name' => 'Uid',
'in' => 'path',
- 'schema' => [
- 'title' => '组件实例名称。',
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'terway-eniip',
- ],
+ 'schema' => ['description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.', 'type' => 'string', 'required' => true, 'example' => '26562443851650****', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrivateIpAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to obtain the internal network connection configuration. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Obtains only the KubeConfig credentials for internal network connections.'."\n"
+ .'- `false`: Obtains only the KubeConfig credentials for public network connections.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'TemporaryDurationMinutes',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The validity period of the temporary KubeConfig. Unit: minutes.'."\n"
+ ."\n"
+ .'Valid values: [15, 4320], which is up to 3 days.'."\n"
+ .'> If this parameter is not set, the system automatically determines a longer validity period. The specific expiration time is indicated by the value of the expiration field in the response.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '15', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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',
- ],
- ],
- ],
+ 'config' => ['description' => 'The KubeConfig of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'apiVersion: v1\\nclusters:\\n- cluster:\\n server: https://114.55.xx.xx:6443\\n certificate-authority-data: LS0tLS****', 'title' => ''],
+ 'expiration' => ['description' => 'The expiration time of the KubeConfig. Format: UTC time in RFC 3339 format.', 'type' => 'string', 'example' => '2028-04-09T06:20:47Z', 'title' => ''],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Obtain the cluster kubeConfig of a specified RAM user or role by using an Alibaba Cloud account',
+ 'description' => 'This operation can be called only by an Alibaba Cloud account.',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-15T02:07:35.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSubaccountK8sClusterUserConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeSubaccountK8sClusterUserConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeTaskInfo' => [
+ 'path' => '/tasks/{task_id}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '13132',
- 'abilityTreeNodes' => [
- 'FEATUREcskM5ADAN',
- ],
+ 'abilityTreeCode' => '6923',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'uid',
+ 'name' => 'task_id',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'required' => true, 'example' => 'T-5faa48fb31b6b8078d00****'],
],
],
'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',
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5faa48fb31b6b8078d000006'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c78592bfe92244365b3c3ad47f1de****'],
+ 'task_type' => ['title' => '', 'description' => 'The task type. The type of a scale-out task is `cluster_scaleout`.', 'type' => 'string', 'example' => 'cluster_scaleout'],
+ 'state' => ['title' => '', 'description' => 'The running status of the task. Valid values:'."\n"
+ .'- `running`: The task is running.'."\n"
+ .'- `fail`: The task failed.'."\n"
+ .'- `success`: The task succeeded.', 'type' => 'string', 'example' => 'running'],
+ 'created' => ['title' => '', 'description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2020-11-10T16:02:04+08:00'],
+ 'updated' => ['title' => '', 'description' => 'The time when the task was updated.', 'type' => 'string', 'example' => '2020-11-10T16:03:06+08:00'],
+ 'target' => [
+ 'title' => '',
+ 'description' => 'The target object of the task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => 'The ID of the target object.', 'type' => 'string', 'example' => 'c78592bfe92244365b3c3ad47f1de****'."\n"],
+ 'type' => ['title' => '', 'description' => 'The object type of the node on which the task is executed.', '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',
+ 'example' => '',
+ ],
+ 'parameters' => ['title' => '', 'description' => 'The task parameters.', 'type' => 'object', 'example' => ''],
+ 'stages' => [
+ 'title' => '',
+ 'description' => 'The task stages.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The task stages.',
+ 'type' => 'object',
+ 'properties' => [
+ 'state' => ['title' => '', 'description' => 'The status of the task stage.', 'type' => 'string', 'example' => 'running'],
+ 'start_time' => ['title' => '', 'description' => 'The start time of the task stage.', 'type' => 'string', 'example' => '2022-12-15 23:00:00'],
+ 'end_time' => ['title' => '', 'description' => 'The end time of the task stage.', 'type' => 'string', 'example' => '2022-12-15 23:00:00'],
+ 'message' => ['title' => '', 'description' => 'The message of the task stage.', 'type' => 'string', 'example' => 'success to xxxxx'],
+ 'outputs' => ['title' => '', 'description' => 'The output of the task stage.', 'type' => 'object', 'example' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'example' => '',
+ ],
+ 'current_stage' => ['title' => '', 'description' => 'The current running stage of the task.', 'type' => 'string', 'example' => 'DrainNodes'],
+ 'events' => [
+ 'title' => '',
+ 'description' => 'The events generated by the task.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The event details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'action' => ['title' => '', 'description' => 'The event action.', 'type' => 'string', 'example' => 'start'],
+ 'level' => ['title' => '', 'description' => 'The event level.', 'type' => 'string', 'example' => 'Normal'],
+ 'message' => ['title' => '', 'description' => 'The event message.', 'type' => 'string', 'example' => 'start to xxx'],
+ 'reason' => ['title' => '', 'description' => 'The event reason.', 'type' => 'string', 'example' => 'NodePoolUpgradeStart'],
+ 'source' => ['title' => '', 'description' => 'The event source.', 'type' => 'string', 'example' => 'ACK'],
+ 'timestamp' => ['title' => '', 'description' => 'The time when the event was generated.', 'type' => 'string', 'example' => '1669706229286'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'example' => '',
+ ],
+ 'task_result' => [
+ 'title' => '',
+ 'description' => 'The task execution details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The task details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'data' => ['title' => '', 'description' => 'The resource on which the task operates. For example, if the resource involved in a scale-out task is an instance, this parameter returns the instance ID.', 'type' => 'string', 'example' => 'i-xxx'],
+ 'status' => ['title' => '', 'description' => 'The status of the resource scale-out. Valid values:'."\n"
+ .'- `success`: The scale-out succeeded.'."\n"
+ .'- `failed`: The scale-out failed.'."\n"
+ .'- `initial`: The scale-out is being initialized.', 'type' => 'string', 'example' => 'success'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'example' => '',
+ ],
+ 'error' => [
+ 'title' => '',
+ 'description' => 'The node fault error message.',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['title' => '', 'description' => 'The error code.', 'type' => 'string', 'example' => '400'],
+ 'message' => ['title' => '', 'description' => 'The error message.', 'type' => 'string', 'example' => 'failed to xxx'],
],
+ 'example' => '',
],
+ 'outputs' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'Query task details',
+ 'summary' => 'Queries the details of a cluster task, such as the task type, running status, and running stage.',
+ 'changeSet' => [
+ ['createdAt' => '2022-08-24T07:44:02.000Z', 'description' => 'Response parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTaskInfo'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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,
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTaskInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- 'required' => false,
],
],
],
- 'responses' => [
- 200 => [],
+ 'responseDemo' => '[{"errorExample":"","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 \\"outputs\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeTemplateAttribute' => [
+ 'summary' => 'An orchestration template defines and describes a set of Kubernetes cluster resources in a declarative manner, specifying how applications should run or be configured. You can call the DescribeTemplateAttribute operation to query the details of a specified orchestration template, including access permissions, YAML content, and labels.',
+ 'path' => '/templates/{TemplateId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '213870',
- 'abilityTreeNodes' => [
- 'FEATUREcskM5ADAN',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'uid',
+ 'name' => 'TemplateId',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The template ID.', 'type' => 'string', 'required' => true, 'example' => '874ec485-e7e6-4373-8a3b-47bde8a****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'template_type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The templatetype.'."\n"
+ ."\n"
+ .'- If you set this parameter to `kubernetes`, the template is displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'- If you leave this parameter empty or set it to other values, the template is not displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'Settings this parameter to `kubernetes` is recommended.', 'type' => 'string', 'example' => 'kubernetes', 'required' => false],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The orchestration template details.',
'type' => 'array',
'items' => [
- 'description' => 'The request parameters.'."\n",
+ 'description' => '请求数据体。',
'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,
+ 'id' => ['title' => '', 'description' => '编排模板ID,每次变更都会有一个模板ID。', 'type' => 'string', 'example' => '72d20cf8-a533-4ea9-a10d-e7630d3d****'],
+ 'acl' => ['title' => '', 'description' => '编排模板的访问权限,取值:'."\n"
+ ."\n"
+ .'- `private`:私有。'."\n"
+ .'- `public`:公共。'."\n"
+ .'- `shared`:可共享。', 'type' => 'string', 'example' => 'private'],
+ 'name' => ['title' => '', 'description' => '编排模板名称。', 'type' => 'string', 'example' => 'web'],
+ 'template' => ['title' => '', 'description' => '编排模板YAML内容。', 'type' => 'string', 'example' => 'apiVersion: V1\\n***'],
+ 'template_type' => ['title' => '', 'description' => '模板类型。'."\n"
+ ."\n"
+ .'- 当取值为kubernetes时将在控制台的编排模板页面展示该模板。'."\n"
+ ."\n"
+ .'- 该参数不填写或者取值为其他值时,控制台的编排模板页面将不会展示该模板。', 'type' => 'string', 'example' => 'kubernetes'],
+ 'description' => ['title' => '', 'description' => '编排模板描述信息。', 'type' => 'string', 'example' => 'test template'],
+ 'tags' => ['title' => '', 'description' => '部署模板的标签。', 'type' => 'string', 'example' => 'sa'],
+ 'template_with_hist_id' => ['title' => '', 'description' => '编排模板唯一ID,不随模板更新而改变。', 'type' => 'string', 'example' => '874ec485-e7e6-4373-8a3b-47bde8ae****'],
+ 'created' => ['title' => '', 'description' => '编排模板创建时间。', 'type' => 'string', 'example' => '2025-04-25T16:56:33+08:00'],
+ 'updated' => ['title' => '', 'description' => '编排模板更新时间。', 'type' => 'string', 'example' => '2025-04-25T16:56:33+08:00'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'example' => '',
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query details of a specified orchestration template',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTemplateAttribute'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTemplateAttribute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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",
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeTemplates' => [
+ 'summary' => 'An orchestration template defines and describes a set of Kubernetes cluster resources in a declarative manner, specifying how applications should run or be configured. You can call the DescribeTemplates operation to retrieve a list of created orchestration templates and query detailed information about the templates, including access permissions, YAML content, and tags.',
+ 'path' => '/templates',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '215025',
- 'abilityTreeNodes' => [
- 'FEATUREcskDQP655',
- ],
+ 'abilityTreeCode' => '391',
+ 'abilityTreeNodes' => ['FEATUREcskT7MN2U', 'FEATUREcskDJFO7P'],
'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,
- ],
+ 'name' => 'template_type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The templatetype.'."\n"
+ ."\n"
+ .'- If the value is set to `kubernetes`, the template is displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'- If this parameter is left empty or set to other values, the template is not displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'Set this parameter to `kubernetes`.', 'type' => 'string', 'required' => false, 'example' => 'kubernetes'],
+ ],
+ [
+ 'name' => 'page_num',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number to return when paginating query results.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ ],
+ [
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The number of entries per page when paginating query results.'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'roles' => [
- 'title' => '角色检查结果',
- 'description' => 'The check results.'."\n",
+ 'templates' => [
+ 'title' => '',
+ 'description' => 'The list of templates.',
'type' => 'array',
'items' => [
- 'description' => 'The service roles.'."\n",
+ 'description' => 'The details of the orchestration template.',
'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',
- ],
+ 'acl' => ['title' => '', 'description' => 'The access permissions for the deployment template. Valid values:'."\n"
+ ."\n"
+ .'- `private`: private.'."\n"
+ .'- `public`: public.'."\n"
+ .'- `shared`: shared.', 'type' => 'string', 'example' => 'private'],
+ 'id' => ['title' => '', 'description' => 'The ID of the orchestration template.', 'type' => 'string', 'example' => '874ec485-e7e6-4373-8a3b-47bde8******'],
+ 'name' => ['title' => '', 'description' => 'The name of the orchestration template.', 'type' => 'string', 'example' => 'webserver'],
+ 'description' => ['title' => '', 'description' => 'The description of the orchestration template.', 'type' => 'string', 'example' => 'a web server'],
+ 'tags' => ['title' => '', 'description' => 'The tag of the orchestration template. If not explicitly specified, the tag defaults to the template name.', 'type' => 'string', 'example' => 'kubernetes'],
+ 'template' => ['title' => '', 'description' => 'The template content in YAML format.', '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 templatetype.'."\n"
+ ."\n"
+ .'- If the value is set to kubernetes, the template is displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'- If this parameter is left empty or set to other values, the template is not displayed on the Orchestration Templates page in the console.', 'type' => 'string', 'example' => 'kubernetes'],
+ 'created' => ['title' => '', 'description' => 'The time when the orchestration template was created.', 'type' => 'string', 'example' => '2025-04-25T16:56:33+08:00'],
+ 'updated' => ['title' => '', 'description' => 'The time when the orchestration template was last updated.', 'type' => 'string', 'example' => '2025-04-25T16:56:33+08:00'],
+ 'template_with_hist_id' => ['title' => '', 'description' => 'The ID of the parent template associated with the template. This parameter is used to implement template versioning. Different versions of the same template share the same `template_with_hist_id` value.', 'type' => 'string', 'example' => 'ad81d115-7c8b-47e7-a222-9c28d7******'],
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'page_info' => [
+ 'title' => '',
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_number' => ['title' => '', 'description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query all orchestration templates',
+ 'changeSet' => [
+ ['createdAt' => '2022-12-26T06:24:13.000Z', 'description' => 'Request parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTemplates'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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*****',
- ],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTemplates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'DescribeTrigger' => [
+ 'summary' => 'Queries triggers that meet the specified conditions.',
+ 'path' => '/clusters/{cluster_id}/triggers',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'abilityTreeCode' => '165070',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4JRUSW',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none'],
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
+ ],
+ [
+ 'name' => 'Namespace',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The namespace to which the application belongs.', 'type' => 'string', 'required' => true, 'example' => 'default'],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The trigger type. Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for a stateless application. '."\n"
+ ."\n"
+ .'- `application`: a trigger for an application in Open Applications.'."\n"
+ ."\n"
+ .'Default value: `deployment`.'."\n"
+ ."\n"
+ .'If you do not specify a trigger type, the query results are not filtered by trigger type.', 'type' => 'string', 'example' => 'deployment', 'required' => false],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The application name.', 'type' => 'string', 'required' => true, 'example' => 'web-server'],
+ ],
+ [
+ 'name' => 'action',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The trigger action. Valid values:'."\n"
+ ."\n"
+ .'`redeploy`: redeploys the application.'."\n"
+ ."\n"
+ .'If you do not specify a trigger action, the query results are not filtered by trigger action.', 'type' => 'string', 'example' => 'redeploy', 'required' => false],
],
],
'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',
- ],
- ],
- ],
- ],
+ 'title' => '',
+ 'description' => 'The list of trigger query result details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '触发器详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => '触发器ID。', 'type' => 'string', 'example' => '75973497486******'],
+ 'name' => ['title' => '', 'description' => '触发器名称。', 'type' => 'string', 'example' => 'test'],
+ 'cluster_id' => ['title' => '', 'description' => '集群ID。', 'type' => 'string', 'example' => 'c259f563386444ebb8d7****'],
+ 'project_id' => ['title' => '', 'description' => '触发器项目名称。'."\n"
+ ."\n"
+ .'由应用所在命名空间及应用名称组成,格式为`${namespace}/${name}`,取值示例:default/test-app。', 'type' => 'string', 'example' => 'default/test-app'],
+ 'type' => ['title' => '', 'description' => '触发器类型。'."\n"
+ ."\n"
+ .'取值:'."\n"
+ ."\n"
+ .'- `deployment`:针对无状态应用的触发器。 '."\n"
+ ."\n"
+ .'- `application`:针对应用中心应用的触发器。', 'type' => 'string', 'example' => 'deployment'],
+ 'action' => ['title' => '', 'description' => '触发器行为,取值:'."\n"
+ ."\n"
+ .'`redeploy`: 重新部署应用。', 'type' => 'string', 'example' => 'redeploy'],
+ 'token' => ['title' => '', 'description' => 'Token信息。', 'type' => 'string', 'example' => 'eyJhbGci***'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query triggers',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeUserClusterNamespaces' => [
+ 'summary' => 'In ACK clusters, you can use Kubernetes namespaces to achieve logically isolated permissions and resources for cluster users. Users who are granted RBAC permissions only for a specified namespace cannot access resources in other namespaces of the cluster. You can invoke the DescribeUserClusterNamespaces operation to query the namespaces for which the current Resource Access Management (RAM) user or role has been granted RBAC access permissions in a specified ACK cluster.',
+ 'path' => '/api/v2/k8s/{ClusterId}/namespaces',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '198784',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- 'FEATUREcskEUXDVA',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'],
],
],
'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',
- ],
- ],
+ 'title' => '',
+ 'description' => 'The list of namespace names that the Resource Access Management (RAM) user has permissions to access.',
+ 'type' => 'array',
+ 'items' => ['description' => 'RAM用户可见的集群命名空间名称列表。', 'type' => 'string', 'example' => '[ "default", "kube-node-lease", "kube-public", "kube-system" ]', 'title' => ''],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"[\\n \\"[ \\\\\\"default\\\\\\", \\\\\\"kube-node-lease\\\\\\", \\\\\\"kube-public\\\\\\", \\\\\\"kube-system\\\\\\" ]\\"\\n]","type":"json"}]',
+ 'title' => 'Query namespaces visible to a RAM user or role in a cluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserClusterNamespaces'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeUserClusterNamespaces',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeUserPermission' => [
+ 'summary' => 'In ACK clusters, you can create and assign different access permissions to different Resource Access Management (RAM) users or roles to ensure secure access control and resource isolation. You can invoke the DescribeUserPermission operation to query the details of cluster permissions granted to a RAM user or role, including accessible resources, permission scope, preset role types, and permission sources.',
+ 'path' => '/permissions/users/{uid}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '198785',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '13132',
+ 'abilityTreeNodes' => ['FEATUREcskM5ADAN'],
],
'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',
+ 'name' => 'uid',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the Resource Access Management (RAM) user or RAM role.'."\n"
+ ."\n"
+ .'- To query the permissions of a RAM user, use the UID of the RAM user.'."\n"
+ ."\n"
+ .'- To query the permissions of a RAM role, use the ID of the RAM role.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '206945240368******'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The status of deletion protection for the specified resources.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'type' => 'array',
'items' => [
+ 'description' => 'RAM用户集群授权详情。',
'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' => '',
+ 'resource_id' => ['title' => '', 'description' => '集群访问配置,格式为:'."\n"
+ ."\n"
+ .'- 当是集群维度授权时,格式为:`{cluster_id}`。'."\n"
+ .'- 当是命名空间维度授权时,格式为:`{cluster_id}/{namespace}`。'."\n"
+ .'- 当是所有集群授权时,值固定为:`all-clusters`。', 'type' => 'string', 'example' => 'c1b542****'],
+ 'resource_type' => ['title' => '', 'description' => '授权类型,取值:'."\n"
+ ."\n"
+ .'- `cluster`:集群维度。'."\n"
+ .'- `namespace`:命名空间维度。'."\n"
+ .'- `console`:所有集群维度的授权。', 'type' => 'string', 'example' => 'cluster'],
+ 'role_name' => ['title' => '', 'description' => '自定义角色名称,当授权自定义角色时,该字段为指定的自定义集群管理角色名称。', 'type' => 'string', 'example' => 'terway-pod-reader'],
+ 'role_type' => ['title' => '', 'description' => '预置的角色类型,取值:'."\n"
+ ."\n"
+ .'- `admin`:管理员。'."\n"
+ .'- `ops`:运维人员。'."\n"
+ .'- `dev`:开发人员。'."\n"
+ .'- `restricted`:受限用户。'."\n"
+ .'- `custom`:使用自定义的集群管理角色。', 'type' => 'string', 'example' => 'admin'],
+ 'is_owner' => ['title' => '', 'description' => '是否为集群创建者的授权,取值:'."\n"
+ ."\n"
+ .'- `0`:代表不是集群创建者的授权记录。'."\n"
+ .'- `1`:代表该授权记录为集群创建者的管理员权限。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'is_ram_role' => ['title' => '', 'description' => '是否为RAM角色授权,取值:'."\n"
+ ."\n"
+ .'- `0`:代表当前记录不是RAM角色授权。'."\n"
+ .'- `1`:代表当前记录是RAM角色授权。'."\n"
+ ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => true,
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query cluster authorization information of a RAM user or role',
+ 'description' => '**Before you begin**:'."\n"
+ ."\n"
+ .'- If the account that invokes this API operation is a Resource Access Management (RAM) user or RAM role, the API operation returns only the permissions for clusters in which the calling account has RBAC administrator permissions. To list permissions for all clusters, the calling account must have RBAC administrator permissions on all clusters.',
+ 'responseParamsDescription' => 'The parent_id parameter, which is not displayed in the parameter list, is deprecated. Do not use it.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserPermission'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"[\\n {\\n \\"name\\": \\"arms-prom\\",\\n \\"namespace\\": \\"default\\",\\n \\"resource\\": \\"namespaces\\",\\n \\"protection\\": false\\n }\\n]","type":"json"}]',
- 'title' => 'DescribeResourcesDeleteProtection',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'DescribeUserQuota' => [
+ 'summary' => 'Queries the quotas of ACK clusters, node pools, and nodes. To increase a quota, go to Quota Center to submit a request.',
+ 'path' => '/quota',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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',
+ 'systemTags' => ['operationType' => 'get', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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",
+ 'amk_cluster_quota' => ['title' => '', 'description' => 'The quota for managed clusters. Default value: 20. To request a quota increase beyond the default value, [submit a request on the Quota Center page](https://quotas.console.aliyun.com/products/csk/quotas).', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'ask_cluster_quota' => ['title' => '', 'description' => 'The quota for ASK clusters. Default value: 20. To request a quota increase beyond the default value, [submit a request on the Quota Center page](https://quotas.console.aliyun.com/products/csk/quotas).', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'cluster_nodepool_quota' => ['title' => '', 'description' => 'The node pool quota per cluster. Default value: 20. To request a quota increase beyond the default value, [submit a request on the Quota Center page](https://quotas.console.aliyun.com/products/csk/quotas).', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'cluster_quota' => ['title' => '', 'description' => 'The total cluster quota per account. Default value: 50. To request a quota increase beyond the default value, [submit a request on the Quota Center page](https://quotas.console.aliyun.com/products/csk/quotas).', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'node_quota' => ['title' => '', 'description' => 'The node quota per cluster. Default value: 100. To request a quota increase beyond the default value, [submit a request on the Quota Center page](https://quotas.console.aliyun.com/products/csk/quotas).', 'type' => 'integer', 'format' => 'int64', 'example' => '100'],
+ 'quotas' => [
+ 'description' => 'The new quota items. If this field is returned, the values in this field take precedence.',
'type' => 'object',
- 'required' => false,
- 'example' => '{"restrictedNamespaces": [ "test" ]}',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'quota' => ['description' => 'The quota value. To request a quota increase beyond the current value, submit a request on the [Quota Center](https://quotas.console.aliyun.com/products/csk/quotas) page.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'operation_code' => ['description' => 'The quota code.', 'type' => 'string', 'example' => 'q_Kubernetes_Cluster', 'title' => ''],
+ 'adjustable' => ['description' => 'Indicates whether the quota is adjustable.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'unit' => ['description' => 'The unit.', 'type' => 'string', 'example' => 'Cluster', 'title' => ''],
+ ],
+ 'description' => 'The quota item.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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" ]',
- ],
- ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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 \\"quotas\\": {\\n \\"key\\": {\\n \\"quota\\": \\"1\\",\\n \\"operation_code\\": \\"q_Kubernetes_Cluster\\",\\n \\"adjustable\\": true,\\n \\"unit\\": \\"Cluster\\"\\n }\\n }\\n}","type":"json"}]',
+ 'title' => 'Query cluster quotas',
+ 'changeSet' => [
+ ['createdAt' => '2024-02-26T06:07:02.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-11-22T02:52:07.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserQuota'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeUserQuota',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- '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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'FixNodePoolVuls' => [
+ 'summary' => 'Alibaba Cloud security products periodically scan ECS nodes for security vulnerabilities and provide corresponding remediation suggestions and methods. Some CVE fixes may require node restarts. Ensure that the cluster has sufficient nodes for drain operations. You can call the FixNodePoolVuls operation to fix node security vulnerabilities in a specified cluster node pool and improve the security of cluster nodes.',
+ 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/vuls/fix',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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' => 'c8155823d057948c69a****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cf62854ac2130470897be7a27ed1f****'],
],
[
- 'name' => 'policy_name',
+ 'name' => 'nodepool_id',
'in' => 'path',
- 'schema' => [
- 'title' => '策略治理规则名称',
- 'description' => 'The name of the policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ACKAllowedRepos',
- ],
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np31da1b38983f4511b490fc62108a****'],
],
[
'name' => 'body',
'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'description' => 'The request body parameters.',
'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',
+ 'vuls' => [
+ 'title' => '',
+ 'description' => 'The list of vulnerabilities.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vulnerability name.', 'type' => 'string', 'required' => false, 'example' => 'oval:com.redhat.rhsa:def:20170574', 'title' => ''],
'required' => false,
- 'example' => 'allowed-repos-cbhhb',
+ 'example' => '',
],
- '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",
+ 'nodes' => [
+ 'title' => '',
+ 'description' => 'The list of node names to fix. If this parameter is not specified, all nodes in the node pool are fixed by default.',
'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"]',
- ],
+ 'items' => ['description' => 'The node name.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing.10.0.xx.xx', 'title' => ''],
'required' => false,
+ 'example' => '',
],
- 'parameters' => [
- 'title' => '当前规则实例的配置参数',
- 'description' => 'The parameters of the policy instance. For more information, see [Predefined security policies of ACK](~~359819~~).'."\n",
+ 'rollout_policy' => [
+ 'title' => '',
+ 'description' => 'The rolling fix policy.',
'type' => 'object',
+ 'properties' => [
+ 'max_parallelism' => ['title' => '', 'description' => 'CVE fixes for nodes in the node pool are performed in batches. This parameter specifies the maximum number of nodes that can be fixed in parallel per batch.'."\n"
+ ."\n"
+ .'Valid values: minimum value is 1 and maximum value is the total number of nodes in the node pool.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
+ ],
'required' => false,
- 'example' => '"restrictedNamespaces": [ "test" ]',
+ 'example' => '',
],
+ 'auto_restart' => ['title' => '', 'description' => 'Specifies whether to allow node restarts.'."\n"
+ ."\n"
+ .'- true: Node restarts are allowed.'."\n"
+ .'- false: Node restarts are not allowed.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -18394,3603 +12639,2553 @@
'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" ]',
- ],
- ],
+ 'task_id' => ['title' => '', 'description' => 'The fix task ID.', 'type' => 'string', 'example' => 'T-60fea8ad2e277f087900****'],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"task_id\\": \\"T-60fea8ad2e277f087900****\\"\\n}","type":"json"}]',
+ 'title' => 'Fix node pool vulnerabilities',
+ 'description' => '- CVE compatibility is ensured by Security Center. Make sure that you have activated the Ultimate edition of Security Center or [purchased vulnerability fixing (pay-as-you-go)](~~42308~~).'."\n"
+ .'- Some CVE fixes require node restarts. Container Service drains the node before restarting it. Ensure that the cluster has sufficient spare node resources for draining. For example, scale out the node pool in advance.'."\n"
+ .'- Pay attention to the compatibility between your applications and CVEs. CVE fixes are performed in batches. During the CVE fix process, you can pause or cancel the task. After you pause or cancel the task, batches that have already been dispatched continue to run until completion. Batches that have not been dispatched are paused or canceled.',
+ 'changeSet' => [
+ ['createdAt' => '2023-11-20T07:29:46.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-07-21T03:52:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'FixNodePoolVuls'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:FixNodePoolVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
+ ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterAddonInstance' => [
+ 'summary' => 'Queries the details of a specified component instance in a cluster, including the version, parameter settings, and logging feature 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' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- ],
+ '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****',
- ],
- ],
- [
- 'name' => 'policy_name',
- 'in' => 'path',
- 'schema' => [
- 'title' => '策略治理规则名称',
- 'description' => 'The name of the policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ACKAllowedRepos',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c02b3e03be10643e8a644a843ffcb****'],
],
[
'name' => 'instance_name',
- 'in' => 'query',
- 'schema' => [
- 'title' => '策略规则实例id',
- 'description' => 'The ID of the policy instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'allowed-repos-mqdsf',
- ],
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component instance name.', 'type' => 'string', 'required' => false, 'example' => 'ack-node-problem-detector'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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" ]',
+ 'name' => ['title' => '', 'description' => 'The component instance name.', 'type' => 'string', 'example' => 'ack-node-problem-detector'],
+ 'state' => ['title' => '', 'description' => 'The component status. Valid values:'."\n"
+ .'- active: installed.'."\n"
+ .'- updating: being modified.'."\n"
+ .'- upgrading: being upgraded.'."\n"
+ .'- deleting: being uninstalled.', 'type' => 'string', 'example' => 'active'],
+ 'version' => ['title' => '', 'description' => 'The component instance version.', 'type' => 'string', 'example' => '1.2.16'],
+ 'config' => ['title' => '', 'description' => 'The custom parameter settings of the component.', 'type' => 'string', 'example' => '{"sls_project_name":""}'],
+ 'logging' => [
+ 'title' => '',
+ 'description' => 'The logging feature status of the component.',
+ 'type' => 'object',
+ 'properties' => [
+ 'capable' => ['title' => '', 'description' => 'Indicates whether the component supports the logging feature.'."\n"
+ ."\n"
+ .'- true: Supported.'."\n"
+ ."\n"
+ .'- false: Not supported.', 'type' => 'boolean', 'example' => 'false'],
+ 'enabled' => ['title' => '', 'description' => 'Indicates whether the logging feature is enabled for the component.'."\n"
+ ."\n"
+ .'- true: Enabled.'."\n"
+ ."\n"
+ .'- false: Not enabled.', 'type' => 'boolean', 'example' => 'false'],
+ 'log_project' => ['title' => '', 'description' => 'The Log Service project used by the logging feature of the component.', 'type' => 'string', 'example' => 'k8s-log-c02b3e03be10643e8a644a843ffcb****'],
+ 'logstore' => ['title' => '', 'description' => 'The Log Service Logstore used by the logging feature of the component.', 'type' => 'string', 'example' => 'my-logstore'],
],
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query component instance information in a cluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterAddonInstance'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterAddonInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterAuditProject' => [
+ 'summary' => 'Queries whether the API server audit feature is enabled for a cluster and retrieves the Simple Log Service (SLS) project that stores the API server audit logs.',
+ 'path' => '/clusters/{clusterid}/audit',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'abilityTreeCode' => '165007',
+ 'abilityTreeNodes' => ['FEATUREcsk01W1JN', 'FEATUREcskCWOUHM'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'clusterid',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The ACK cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cad1230511cbb4db4a488e58518******', 'title' => ''],
+ ],
],
- '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",
+ 'description' => 'The API server audit information of the cluster.',
'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",
- ],
+ 'properties' => [
+ 'sls_project_name' => ['description' => 'The SLS project that stores the API server audit logs of the cluster.', 'type' => 'string', 'example' => 'k8s-log-cad1230511cbb4db4a488e58518******'."\n", 'title' => ''],
+ 'audit_enabled' => ['title' => '', 'description' => 'Indicates whether the API server audit feature is enabled for the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enabled.'."\n"
+ ."\n"
+ .'- `false`: Not enabled.', 'type' => 'boolean', 'example' => 'true'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sls_project_name\\": \\"k8s-log-cad1230511cbb4db4a488e58518******\\\\n\\",\\n \\"audit_enabled\\": true\\n}","type":"json"}]',
+ 'title' => 'Query the SLS project for cluster API server audit logs',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-06T03:59:05.000Z', 'description' => 'Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetClusterAuditProject'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterAuditProject',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterCheck' => [
+ 'summary' => 'The intelligent O&M platform for containers provides comprehensive Kubernetes cluster check capabilities, including cluster upgrade checks, cluster migration checks, component installation checks, component upgrade checks, and node pool checks. You can call the GetClusterCheck operation to query information about a specified check task based on the cluster ID and check task ID, such as the check status, specific check items, and check creation and completion time.',
+ 'path' => '/clusters/{cluster_id}/checks/{check_id}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '197076',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'policy_name',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '策略治理规则名称',
- 'description' => 'The name of the policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ACKAllowedRepos',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****'],
+ ],
+ [
+ 'name' => 'check_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The check ID.'."\n"
+ .'You can call the [RunClusterCheck](~~2667902~~) operation to obtain the check_id.', 'type' => 'string', 'required' => true, 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
+ 'check_id' => ['title' => '', 'description' => 'The check ID.', 'type' => 'string', 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto'],
+ 'type' => ['title' => '', 'description' => 'The check type.', 'type' => 'string', 'example' => 'ClusterUpgrade'],
+ 'status' => ['title' => '', 'description' => 'The check status.', 'type' => 'string', 'example' => 'Succeeded'],
+ 'message' => ['title' => '', 'description' => 'The check status message.', 'type' => 'string', 'example' => 'task succeed'],
+ 'created_at' => ['title' => '', 'description' => 'The creation time.', 'type' => 'string', 'example' => '2023-10-16T08:31:20.292030178Z'],
+ 'finished_at' => ['title' => '', 'description' => 'The completion time.', 'type' => 'string', 'example' => '2023-10-16T08:35:20.292030178Z'],
+ 'check_items' => [
+ 'title' => '',
+ 'description' => 'The check items.',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'array',
+ 'items' => ['description' => '检查项具体属性。', 'type' => 'object', 'example' => ' {'."\n"
+ .' "Group": "ClusterResource",'."\n"
+ .' "Level": {'."\n"
+ .' "normal": {'."\n"
+ .' "Message": "",'."\n"
+ .' "Targets": ['."\n"
+ .' {'."\n"
+ .' "Target": "v1beta1.metrics.k8s.io",'."\n"
+ .' "Value": "All Available"'."\n"
+ .' }', 'title' => ''],
+ 'description' => '检查项信息列表。',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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' => 'Query information about a specified cluster check',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterCheck'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterCheck',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterDiagnosisCheckItems' => [
+ 'summary' => 'Retrieves the diagnostic check items of a cluster.',
+ 'path' => '/clusters/{cluster_id}/diagnosis/{diagnosis_id}/check_items',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeCode' => '212434',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
],
'parameters' => [
[
'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '目标集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c8155823d057948c69a****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'cb95aa626a47740afbf6aa099b650****'],
+ ],
+ [
+ 'name' => 'diagnosis_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The diagnosis ID.', 'type' => 'string', 'required' => false, 'example' => '6f719f23098240818eb26fe3a37d****'],
+ ],
+ [
+ 'name' => 'language',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The query language.', 'type' => 'string', 'required' => false, 'example' => 'zh_CN'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'on_state' => [
- 'title' => '当前集群中开启的不同等级策略计数统计',
- 'description' => 'Details about the policies of different severity levels that are enabled for the cluster.'."\n",
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '1DFFD8C6-259E-582B-8B40-002C17DC****'],
+ 'code' => ['description' => 'The status code.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'is_success' => ['description' => 'Indicates whether the check is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'check_items' => [
+ 'description' => 'The check items.',
'type' => 'array',
'items' => [
+ 'description' => 'The check 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",
+ 'desc' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Check whether the node can access host dns service', 'title' => ''],
+ 'display' => ['description' => 'The display name.', 'type' => 'string', 'example' => 'HostDNS', 'title' => ''],
+ 'group' => ['description' => 'The check item group.', 'type' => 'string', 'example' => 'Node', 'title' => ''],
+ 'level' => [
+ 'description' => 'The assessment result of the check item.',
+ 'enumValueTitles' => ['normal' => 'normal', 'warning' => 'warning', 'error' => 'error'],
'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',
- ],
- ],
- ],
- ],
+ 'example' => 'normal',
+ 'title' => '',
],
+ 'message' => ['description' => 'The check result message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'name' => ['description' => 'The check item name.', 'type' => 'string', 'example' => 'HostDNS', 'title' => ''],
+ 'refer' => ['description' => 'The reference value.', 'type' => 'string', 'example' => 'True', 'title' => ''],
+ 'value' => ['description' => 'The check item value.', 'type' => 'string', 'example' => 'True', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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 &lt;nginx&gt; has an invalid image repo &lt;nginx:1.7.9&gt;, 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 &lt;nginx&gt; has an invalid image repo &lt;nginx:1.7.9&gt;, 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',
+ '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' => 'Query cluster diagnostic check items',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-13T10:05:02.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterDiagnosisCheckItems'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterDiagnosisCheckItems',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'machine',
+ ],
+ 'GetClusterDiagnosisResult' => [
+ 'summary' => 'Retrieves the diagnosis result of a cluster.',
+ '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' => '104729',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeCode' => '211972',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
],
'parameters' => [
[
'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '目标集群ID',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c8155823d057948c69a****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, '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' => 'diagnosis_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The diagnosis ID.', 'type' => 'string', 'required' => false, 'example' => '6f719f23098240818eb26fe3a37d****'."\n"],
],
[
- 'name' => 'instance_name',
+ 'name' => 'language',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The query language.', 'type' => 'string', 'required' => false, 'example' => 'zh_CN'],
],
],
'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',
- ],
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => [
+ 'description' => 'The diagnosis result code. Valid values:'."\n"
+ .'- 0: diagnosis completed.'."\n"
+ .'- 1: diagnosis failed.',
+ 'enumValueTitles' => ['0', '1'],
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ 'title' => '',
+ ],
+ 'created' => ['description' => 'The time when the diagnosis was initiated.', 'type' => 'string', 'example' => '2024-05-28T11:29Z', 'title' => ''],
+ 'diagnosis_id' => ['description' => 'The diagnosis ID.', 'type' => 'string', 'example' => '6cf6b62e334e4583bdfd26707516****', 'title' => ''],
+ 'finished' => ['description' => 'The time when the diagnosis was completed.', 'type' => 'string', 'example' => '2024-05-28T11:29Z', 'title' => ''],
+ 'message' => ['description' => 'The diagnosis status message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'result' => ['description' => 'The diagnosis result.', 'type' => 'string', 'example' => '{"phase":5,"version":"20240101"}', 'title' => ''],
+ 'status' => [
+ 'description' => 'The diagnosis status. Valid values:'."\n"
+ .'- 0: diagnosis created.'."\n"
+ .'- 1: diagnosis running.'."\n"
+ .'- 2: diagnosis completed.',
+ 'enumValueTitles' => ['0', '1', '2'],
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ 'title' => '',
+ ],
+ 'target' => ['description' => 'The diagnosis target.', 'type' => 'string', 'example' => '{"name":"cn-hongkong.10.0.0.246"}', 'title' => ''],
+ 'type' => [
+ 'description' => 'The diagnosis type.',
+ 'enumValueTitles' => ['node' => 'node', 'ingress' => 'ingress', 'cluster' => 'cluster', 'memory' => 'memory', 'pod' => 'pod', 'service' => 'service', 'network' => 'network'],
+ 'type' => 'string',
+ 'example' => 'Node',
+ 'title' => '',
],
],
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ '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' => 'Query cluster diagnosis result',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-13T10:05:02.000Z', 'description' => 'Request parameters changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterDiagnosisResult'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterDiagnosisResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterInspectConfig' => [
+ 'summary' => 'Retrieves the inspection configuration of a cluster.',
+ 'path' => '/clusters/{clusterId}/inspectConfig',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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' => 'cluster_id',
+ 'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '目标集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c8155823d057948c69a****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'policy_instances' => [
- 'title' => '不同策略类型下的策略实例计数列表',
- 'description' => 'The number of policy instances of each policy type.'."\n",
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B095', 'title' => ''],
+ 'enabled' => ['title' => '', 'description' => 'Indicates whether inspection is enabled.', 'type' => 'boolean', 'example' => 'true'],
+ 'recurrence' => ['title' => '', 'description' => 'The inspection cycle defined by using the RFC 5545 Recurrence Rule syntax. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT and UNTIL are not supported.', 'type' => 'string', 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15'],
+ 'disabledCheckItems' => [
+ 'title' => '',
+ 'description' => 'The list of disabled inspection items.',
'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 }',
+ 'items' => ['description' => 'The disabled inspection item.', 'type' => 'string', 'example' => 'NginxIngressServiceAnnotationMultiTargets', 'title' => ''],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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' => 'Retrieve cluster inspection configuration',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterInspectConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'GetClusterInspectReportDetail' => [
+ 'summary' => 'Retrieves the details of a cluster inspection report.',
+ 'path' => '/clusters/{clusterId}/inspectReports/{reportId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197074',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '261192',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'reportId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The inspection report ID.', 'type' => 'string', 'required' => true, 'example' => '782df89346054a0000562063a****'],
+ ],
+ [
+ 'name' => 'language',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The query language. Valid values:'."\n"
+ .'- zh_CN'."\n"
+ .'- en_US.', 'type' => 'string', 'required' => false, 'example' => 'zh_CN'],
+ ],
+ [
+ 'name' => 'category',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The category of the inspection item. Valid values:'."\n"
+ .'- security: security and compliance'."\n"
+ .'- performance: performance and efficiency '."\n"
+ .'- stability: business stability'."\n"
+ .'- limitation: service limits '."\n"
+ .'- cost: cost optimization.', 'type' => 'string', 'required' => false, 'example' => 'cost'],
+ ],
+ [
+ 'name' => 'targetType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The object type of the inspection target. Only check items that match the specified targetType are returned.', 'type' => 'string', 'required' => false, 'example' => 'NodePool'],
+ ],
+ [
+ 'name' => 'level',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The level of the inspection item. Valid values:'."\n"
+ .'- advice: suggestion'."\n"
+ .'- warning: low-risk'."\n"
+ .'- error: medium-risk'."\n"
+ .'- critical: high-risk.', 'type' => 'string', 'required' => false, 'example' => 'error'],
+ ],
+ [
+ 'name' => 'enableFilter',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to filter check items. If set to true, only abnormal check items with result=true are returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'bb41e2bcb47b747389dce6c0d2'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries per page. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', 'title' => ''],
+ 'nextToken' => ['description' => 'The pagination token.', 'type' => 'string', 'example' => 'AK8uQQrxgFK8sbARvnCj6w9R3kPme4I3', 'title' => ''],
+ 'reportId' => ['title' => '', 'description' => 'The inspection report ID.', 'type' => 'string', 'example' => '782df89346054a0000562063a****'],
+ 'startTime' => ['description' => 'The start time of the inspection report.', 'type' => 'string', 'example' => '2024-12-18T19:40:16.778333+08:00', 'title' => ''],
+ 'endTime' => ['description' => 'The completion time of the inspection report.', 'type' => 'string', 'example' => '2024-12-18T19:41:12.778433+08:00', 'title' => ''],
+ 'status' => ['title' => '', 'description' => 'The generation status of the inspection report. Valid values:'."\n"
+ .'- completed: Completed.'."\n"
+ .'- running: In progress.', 'type' => 'string', 'example' => 'completed'],
+ 'summary' => [
+ 'title' => '',
+ 'description' => 'The inspection report summary.',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['title' => '', 'description' => 'The status code of the check task result.', 'type' => 'string', 'example' => 'warning'],
+ 'normalCount' => ['title' => '', 'description' => 'The number of check items with a result of normal.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'adviceCount' => ['title' => '', 'description' => 'The number of check items with a result of advice.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'warnCount' => ['title' => '', 'description' => 'The number of check items with a result of warning.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'errorCount' => ['title' => '', 'description' => 'The number of check items with a result of error.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
],
- '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****',
+ 'example' => '',
],
- 'options' => [
- 'title' => '检查选项。',
- 'description' => 'The cluster check parameters.'."\n",
- 'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'description' => 'A cluster check parameter.'."\n",
- 'example' => 'next_version',
+ 'checkItemResults' => [
+ 'description' => 'The list of results.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The check item result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the check item.', 'type' => 'string', 'example' => 'API Server CLB 实例状态异常', 'title' => ''],
+ 'description' => ['description' => 'The description of the check item.', 'type' => 'string', 'example' => '集群API Server负载均衡实例异常会影响集群可用性,请检查负载均衡实例状态是否正常。', 'title' => ''],
+ 'fix' => ['description' => 'The fix suggestion.', 'type' => 'string', 'example' => '请提交工单处理。', 'title' => ''],
+ 'targets' => [
+ 'description' => 'The list of check targets.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The check target.', 'type' => 'string', 'example' => 'lb-5tstgwefjvwe1zko7xxx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'result' => ['description' => 'The check result. Valid values:'."\n"
+ .'- true: The check item is abnormal.'."\n"
+ .'- false: The check item is normal.'."\n"
+ .'- disable: The check item is not enabled.', 'type' => 'string', 'example' => 'false', 'title' => ''],
+ 'targetType' => ['description' => 'The resource type of the check target.', 'type' => 'string', 'example' => 'CLB', 'title' => ''],
+ 'checkItemUid' => ['description' => 'The unique identifier of the inspection item.', 'type' => 'string', 'example' => 'APIServerClbInstanceStatus', 'title' => ''],
+ 'category' => ['description' => 'The category of the inspection item. Valid values:'."\n"
+ .'- security: security and compliance'."\n"
+ .'- performance: performance and efficiency '."\n"
+ .'- stability: business stability'."\n"
+ .'- limitation: service limits '."\n"
+ .'- cost: cost optimization.', 'type' => 'string', 'example' => 'stability', 'title' => ''],
+ 'level' => ['description' => 'The level of the inspection item. Valid values:'."\n"
+ .'- advice: suggestion'."\n"
+ .'- warning: low-risk'."\n"
+ .'- error: medium-risk'."\n"
+ .'- critical: high-risk.', 'type' => 'string', 'example' => 'critical', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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',
- ],
+ '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' => 'Get cluster inspection report details',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterInspectReportDetail'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterInspectReportDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"F04DF81D-5C12-1524-B36A-86E025******\\",\\n \\"check_id\\": \\"1697100584236******-ce0da5a1d627e4e9e9f96cae8ad******-clustercheck-lboto\\"\\n}","type":"json"}]',
- 'title' => 'RunClusterCheck',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'GetKubernetesTrigger' => [
+ 'summary' => 'Queries the triggers of an application by application name.',
+ 'path' => '/triggers/{ClusterId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
+ 'operationType' => 'get',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '197075',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '388',
+ 'abilityTreeNodes' => ['FEATUREcskT7MN2U'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****'],
],
[
- 'name' => 'type',
+ 'name' => 'Namespace',
'in' => 'query',
- 'schema' => [
- 'title' => '检查类型。',
- 'description' => 'The check method.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ClusterUpgrade',
- ],
+ 'schema' => ['title' => '', 'description' => 'The namespace name.', 'type' => 'string', 'required' => true, 'example' => 'default'],
],
[
- 'name' => 'target',
+ 'name' => 'Type',
'in' => 'query',
- 'schema' => [
- 'title' => '筛选指定的检查对象。',
- 'description' => 'The targets to check.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ngw-bp19ay6nnvd4cexxxx',
- ],
+ 'schema' => ['title' => '', 'description' => 'The trigger type. Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for a stateless application. '."\n"
+ ."\n"
+ .'- `application`: a trigger for an application center application.'."\n"
+ ."\n"
+ .'Default value: `deployment`.'."\n"
+ ."\n"
+ .'If you do not specify a trigger type, the query results are not filtered by trigger type.', 'type' => 'string', 'example' => 'deployment', 'required' => false],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The application name.', 'type' => 'string', 'required' => true, 'example' => 'web-server'],
+ ],
+ [
+ 'name' => 'action',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The trigger action. Valid values:'."\n"
+ ."\n"
+ .'`redeploy`: redeploys the resources defined in `project_id`.'."\n"
+ ."\n"
+ .'If you do not specify a trigger action, the query results are not filtered by trigger action.', 'type' => 'string', 'example' => 'redeploy', 'required' => false],
],
],
'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',
- ],
- ],
- ],
+ 'title' => '',
+ 'description' => 'The list of trigger query result details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The trigger details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => 'The trigger ID.', 'type' => 'string', 'example' => '1234'],
+ 'name' => ['title' => '', 'description' => 'The trigger name.', 'type' => 'string', 'example' => 'test'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c259f563386444ebb8d7**'],
+ 'project_id' => ['title' => '', 'description' => 'The trigger project name.'."\n"
+ ."\n"
+ .'The value consists of the namespace and application name in the format of `${namespace}/${name}`. Example: default/test-app.', 'type' => 'string', 'example' => 'default/test-app'],
+ 'type' => ['title' => '', 'description' => 'The trigger type.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- `deployment`: a trigger for a stateless application. '."\n"
+ ."\n"
+ .'- `application`: a trigger for an application center application.'."\n"
+ ."\n"
+ .'Default value: `deployment`.', 'type' => 'string', 'example' => 'deployment'],
+ 'action' => ['title' => '', 'description' => 'The trigger action. Valid values:'."\n"
+ ."\n"
+ .'`redeploy`: redeploys the resources defined in project_id.', 'type' => 'string', 'example' => 'redeploy'],
+ 'token' => ['title' => '', 'description' => 'Token', 'type' => 'string', 'example' => 'eyJhbGci***'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
],
'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'substitutions' => ['CS::2015-12-15::DescribeTrigger'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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]","type":"json"}]',
+ 'title' => 'Query triggers',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetKubernetesTrigger'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'GetUpgradeStatus' => [
+ 'summary' => 'Queries the upgrade status 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',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '197076',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '387',
+ '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',
+ 'name' => 'ClusterId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'The cluster upgrade status details.',
'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",
+ 'error_message' => ['title' => '', 'description' => 'The error message during the cluster upgrade.', 'type' => 'string', 'example' => 'subject to actual return'],
+ 'precheck_report_id' => ['title' => '', 'description' => 'The ID of the precheck report.', 'type' => 'string', 'example' => 'be4c8eb72de94d459ea7ace7c811d119'],
+ 'status' => ['title' => '', 'description' => 'The current upgrade status of the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `success`: The upgrade is successful.'."\n"
+ .'- `fail`: The upgrade has failed.'."\n"
+ .'- `pause`: The upgrade is paused.'."\n"
+ .'- `running`: The upgrade is in progress.', 'type' => 'string', 'example' => 'running'],
+ 'upgrade_step' => ['title' => '', 'description' => 'The current upgrade phase of the cluster. Valid values:'."\n"
+ ."\n"
+ .'- `not_start`: Not started.'."\n"
+ .'- `prechecking`: Prechecking is in progress.'."\n"
+ .'- `upgrading`: The upgrade is in progress.'."\n"
+ .'- `pause`: The upgrade is paused.'."\n"
+ .'- `success`: The upgrade is successful.', 'type' => 'string', 'example' => 'prechecking'],
+ 'upgrade_task' => [
+ 'title' => '',
+ 'description' => 'The upgrade task details.',
'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'example' => 'Name',
- 'description' => 'A check item attribute.'."\n",
- ],
- 'description' => 'The details of a check item.'."\n",
+ 'properties' => [
+ 'status' => ['title' => '', 'description' => 'The upgrade task status. Valid values:'."\n"
+ .'- `running`: The task is running.'."\n"
+ .'- `Success`: The task is successful.'."\n"
+ .'- `Failed`: The task has failed.', 'type' => 'string', 'example' => 'running'],
+ 'message' => ['title' => '', 'description' => 'The description of the upgrade task.', 'type' => 'string', 'example' => 'subject to actual return'],
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'substitutions' => ['CS::2015-12-15::DescribeTaskInfo'],
],
- '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',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'https',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => '(Deprecated) Query cluster upgrade status',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetUpgradeStatus'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'machine',
+ ],
+ 'GrantPermissions' => [
+ 'summary' => 'By default, Resource Access Management (RAM) users or roles that are not cluster creators and have not been granted access permissions across all cluster dimensions do not have any RBAC permissions in a cluster. You can invoke the GrantPermissions operation to update the RBAC access permissions of a RAM user or role, including accessible resources, permission scope, and preset role types, to better manage cluster management security and access control.',
+ 'path' => '/permissions/users/{uid}',
+ 'methods' => ['post'],
+ 'schemes' => ['http', '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',
- ],
+ 'systemTags' => ['operationType' => 'update', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'clusterId',
+ 'name' => 'uid',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the Resource Access Management (RAM) user or RAM role.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2367****'],
],
[
'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",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The authorization details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster' => ['title' => '', 'description' => 'The ID of the cluster to be authorized.'."\n"
+ ."\n"
+ .'- If the value of the `role_type` parameter is `all-clusters`, set this parameter to an empty string.', 'type' => 'string', 'required' => true, 'example' => 'c796c60***'],
+ 'is_custom' => ['title' => '', 'description' => 'Specifies whether the authorization is a custom authorization, which means `role_name` uses a custom ClusterRole name.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'role_name' => [
+ 'title' => '',
+ 'description' => 'The name of the preset role. 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 ClusterRole name.'."\n"
+ ."\n"
+ .'><notice>'."\n"
+ ."\n"
+ .'- `admin`, `admin-view`, `ops`: cannot be granted at the namespace level.'."\n"
+ .'- `admin-view`: cannot be granted at the all-clusters level.'."\n"
+ .'></notice>.',
+ 'enumValueTitles' => ['ops' => 'ops', 'dev' => 'dev', 'restricted' => 'restricted', 'admin-view' => 'admin-view', 'admin' => 'admin'],
'type' => 'string',
- 'required' => false,
- 'example' => 'NginxIngressServiceAnnotationMultiTargets',
+ 'required' => true,
+ 'example' => 'ops',
],
- 'required' => false,
+ 'role_type' => ['title' => '', 'description' => 'The authorization type. Valid values:'."\n"
+ ."\n"
+ .'- `cluster`: cluster level.'."\n"
+ .'- `namespace`: namespace level.'."\n"
+ .'- `all-clusters`: all-clusters level.', 'type' => 'string', 'required' => true, 'example' => 'cluster'],
+ 'namespace' => ['title' => '', 'description' => 'The namespace name. This parameter is empty by default for cluster-level authorization.', 'type' => 'string', 'example' => 'test', 'required' => false],
+ 'is_ram_role' => ['title' => '', 'description' => 'Specifies whether the authorization is for a RAM role.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'example' => '',
],
],
],
'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****',
- ],
+ 200 => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Update all RBAC permissions of a RAM user or role',
+ 'description' => '- If the account that invokes this API operation is a RAM user, make sure that the account has been granted the permission to modify the RBAC authorization information of other Resource Access Management (RAM) users or RAM roles. Otherwise, the API operation returns the `StatusForbidden` or `ForbiddenGrantPermissions` fault. For more information, see [Grant RBAC permissions to a RAM user](~~119035~~).'."\n"
+ ."\n"
+ .'- The operation of fully updating the RBAC authorization information of a RAM user or RAM role overwrites the existing cluster permissions of the target RAM user or RAM role. Include all permission configurations that you want to grant to the target RAM user or RAM role in the request.',
+ 'changeSet' => [
+ ['createdAt' => '2024-01-09T12:13:57.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantPermissions'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:GrantPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]',
- 'title' => 'CreateClusterInspectConfig',
+ 'translator' => 'machine',
],
- 'UpdateClusterInspectConfig' => [
- 'summary' => 'Modifies cluster inspection configurations.',
- 'path' => '/clusters/{clusterId}/inspectConfig',
- 'methods' => [
- 'put',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'InstallClusterAddons' => [
+ 'summary' => 'To enhance Kubernetes capabilities, ACK clusters support various components, such as managed core components, application components, logging and monitoring components, networking components, storage components, and security components. You can call the InstallClusterAddons operation to install components by specifying the component name and version.',
+ 'path' => '/clusters/{ClusterId}/components/install',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '261198',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'abilityTreeCode' => '486',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
- 'name' => 'clusterId',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', '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,
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The component details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name. You can call the [ListAddons](~~2667939~~) operation to query information about available components, including component names and versions.', 'type' => 'string', 'required' => true, 'example' => 'storage-operato'],
+ 'version' => ['title' => '', 'description' => 'The component version. You can call the [ListAddons](~~2667939~~) operation to query information about available components, including component names and versions.', 'type' => 'string', 'required' => true, 'example' => 'v1.32.9'],
+ 'config' => ['title' => '', 'description' => 'The custom parameters of the component, encoded as a JSON string.', 'type' => 'string', 'example' => '{\\"IngressDashboardEnabled\\":\\"true\\",\\"sls_project_name\\":\\"your_sls_project_name\\"}', 'required' => false],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'example' => 'ags-metrics-collector',
],
],
],
'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***',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39ea0****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea0****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\"\\n}","type":"json"}]',
+ 'title' => 'Install cluster components',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-12T12:52:17.000Z', 'description' => 'Response parameters changed'],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '261197',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallClusterAddons'],
],
- 'tenantRelevance' => 'tenant',
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
- ],
- ],
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:InstallClusterAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:AddonNames'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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',
+ 'translator' => 'machine',
],
- 'RunClusterInspect' => [
- 'summary' => 'Triggers a cluster inspection and generates a report.',
- 'path' => '/clusters/{clusterId}/inspectReports',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'InstallNodePoolComponents' => [
+ 'summary' => 'Installs components on nodes. You can configure and specify nodes on which to install components.',
+ 'path' => '/clusters/{clusterId}/nodepools/{nodePoolId}/components',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '261190',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'nodePoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => false, 'example' => 'np7c4fa4a5f1ce412b849****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'description' => 'The request body parameters.',
'type' => 'object',
'properties' => [
- 'clientToken' => [
- 'title' => '幂等Token。',
- 'description' => 'The idempotency token that ensures an API request completes no more than one time.'."\n",
- 'type' => 'string',
+ 'components' => [
+ 'title' => '',
+ 'description' => 'The list of node components.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The configuration of a single component.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'required' => true, 'example' => 'kubelet'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'required' => false, 'example' => '1.28.9-aliyun.1'],
+ 'config' => [
+ 'title' => '',
+ 'description' => 'The component configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'customConfig' => [
+ 'title' => '',
+ 'description' => 'The custom configuration of the component.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '组件配置', 'type' => 'any', 'example' => 'cpuCFSQuota', 'title' => ''],
+ 'example' => '{"cpuManagerPolicy":"static"}',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'rollingPolicy' => [
+ 'title' => '',
+ 'description' => 'The rolling update configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'maxParallelism' => ['title' => '', 'description' => 'The maximum number of nodes that can be processed in parallel per batch. Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'required' => false],
+ 'pausePolicy' => [
+ 'title' => '',
+ 'description' => 'The automatic pause policy during the node upgrade process.',
+ 'type' => 'string',
+ 'example' => 'NotPause',
+ 'default' => 'NotPause',
+ 'enum' => ['NotPause', 'FirstBatch', 'EveryBatch'],
+ 'required' => false,
+ ],
+ 'batchInterval' => ['title' => '', 'description' => 'The interval between batches during the upgrade. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'default' => '0', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'nodeNames' => [
+ 'title' => '',
+ 'description' => 'The list of node names for the rolling update. By default, all nodes are included.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The node name.', 'type' => 'string', 'example' => 'cn-hangzhou.10.2xxx', 'required' => false],
'required' => false,
- 'example' => 'c82e6987e2961451182edacd74faf',
+ 'example' => '',
],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
- ],
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***'],
+ 'taskId' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-67d7ec016ce37c0106000***'],
+ 'clusterId' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c8155823d057948c69a****'],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Install node components',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- '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',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:InstallNodePoolComponents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"clusterId\\": \\"c8155823d057948c69a****\\"\\n}","type":"json"}]',
+ 'translator' => 'machine',
+ ],
+ 'ListAddons' => [
+ 'summary' => 'Queries the list of available components based on specified parameters such as region, cluster type, cluster subtype (profile), and cluster version. You can also retrieve detailed component information, including whether a component is managed, the schema of supported custom parameters, and compatible operating system architectures.',
+ 'path' => '/addons',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ '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',
+ 'abilityTreeCode' => '190344',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'name' => 'region_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The region.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The region_id, cluster_type, profile, cluster_spec, and cluster_version parameters must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'nextToken',
+ 'name' => 'cluster_type',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AK8uQQrxgFKsI3OiS5TbhUQ9R3kPme4I3',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster type.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The region_id, cluster_type, profile, cluster_spec, and cluster_version parameters must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'ManagedKubernetes'],
],
[
- 'name' => 'maxResults',
+ 'name' => 'profile',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of returned results. Maximum value: 50.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster subtype.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The region_id, cluster_type, profile, cluster_spec, and cluster_version parameters must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'Default'],
+ ],
+ [
+ 'name' => 'cluster_spec',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster specification.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The region_id, cluster_type, profile, cluster_spec, and cluster_version parameters must be specified together.', 'type' => 'string', 'required' => false, 'example' => 'ack.pro.small'],
+ ],
+ [
+ 'name' => 'cluster_version',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster version.'."\n"
+ .'If cluster_id is specified, this parameter is ignored.'."\n"
+ .'The region_id, cluster_type, profile, cluster_spec, and cluster_version parameters must be specified together.', 'type' => 'string', 'required' => false, 'example' => '1.32.1-aliyun.1'],
+ ],
+ [
+ 'name' => 'cluster_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.'."\n"
+ .'If you specify a cluster ID, the system queries the list of available components for the specified cluster, and all other parameters are ignored.', 'type' => 'string', 'required' => false, 'example' => 'c02b3e03be10643e8a644a843ffcb****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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",
+ 'addons' => [
+ 'title' => '',
+ 'description' => 'The list of available components.',
'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',
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'arms-prometheus'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'example' => '1.1.9'],
+ 'managed' => ['title' => '', 'description' => 'Indicates whether the component is managed. Valid values:'."\n"
+ ."\n"
+ .'- true: The component is managed.'."\n"
+ ."\n"
+ .'- false: The component is not managed.', 'type' => 'boolean', 'example' => 'false'],
+ 'install_by_default' => ['title' => '', 'description' => 'Indicates whether the component is installed by default. Valid values:'."\n"
+ ."\n"
+ .'- true: The component is installed by default when a cluster is created.'."\n"
+ ."\n"
+ .'- false: The component is not installed by default.', 'type' => 'boolean', 'example' => 'false'],
+ 'category' => ['title' => '', 'description' => 'The component categorization. Valid values:'."\n"
+ ."\n"
+ .'- core: core component.'."\n"
+ .'- network: network type component.'."\n"
+ .'- security: security component.'."\n"
+ .'- storage: storage component.'."\n"
+ .'- monitor: logging and monitoring component.'."\n"
+ .'- application: application component.'."\n"
+ ."\n"
+ .'An empty value indicates that the component belongs to another category.', 'type' => 'string', 'example' => 'monitor'],
+ 'config_schema' => ['title' => '', 'description' => 'The schema of custom parameters for the component.', 'type' => 'string', 'example' => '{}'],
+ 'supported_actions' => [
+ 'title' => '',
+ 'description' => 'The operations supported by the component.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The operations supported by the component. Valid values:'."\n"
+ .'- Install: installs the component.'."\n"
+ .'- Upgrade: upgrades the component.'."\n"
+ .'- Modify: updates the component.'."\n"
+ .'- Uninstall: uninstalls the component.', 'type' => 'string', 'example' => 'Install', 'title' => ''],
+ 'example' => '',
],
- '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',
- ],
- ],
+ 'architecture' => [
+ 'title' => '',
+ 'description' => 'The CPU architectures supported by the component.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The CPU architectures supported by the component. Valid values:'."\n"
+ .'- amd64.'."\n"
+ .'- arm64.', 'type' => 'string', 'example' => 'amd64', 'title' => ''],
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query available components',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListAddons',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ListAutoRepairPolicies' => [
+ 'summary' => 'Retrieves the list of auto-repair policies.',
+ 'path' => '/clusters/{cluster_id}/auto_repair_policies',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '261192',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
- ],
- [
- 'name' => 'reportId',
+ 'name' => 'cluster_id',
'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',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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",
+ 'items' => [
+ 'description' => 'The auto-repair policies.',
'type' => 'array',
'items' => [
- 'description' => 'The inspection result.'."\n",
+ 'description' => 'The auto-repair policies.',
'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',
+ 'name' => ['description' => 'The name of the auto-repair policy.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'id' => ['description' => 'The ID of the auto-repair policy.', 'type' => 'string', 'example' => 'r-xxxxx', 'title' => ''],
+ 'resource_type' => ['description' => 'The type of resource bound to the auto-repair policy.', 'type' => 'string', 'example' => 'nodepool', 'title' => ''],
+ 'resource_sub_type' => ['description' => 'The subtype of resource bound to the auto-repair policy.', 'type' => 'string', 'example' => 'ess', 'title' => ''],
+ 'resource_ids' => [
+ 'description' => 'The list of resources bound to the auto-repair policy.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of resources bound to the auto-repair policy.', 'type' => 'string', 'example' => 'npxxxxx', 'title' => ''],
+ 'title' => '',
'example' => '',
],
- 'targets' => [
- 'description' => 'The inspection objects.'."\n",
+ 'rules' => [
+ 'description' => 'The list of auto-repair sub-rules.',
'type' => 'array',
'items' => [
- 'description' => 'The inspection object.'."\n",
- 'type' => 'string',
- 'example' => 'lb-5tstgwefjvwe1zko7xxx',
+ 'description' => 'The list of auto-repair sub-rules.',
+ 'type' => 'object',
+ 'properties' => [
+ 'incidents' => [
+ 'description' => 'The list of identified incidents.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of identified incidents.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the incident.', 'type' => 'string', 'example' => 'Node.FaultNeedReboot.HOST', 'title' => ''],
+ 'type' => ['description' => 'The diagnosis type.', 'type' => 'string', 'example' => 'system'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'repair_procedure' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the procedure.', 'type' => 'string', 'example' => 'QuarantineGPU', 'title' => ''],
+ 'intervention' => [
+ 'description' => 'The configuration for manual intervention.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable manual approval.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'type' => ['description' => 'The type of manual approval.', 'type' => 'string', 'example' => 'label', 'title' => ''],
+ 'inquiring_label' => [
+ 'description' => 'The label configuration for authorization inquiry. When this phase is entered, ACK adds the following label to your node and waits for your authorization to execute the action of this phase.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The label `key`.', 'type' => 'string', 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The taint `value`.', 'type' => 'string', 'example' => 'inquiring', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'approved_label' => [
+ 'description' => 'The label configuration for confirming authorization. When you add the following label to a node, it indicates that you authorize ACK to execute the action of this phase. After completing the action of this phase, ACK automatically removes the authorization inquiry label and the confirmation label corresponding to this phase. If you do not add the following label to authorize the action in time, ACK will not execute the action of this phase or any subsequent actions, and the node may remain in a damaged state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The label `key`.', 'type' => 'string', 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The label `value`.', 'type' => 'string', 'example' => 'approved', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'config' => [
+ 'description' => 'The configuration parameters of the procedure.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'The configuration parameters of the procedure.', 'type' => 'any', 'example' => '{'."\n"
+ .'"drain_timeout": "30s" '."\n"
+ .'}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- ],
- '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',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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 }\\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"}]',
+ 'title' => 'Get the list of auto-repair policies',
+ 'description' => '><notice>This API is not yet available. Stay tuned.></notice>',
+ 'changeSet' => [
+ ['createdAt' => '2026-02-26T07:37:52.000Z', 'description' => 'Response parameters changed'],
],
- 'produces' => [
- 'application/json',
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '261200',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
- 'tenantRelevance' => 'tenant',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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****',
- ],
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListAutoRepairPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"873DC52C-28AA-5A5C-938C-684D3D4B****\\"\\n}","type":"json"}]',
- 'title' => 'DeleteClusterInspectConfig',
+ 'translator' => 'machine',
],
- 'CreateClusterDiagnosis' => [
- 'summary' => 'Starts a cluster diagnostic.',
- 'path' => '/clusters/{cluster_id}/diagnosis',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ListClusterAddonInstanceResources' => [
+ 'summary' => 'Queries the list of resources contained in an installed cluster component instance, including Kubernetes cluster resources and Helm release instances.',
+ 'path' => '/clusters/{cluster_id}/addon_instances/{instance_name}/resources',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '211970',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
+ 'abilityTreeCode' => '215253',
+ 'abilityTreeNodes' => ['FEATUREcskGIIHWM'],
],
'parameters' => [
[
'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'cb95aa626a47740afbf6aa099b650****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'instance_name',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The name of the component instance.', 'type' => 'string', 'required' => false, 'example' => 'terway-eniip'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
+ 'kubernetes_objects' => [
+ 'title' => '',
+ 'description' => 'The list of Kubernetes objects contained in the component.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The Kubernetes object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'group' => ['title' => '', 'description' => 'The Kubernetes API group to which the object belongs.', 'type' => 'string', 'example' => 'rbac.authorization.k8s.io'],
+ 'version' => ['title' => '', 'description' => 'The Kubernetes API version to which the object belongs.', 'type' => 'string', 'example' => 'v1'],
+ 'kind' => ['title' => '', 'description' => 'The Kubernetes API kind of the object.', 'type' => 'string', 'example' => 'ClusterRole'],
+ 'name' => ['title' => '', 'description' => 'The name of the object.', 'type' => 'string', 'example' => 'terway-pod-reader'],
+ 'namespace' => ['title' => '', 'description' => 'The namespace to which the object belongs.', 'type' => 'string', 'example' => 'kube-system'],
+ ],
+ 'example' => '',
],
- 'example' => 'node',
+ 'example' => '',
],
- '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",
+ 'helm_release' => [
+ 'title' => '',
+ 'description' => 'The Helm release instance information of the component.',
'type' => 'object',
- 'required' => false,
- 'example' => '{"namespace": "kube-system", "name": "csi-plugin-2cg9f"}',
+ 'properties' => [
+ 'release_name' => ['title' => '', 'description' => 'The name of the Helm release instance.', 'type' => 'string', 'example' => 'ack-node-problem-detector'],
+ 'namespace' => ['title' => '', 'description' => 'The namespace.', 'type' => 'string', 'example' => 'kube-system'],
+ 'chart_name' => ['title' => '', 'description' => 'The Helm chart name of the component.', 'type' => 'string', 'example' => 'ack-node-problem-detector'],
+ 'chart_version' => ['title' => '', 'description' => 'The Helm chart version of the component.', 'type' => 'string', 'example' => '1.2.28'],
+ ],
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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'],
+ '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"}]',
+ 'title' => 'Query resources of a cluster component instance',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstanceResources'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterAddonInstanceResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
+ 'translator' => 'machine',
],
- 'GetClusterDiagnosisResult' => [
- 'summary' => 'Queries cluster diagnostic results.',
- 'path' => '/clusters/{cluster_id}/diagnosis/{diagnosis_id}/result',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ListClusterAddonInstances' => [
+ 'summary' => 'Lists the component instances installed in a specified cluster and queries related information about the component instances, such as the component version and status.',
+ 'path' => '/clusters/{cluster_id}/addon_instances',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '211972',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
- ],
+ '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' => '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c02b3e03be10643e8a644a843ffcb****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
+ 'addons' => [
+ 'title' => '',
+ 'description' => 'The list of installed component instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The component instance information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'example' => 'coredns'],
+ 'state' => ['title' => '', 'description' => 'The component status. Valid values:'."\n"
+ .'- active: installed'."\n"
+ .'- updating: being modified'."\n"
+ .'- upgrading: being upgraded'."\n"
+ .'- deleting: being uninstalled.', 'type' => 'string', 'example' => 'active'],
+ 'version' => ['title' => '', 'description' => 'The component version.', 'type' => 'string', 'example' => 'v1.9.3.10-7dfca203-aliyun'],
+ ],
+ 'example' => '',
],
- 'example' => 'Node',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"addons\\": [\\n {\\n \\"name\\": \\"coredns\\",\\n \\"state\\": \\"active\\",\\n \\"version\\": \\"v1.9.3.10-7dfca203-aliyun\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'List installed component instances of a cluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstances'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterAddonInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ListClusterChecks' => [
+ 'summary' => 'The intelligent O&M platform for containers provides comprehensive Kubernetes cluster check capabilities, including cluster upgrade checks, cluster migration checks, component installation checks, component upgrade checks, and node pool checks. You can call the ListClusterChecks operation to query the list of cluster checks and related information by cluster ID, such as check type, status, creation time, and completion time.',
+ 'path' => '/clusters/{cluster_id}/checks',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '212434',
- 'abilityTreeNodes' => [
- 'FEATUREcskVD3FWR',
- ],
+ 'abilityTreeCode' => '197075',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cb95aa626a47740afbf6aa099b650****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****'],
],
[
- 'name' => 'diagnosis_id',
- 'in' => 'path',
- 'schema' => [
- 'title' => '诊断ID。',
- 'description' => 'The diagnostic ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '6f719f23098240818eb26fe3a37d****',
- ],
+ 'name' => 'type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The check type. Valid values:'."\n"
+ .'- ClusterMigrate: cluster migration.'."\n"
+ ."\n"
+ .'- MasterUpgrade: cluster control plane upgrade.'."\n"
+ ."\n"
+ .'- NodePoolUpgrade: node pool upgrade.'."\n"
+ ."\n"
+ .'- ClusterUpgrade: cluster upgrade.', 'type' => 'string', 'required' => false, 'example' => 'ClusterUpgrade'],
],
[
- 'name' => 'language',
+ 'name' => 'target',
'in' => 'query',
- 'schema' => [
- 'title' => '查询语言。',
- 'description' => 'The query language.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh_CN',
- ],
+ 'schema' => ['title' => '', 'description' => 'The check target to filter.', 'type' => 'string', 'required' => false, 'example' => 'ngw-bp19ay6nnvd4cexxxx'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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",
+ 'checks' => [
+ 'title' => '',
+ 'description' => 'The list of checks.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The information about a single check.',
'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',
- ],
+ 'check_id' => ['title' => '', 'description' => 'The check ID.', 'type' => 'string', 'example' => '1697100584236600453-ce0da5a1d627e4e9e9f96cae8ad07****-clustercheck-lboto'],
+ 'type' => ['title' => '', 'description' => 'The check type.', 'type' => 'string', 'example' => 'ClusterUpgrade'],
+ 'status' => ['title' => '', 'description' => 'The check status.', 'type' => 'string', 'example' => 'Succeeded'],
+ 'message' => ['title' => '', 'description' => 'The check status message.', 'type' => 'string', 'example' => 'task succeed'],
+ 'created_at' => ['title' => '', 'description' => 'The creation time.', 'type' => 'string', 'example' => '2025-04-11T02:56:02.565982623Z'],
+ 'finished_at' => ['title' => '', 'description' => 'The completion time.', 'type' => 'string', 'example' => '2025-04-11T02:56:18.881054031Z'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'produces' => [
- 'application/json',
+ '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' => 'List all cluster checks',
+ 'changeSet' => [
+ ['createdAt' => '2024-03-14T07:51:26.000Z', 'description' => 'Request parameters changed'],
],
- 'operationType' => 'readAndWrite',
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '8528',
- 'abilityTreeNodes' => [
- 'FEATUREcskDJFO7P',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterChecks'],
],
- 'tenantRelevance' => 'publicInformation',
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
- ],
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterChecks',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- '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',
- ],
- ],
- ],
- ],
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'ListClusterInspectReports' => [
+ 'summary' => 'Retrieves a list of cluster inspection reports.',
+ 'path' => '/clusters/{clusterId}/inspectReports',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '261195',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA', 'FEATUREcskI1OLEY', 'FEATUREcskZG2TSX', 'FEATUREcskDGKERY'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'TemplateId',
+ 'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '模板ID。',
- 'description' => 'The ID of the template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '874ec485-e7e6-4373-8a3b-47bde8a****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
[
- 'name' => 'template_type',
+ 'name' => 'nextToken',
'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',
- ],
+ 'schema' => ['description' => 'The pagination token.', 'type' => 'string', 'required' => false, 'example' => 'AK8uQQrxgFKsI3OiS5TbhUQ9R3kPme4I3', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of results to return. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
],
'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',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***'],
+ 'nextToken' => ['title' => '', 'description' => 'The pagination token.', 'type' => 'string', 'example' => '405b99e5411f9a4e7148506e45'],
+ 'reports' => [
+ 'title' => '',
+ 'description' => 'The inspection reports.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'reportId' => ['title' => '', 'description' => 'The inspection report ID.', 'type' => 'string', 'example' => '782df89346054a0000562063a6****'],
+ 'startTime' => ['description' => 'The start time of the inspection report.', 'type' => 'string', 'example' => '2024-12-18T19:40:16.778333+08:00', 'title' => ''],
+ 'endTime' => ['description' => 'The completion time of the inspection report.', 'type' => 'string', 'example' => '2024-12-18T19:40:16.778333+08:00', 'title' => ''],
+ 'status' => ['title' => '', 'description' => 'The generation status of the inspection report.', 'type' => 'string', 'example' => 'completed'],
+ 'summary' => [
+ 'title' => '',
+ 'description' => 'The inspection report summary.',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['title' => '', 'description' => 'The status code of the check task result.', 'type' => 'string', 'example' => 'warning'],
+ 'normalCount' => ['title' => '', 'description' => 'The number of check items with a result of normal.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'adviceCount' => ['title' => '', 'description' => 'The number of check items with a result of advice.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'warnCount' => ['title' => '', 'description' => 'The number of check items with a result of warning.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'errorCount' => ['title' => '', 'description' => 'The number of check items with a result of error.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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' => 'Retrieve cluster inspection report list',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterInspectReports'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterInspectReports',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ListClusterKubeconfigStates' => [
+ 'summary' => 'Queries the list and status of KubeConfigs that have been issued to users in a specified cluster. You can call this operation to view the access control status of the current cluster.',
+ 'path' => '/clusters/{ClusterId}/kubeconfig/states',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '391',
- 'abilityTreeNodes' => [
- 'FEATUREcskT7MN2U',
- 'FEATUREcskDJFO7P',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '200813',
+ 'abilityTreeNodes' => ['FEATUREcsk01W1JN', 'FEATUREcskD83BWV', 'FEATUREcskCWOUHM'],
],
'parameters' => [
[
- 'name' => 'template_type',
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf****'],
+ ],
+ [
+ 'name' => 'pageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number.'."\n"
+ ."\n"
+ .'- Valid values: 1 or greater.'."\n"
+ ."\n"
+ .'- Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'page_num',
+ 'name' => 'pageSize',
'in' => 'query',
- 'schema' => [
- 'title' => '对查询结果进行分页处理,指定返回第几页的数据。 默认值为 1',
- 'description' => 'The page number.'."\n"
- ."\n"
- .'Default value: 1.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of records per page.'."\n"
+ .'- Valid values: 1 to 50.'."\n"
+ ."\n"
+ .'- Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
- 'name' => 'page_size',
+ 'name' => 'cloudServiceKubeConfig',
'in' => 'query',
'schema' => [
- 'title' => '对查询结果进行分页处理,指定每页包含的数据条数。 默认值为 10',
- 'description' => 'The number of entries per page.'."\n"
+ 'description' => 'Specifies whether to query the KubeConfig list of cloud service roles in the cluster. Valid values:'."\n"
."\n"
- .'Default value: 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ .'- true: queries the KubeConfig list of cloud service roles in the cluster.'."\n"
+ .'- false: queries the KubeConfig list of Resource Access Management (RAM) users or roles in the cluster.',
+ 'enumValueTitles' => ['true' => 'true', 'false' => 'false'],
+ 'type' => 'boolean',
'required' => false,
- 'example' => '10',
+ 'example' => 'true',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体数据。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'templates' => [
- 'title' => '模板列表。',
- 'description' => 'The list of returned templates.'."\n",
+ 'states' => [
+ 'description' => 'The list of KubeConfig states associated with the cluster.',
'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',
+ 'account_id' => ['title' => '', 'description' => 'The Alibaba Cloud account, Resource Access Management (RAM) user, or role ID.', 'type' => 'string', 'example' => '22855*****************'],
+ 'account_name' => ['title' => '', 'description' => 'The logon name of the Resource Access Management (RAM) user or the role name.', 'type' => 'string', 'example' => 'tom'],
+ 'account_display_name' => ['title' => '', 'description' => 'The display name of the Resource Access Management (RAM) user or the role name.', 'type' => 'string', 'example' => 'tom'],
+ 'account_type' => ['title' => '', 'description' => 'The account type. Valid values:'."\n"
+ ."\n"
+ .'- RootAccount: Alibaba Cloud account.'."\n"
+ .'- RamUser: Resource Access Management (RAM) user.'."\n"
+ .'- RamRole: RAM role.', 'type' => 'string', 'example' => 'RamUser'],
+ 'account_state' => ['title' => '', 'description' => 'The account status. Valid values:'."\n"
+ ."\n"
+ .'- Active: The account is active.'."\n"
+ ."\n"
+ .'- InActive: The account is frozen.'."\n"
+ ."\n"
+ .'- Deleted: The account is deleted.', 'type' => 'string', 'example' => 'Active'],
+ 'cert_expire_time' => ['title' => '', 'description' => 'The expiration time of the KubeConfig client certificate.', 'type' => 'string', 'example' => '2027-07-15T01:32:20Z'],
+ 'cert_state' => ['title' => '', 'description' => 'The status of the KubeConfig client certificate. Valid values:'."\n"
+ ."\n"
+ .'- Unexpired: The certificate has not expired.'."\n"
+ ."\n"
+ .'- Expired: The certificate has expired.'."\n"
+ ."\n"
+ .'- Unknown: The certificate status is unknown (abnormal state).', 'type' => 'string', 'example' => 'Expired'],
+ 'revokable' => ['title' => '', 'description' => 'Indicates whether the KubeConfig client certificate can be revoked.', 'type' => 'boolean', 'example' => 'true'],
+ 'cloud_service_name' => ['description' => 'The name of the cloud service.', 'type' => 'string', 'example' => 'cs/ecs/sls', 'title' => ''],
+ 'cloud_service_roles' => [
+ 'description' => 'The list of cluster roles associated with the cloud service role.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The cluster role information associated with the cloud service role.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The type of the cluster role associated with the cloud service role.',
+ 'enumValueTitles' => ['Role' => 'Role', 'ClusterRole' => 'ClusterRole'],
+ 'type' => 'string',
+ 'example' => 'ClusterRole',
+ 'title' => '',
+ ],
+ 'role_name' => ['description' => 'The name of the cluster role associated with the cloud service role.', 'type' => 'string', 'example' => 'cluster-admin', 'title' => ''],
+ 'role_namespace' => ['description' => 'The namespace of the cluster role associated with the cloud service role.', 'type' => 'string', 'example' => 'kube-system', 'title' => ''],
+ 'is_default_template' => ['description' => 'Indicates whether the content matches the default cluster role template. Valid values:'."\n"
+ ."\n"
+ .'- true: The content matches the default template.'."\n"
+ .'- false: The content does not match the default template.', 'type' => 'boolean', 'title' => '', 'example' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'page_info' => [
- 'title' => '分页信息。',
- 'description' => 'The pagination information.'."\n",
+ 'page' => [
+ 'description' => 'The pagination information.',
'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',
- ],
+ 'page_number' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'page_size' => ['title' => '', 'description' => 'The maximum number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'total_count' => ['title' => '', 'description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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\\": false\\n }\\n ]\\n }\\n ],\\n \\"page\\": {\\n \\"page_number\\": 1,\\n \\"page_size\\": 10,\\n \\"total_count\\": 5\\n }\\n}","type":"json"}]',
+ 'title' => 'Query the list of issued kubeConfigs for a specified cluster',
+ 'description' => '> - To call this operation, you must have the ram:ListUsers and ram:ListRoles permissions.'."\n"
+ .'> - To call this operation, you must have full access to Container Service for Kubernetes (ACK) (AliyunCSFullAccess).',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-19T09:32:51.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2026-01-07T11:35:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2026-01-07T10:29:31.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterKubeconfigStates'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- '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',
- ],
- ],
+ 'ramActions' => [
[
- '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',
- ],
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterKubeconfigStates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- '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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'ListOperationPlans' => [
+ 'summary' => 'Retrieves a list of automated O&M execution plans.',
+ 'path' => '/operation/plans',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeNodes' => [
- 'FEATUREcskT7MN2U',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '196741',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'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' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****'],
],
[
- 'name' => 'cluster_id',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c68deb844dc6d480eb775be611fdf****',
- ],
+ 'name' => 'type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The execution plan type.', 'type' => 'string', 'required' => false, 'example' => 'cluster_upgrade'],
],
],
'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',
+ 'plans' => [
+ 'title' => '',
+ 'description' => 'The list of execution plans.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The execution plan.',
+ 'type' => 'object',
+ 'properties' => [
+ 'plan_id' => ['title' => '', 'description' => 'The execution plan ID.', 'type' => 'string', 'example' => 'P-655c9c127e0e6603ef00****'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****'],
+ 'created' => ['title' => '', 'description' => 'The time when the execution plan was created.', 'type' => 'string', 'example' => '2023-11-21T20:01:22+08:00'],
+ 'start_time' => ['title' => '', 'description' => 'The expected start time of the execution.', 'type' => 'string', 'example' => '2023-11-22T15:18:00+08:00'],
+ 'end_time' => ['title' => '', 'description' => 'The expected end time of the execution.', 'type' => 'string', 'example' => '2023-11-22T18:00:00+08:00'],
+ 'state' => ['title' => '', 'description' => 'The status. Valid values:'."\n"
+ .'- scheduled: Scheduled.'."\n"
+ .'- canceled: Canceled.', 'type' => 'string', 'example' => 'scheduled'],
+ 'type' => ['title' => '', 'description' => 'The type. Valid values:'."\n"
+ .'- cluster_upgrade: Cluster upgrade.', 'type' => 'string', 'example' => 'cluster_upgrade'],
+ 'target_type' => ['title' => '', 'description' => 'The execution target type.', 'type' => 'string', 'example' => 'cluster'],
+ 'target_id' => ['title' => '', 'description' => 'The execution target ID.', 'type' => 'string', 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID generated by the execution plan.', 'type' => 'string', 'example' => 'T-6764d027be846d01310006b1'],
+ ],
+ 'example' => '',
+ ],
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ '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 \\"type\\": \\"cluster_upgrade\\",\\n \\"target_type\\": \\"cluster\\",\\n \\"target_id\\": \\"c29ced64b3dfe4f33b57ca0aa9f68****\\",\\n \\"task_id\\": \\"T-6764d027be846d01310006b1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'Query automated O&M execution plans',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-30T10:58:02.000Z', 'description' => 'Response parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListOperationPlans'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListOperationPlans',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responses' => [
- 200 => [
- 'headers' => [],
- ],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => 'DeleteTrigger',
+ 'translator' => 'machine',
],
- 'DescribeTrigger' => [
- 'summary' => 'Queries triggers that match specific conditions.',
- 'path' => '/clusters/{cluster_id}/triggers',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListOperationPlansForRegion' => [
+ 'summary' => 'Queries the most recent 100 automated O&M execution plans in a specified region. When features such as cluster intelligent managed mode (Auto Mode), automatic cluster upgrade, or node pool automated O&M are enabled, you can call this operation to query the O&M plans automatically generated by the system and their execution status, such as cluster upgrades and node pool CVE fixes.',
+ 'path' => '/regions/{region_id}/operation/plans',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'region_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing'],
],
[
- 'name' => 'Namespace',
+ 'name' => 'cluster_id',
'in' => 'query',
- 'schema' => [
- 'title' => '应用所属命名空间。',
- 'description' => 'The namespace to which the application belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'default',
- ],
+ 'schema' => ['title' => '', 'description' => 'Filters results by cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c02b3e03be10643e8a644a843ffcb****'],
],
[
- 'name' => 'Type',
+ '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",
+ 'title' => '',
+ 'description' => 'Filters results by execution plan type.',
+ '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'],
'type' => 'string',
'required' => false,
- 'example' => 'deployment',
- ],
- ],
- [
- 'name' => 'Name',
- 'in' => 'query',
- 'schema' => [
- 'title' => '应用名称。',
- 'description' => 'The application name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'web-server',
+ 'example' => 'CLUSTER_UPGRADE_MASTER',
],
],
[
- 'name' => 'action',
+ 'name' => 'state',
'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",
+ 'title' => '',
+ 'description' => 'Filters results by execution plan state.',
+ 'enumValueTitles' => ['Scheduled' => 'The plan has been scheduled.', 'Failed' => 'The execution failed.', 'ValidatingFailed' => 'The pre-execution validation failed.', 'Executing' => 'The plan is being executed.', 'Canceled' => 'The plan has been canceled.', 'Executed' => 'The plan has been executed.'],
'type' => 'string',
'required' => false,
- 'example' => 'redeploy',
+ 'example' => 'Scheduled',
],
],
],
'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***',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'plans' => [
+ 'title' => '',
+ 'description' => 'The list of execution plans.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The execution plan.',
+ 'type' => 'object',
+ 'properties' => [
+ 'plan_id' => ['title' => '', 'description' => 'The execution plan ID.', 'type' => 'string', 'example' => 'P-655c9c127e0e6603ef00****'],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****'],
+ 'created' => ['title' => '', 'description' => 'The time when the execution plan was created.', 'type' => 'string', 'example' => '2023-11-21T20:01:22+08:00'],
+ 'start_time' => ['title' => '', 'description' => 'The expected start time of the execution.', 'type' => 'string', 'example' => '2023-11-22T15:18:00+08:00'],
+ 'end_time' => ['title' => '', 'description' => 'The expected end time of the execution.', 'type' => 'string', 'example' => '2023-11-22T18:00:00+08:00'],
+ 'state' => [
+ 'title' => '',
+ 'description' => 'The state of the execution plan.',
+ 'enumValueTitles' => ['Scheduled' => 'The plan has been scheduled.', 'Failed' => 'The execution failed.', 'ValidatingFailed' => 'The pre-execution validation failed.', 'Executing' => 'The plan is being executed.', 'Canceled' => 'The plan has been canceled.', 'Executed' => 'The plan has been executed.'],
+ 'type' => 'string',
+ 'example' => 'Scheduled',
+ ],
+ 'state_reason' => [
+ 'title' => '',
+ 'description' => 'The reason for the state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['title' => '', 'description' => 'The code.', 'type' => 'string', 'example' => 'CanceledByUser'],
+ 'message' => ['title' => '', 'description' => 'The message.', 'type' => 'string', 'example' => 'plan has been canceled by user'],
+ ],
+ 'example' => '',
+ ],
+ 'type' => [
+ 'title' => '',
+ 'description' => 'The type of the execution plan.',
+ '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'],
+ 'type' => 'string',
+ 'example' => 'CLUSTER_UPGRADE_MASTER',
+ ],
+ 'target_type' => [
+ 'title' => '',
+ 'description' => 'The type of the execution target.',
+ 'enumValueTitles' => ['cluster' => 'cluster', 'nodepool' => 'nodepool', 'addon' => 'addon'],
+ 'type' => 'string',
+ 'example' => 'cluster',
+ ],
+ 'target_id' => ['title' => '', 'description' => 'The ID of the execution target.', 'type' => 'string', 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID generated by the execution plan.', 'type' => 'string', 'example' => 'T-681ac448b23ced010600****'],
+ ],
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ '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"}]',
+ 'title' => 'Query automated O&M execution plans in a specified region',
+ 'changeSet' => [
+ ['createdAt' => '2025-11-25T12:30:39.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListOperationPlansForRegion'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListOperationPlansForRegion',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
],
'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.',
+ 'summary' => 'You can add tag key-value pairs to clusters so that cluster developers or O&M engineers can classify and manage clusters more flexibly, and better support requirements such as monitoring, cost analysis, and multi-tenant data isolation. You can call the ListTagResources operation to obtain a list of resource tags and query detailed tag information, such as key-value pairs and associated clusters.',
'path' => '/tags',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'abilityTreeCode' => '579',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
@@ -21998,15 +15193,12 @@
'in' => 'query',
'style' => 'json',
'schema' => [
- 'title' => '集群ID列表。',
- 'description' => 'The list of cluster IDs.'."\n",
+ 'title' => '',
+ 'description' => 'The list of resource IDs to query.',
'type' => 'array',
- 'items' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c71cf3d796c374bf48644482cb0c3****',
- ],
+ 'items' => ['description' => 'The resource ID.'."\n"
+ ."\n"
+ .'If the resource type is `CLUSTER`, this parameter specifies the cluster ID.', 'type' => 'string', 'example' => 'c71cf3d796c374bf48644482cb0c3****', 'required' => false, 'title' => ''],
'required' => true,
'example' => '["xxxxx","xxxxxx"]',
],
@@ -22014,39 +15206,24 @@
[
'name' => 'resource_type',
'in' => 'query',
- 'schema' => [
- 'title' => '资源类型,只支持Cluster',
- 'description' => 'The resource type. Set the value to `CLUSTER`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'CLUSTER',
- ],
+ 'schema' => ['title' => '', 'description' => 'The resource type.'."\n"
+ ."\n"
+ .'CLUSTER: cluster.', '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID.', '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",
+ 'title' => '',
+ 'description' => 'The list of tags to query. A maximum of 20 items can be specified.',
'type' => 'array',
- 'items' => [
- 'description' => 'The label.'."\n",
- 'required' => false,
- '$ref' => '#/components/schemas/tag',
- 'example' => 'ack.aliyun.com',
- ],
+ 'items' => ['description' => 'The resource tag.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
'required' => false,
'example' => '[{\\"key\\":\\"env\\",\\"value\\",\\"dev\\"},{\\"key\\":\\"dev\\", \\"value\\":\\"IT\\"}]',
],
@@ -22054,77 +15231,46 @@
[
'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' => '***',
- ],
+ 'schema' => ['title' => '', 'description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'example' => '***', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
+ 'next_token' => ['title' => '', 'description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'example' => 'c374bf4864448****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'E368C761-F8F6-4A36-9B58-BD53D5******'],
'tag_resources' => [
- 'title' => '资源标签列表。',
- 'description' => 'The details of the queried labels and resources.'."\n",
+ 'title' => '',
+ 'description' => 'The collection of tag resources.',
'type' => 'object',
'properties' => [
'tag_resource' => [
- 'title' => '资源标签。',
- 'description' => 'The resource and label.'."\n",
+ 'title' => '',
+ 'description' => 'The tag resource.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The resource details.',
'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',
- ],
+ 'tag_key' => ['title' => '', 'description' => 'The tag key.', 'type' => 'string', 'example' => 'ack.aliyun.com'],
+ 'tag_value' => ['title' => '', 'description' => 'The tag value.', 'type' => 'string', 'example' => 'c71cf3d796c374bf48644482cb0c3****'],
+ 'resource_id' => ['title' => '', 'description' => 'The resource ID.', 'type' => 'string', 'example' => 'c2e39566adf23481fa1164ed510****'],
+ 'resource_type' => ['title' => '', 'description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::CS::CLUSTER'],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
@@ -22132,6769 +15278,8206 @@
'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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'Query the tag list of a cluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:ListTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'ListUserKubeConfigStates' => [
+ 'summary' => 'Queries the KubeConfig status list of all clusters for the current user. If you want to view the KubeConfig issuance status of each cluster for the current user, you can call this operation to retrieve the KubeConfig status list of all clusters.',
+ 'path' => '/users/{Uid}/kubeconfig/states',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203488',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'parameters' => [
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'Uid',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The ID of the specified Resource Access Management (RAM) user or RAM role within the Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => ' '."\n"
+ .'206945240368******', 'title' => ''],
+ ],
+ [
+ 'name' => 'page_number',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The current page number.'."\n"
+ ."\n"
+ .'- Valid values: greater than or equal to 1.'."\n"
+ ."\n"
+ .'- Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'deprecated' => false, 'required' => false, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'page_size',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of results returned per page.'."\n"
+ ."\n"
+ .'- Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'- Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'deprecated' => false, 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '请求体参数',
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body parameters.',
'type' => 'object',
'properties' => [
- 'resource_ids' => [
- 'title' => '资源ID列表',
- 'description' => 'The list of resource IDs.'."\n",
+ 'states' => [
+ 'description' => 'The KubeConfig status details of the user.',
'type' => 'array',
'items' => [
- 'description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[c1a7bb282fc0d48b****]',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_id' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'."\n", 'title' => ''],
+ 'cert_expire_time' => ['description' => 'The expiration time of the KubeConfig certificate. Format: UTC time in RFC 3339 format.', 'type' => 'string', 'example' => '2028-04-09T06:20:47Z', 'title' => ''],
+ 'cert_state' => ['description' => 'The current status of the KubeConfig certificate. Valid values:'."\n"
+ ."\n"
+ .'- Expired: The certificate has expired.'."\n"
+ .'- Unexpired: The certificate has not expired.'."\n"
+ .'- Unissued: The certificate has not been issued.'."\n"
+ .'- Unknown: The status is unknown.'."\n"
+ ."\n"
+ .'- Removed: The certificate has been revoked. An issuance record exists for the certificate.', 'type' => 'string', 'example' => 'Unissued', 'title' => ''],
+ 'cluster_state' => ['description' => 'The cluster status. 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 upgraded.'."\n"
+ .'- `scaling`: The cluster is being scaled.'."\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.', 'type' => 'string', 'example' => 'running', 'title' => ''],
+ 'cluster_name' => ['description' => 'The cluster name.', 'type' => 'string', 'example' => 'cluster-demo', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'page' => [
+ 'description' => 'The pagination information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'page_number' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'page_size' => ['description' => 'The number of records returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'total_count' => ['description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
],
- 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'example' => '',
],
],
],
- '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' => '[{"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' => 'Query kubeConfig status list of all clusters for a specified user',
+ 'description' => '> To call this operation, you must have full access permissions on Container Service for Kubernetes (ACK) (AliyunCSFullAccess).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUserKubeConfigStates'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListUserKubeConfigStates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'MigrateCluster' => [
+ 'summary' => 'ACK ACK clusters are an evolution of ACK Basic clusters, inheriting all the advantages of managed clusters, such as managed control planes and high-availability control planes. ACK ACK clusters further enhance cluster reliability, security, and scheduling capabilities, and support SLAs with compensation standards. ACK ACK clusters are suitable for enterprise customers who run large-scale workloads in production environments and have high requirements for stability and security. You can call the MigrateCluster operation to migrate an ACK Basic cluster to an ACK ACK cluster.',
+ 'path' => '/clusters/{cluster_id}/migrate',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'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' => 'cluster_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c21e0591548ba4c10bdb535d6572b****'],
],
[
- 'name' => 'tag_keys',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
'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',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'oss_bucket_name' => ['title' => '', 'description' => 'The bucket name.', 'type' => 'string', 'required' => false, 'example' => 'bucket-****'],
+ 'oss_bucket_endpoint' => ['title' => '', 'description' => 'The bucket endpoint.', 'type' => 'string', 'required' => false, 'example' => '*******.oss-cn-hangzhou.aliyuncs.com'],
],
- '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',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '响应体。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '请求id。',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '2D69A58F-345C-4FDE-88E4-BF51894XXXXX',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c21e0591548ba4c10bdb535d657******'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E43******'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-62ccd14aacb8db06ca******'],
],
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c21e0591548ba4c10bdb535d657******\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E43******\\",\\n \\"task_id\\": \\"T-62ccd14aacb8db06ca******\\"\\n}","type":"json"}]',
+ 'title' => 'Migrate a basic cluster to pro',
+ 'description' => 'After you migrate an ACK managed Basic cluster to an ACK managed Pro cluster, a [cluster management fee](~~462278~~) charged by ACK is added. Billing for other cloud resources remains unchanged.',
+ 'changeSet' => [
+ ['createdAt' => '2023-12-25T11:04:35.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-12-21T08:30:06.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T04:11:38.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MigrateCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:MigrateCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'ModifyAutoRepairPolicy' => [
+ 'summary' => 'Modifies a self-healing rule.',
+ 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '383',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '汲取ID',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'schema' => ['description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => false, 'example' => 'c68deb844dc6d480eb775be611fdf****', 'title' => ''],
+ ],
+ [
+ 'name' => 'policy_id',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The ID of the self-healing rule.', 'type' => 'string', 'required' => false, 'example' => 'r-xxxxxx', 'title' => ''],
],
[
'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',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the self-healing rule.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'rules' => [
+ 'description' => 'The list of self-healing sub-rules.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of self-healing sub-rules.',
+ 'type' => 'object',
+ 'properties' => [
+ 'incidents' => [
+ 'description' => 'The list of identified faults.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of identified faults.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The fault name.', 'type' => 'string', 'required' => false, 'example' => 'Node.FaultNeedReboot.HOST', 'title' => ''],
+ 'type' => ['description' => 'The type of manual approval.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'repair_procedure' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The repair procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the procedure.', 'type' => 'string', 'required' => false, 'example' => 'QuarantineGPU', 'title' => ''],
+ 'intervention' => [
+ 'description' => 'The configuration for manual intervention in the procedure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable manual approval.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'type' => ['description' => 'The type of approval.', 'type' => 'string', 'required' => false, 'example' => 'label', 'title' => ''],
+ 'inquiring_label' => [
+ 'description' => 'The label configuration for authorization inquiry. When this phase is reached, ACK adds the following labels to your node and waits for you to authorize the execution of the phase action.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The label key value.', 'type' => 'string', 'required' => false, 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The label value.', 'type' => 'string', 'required' => false, 'example' => 'inquiring', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'approved_label' => [
+ 'description' => 'The label configuration for authorization confirmation. When you add the following labels to the node, you authorize ACK to perform the operations in this phase. After completing the phase operations, ACK automatically removes the authorization inquiry and authorization confirmation labels for this phase. If you do not promptly add the following labels for authorization, ACK does not perform the actions in this phase or subsequent phases, and the node may remain in a damaged state.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The label key value.', 'type' => 'string', 'required' => false, 'example' => 'k8s.aliyun.com/incident', 'title' => ''],
+ 'value' => ['description' => 'The label value.', 'type' => 'string', 'required' => false, 'example' => 'approved', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'config' => [
+ 'description' => 'The parameter settings of the flow.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '流程的参数配置。', 'type' => 'any', 'example' => '{'."\n"
+ .'"drain_timeout": "30s" '."\n"
+ .'}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'db82195b-75a8-40e5-9be4-16f182******'],
+ ],
+ 'example' => '',
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f182******\\"\\n}","type":"json"}]',
+ 'title' => 'Modify a self-healing rule',
+ 'description' => '><notice>This API is not yet available. Stay tuned.></notice>.',
+ 'changeSet' => [
+ ['createdAt' => '2026-02-26T07:37:52.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ModifyCluster' => [
+ 'summary' => 'You can call the ModifyCluster operation to modify the configuration of an ACK cluster.',
+ 'path' => '/api/v2/clusters/{ClusterId}',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '161580',
- 'abilityTreeNodes' => [
- 'FEATUREcskNNODXQ',
- ],
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '384',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'Cluster ID.'."\n"
+ ."\n", 'type' => 'string', 'required' => true, 'example' => 'cb95aa626a47740afbf6aa099b65****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => 'The request body parameters.'."\n",
+ 'title' => '',
+ 'description' => 'Request body parameters.',
'type' => 'object',
'properties' => [
- 'alert_rule_group_name' => [
- 'description' => 'The name of the alert rule group.'."\n",
- 'type' => 'string',
+ 'api_server_eip' => ['title' => '', 'description' => 'Whether to associate an EIP with the cluster for public access to API Server. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Associate an EIP with the cluster.'."\n"
+ .'- `false`: Do not associate an EIP with the cluster.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'api_server_eip_id' => ['title' => '', 'description' => 'The ID of the EIP instance associated with the cluster API Server. This parameter takes effect only when `api_server_eip` is set to `true`.', 'type' => 'string', 'example' => 'eip-wz9fnasl6dsfhmvci****', 'required' => false],
+ 'deletion_protection' => ['title' => '', 'description' => 'Cluster deletion protection, which prevents accidental deletion of the cluster through the console or API. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable cluster deletion protection. The cluster cannot be deleted through the console or API.'."\n"
+ .'- `false`: Disable cluster deletion protection. The cluster can be deleted through the console or API.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'resource_group_id' => ['title' => '', 'description' => 'Cluster resource group ID.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****', 'required' => false],
+ 'maintenance_window' => ['description' => 'Cluster maintenance window. This feature only takes effect for ACK Pro managed clusters.', '$ref' => '#/components/schemas/maintenance_window', 'required' => false, 'title' => '', 'example' => ''],
+ 'enable_rrsa' => ['title' => '', 'description' => 'Enable or disable the RRSA feature (only managed clusters support this parameter). Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable.'."\n"
+ .'- `false`: Disable.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'cluster_name' => ['title' => '', 'description' => 'Custom cluster name. The name can contain digits, Chinese characters, English characters, or hyphens (-), must be 1 to 63 characters in length, and cannot start with a hyphen (-).', 'type' => 'string', 'required' => false, 'example' => 'cluster-new-name'],
+ 'cluster_spec' => ['title' => '', 'description' => 'When `cluster_type` is set to `ManagedKubernetes` and `profile` is configured, specifies the cluster specification. Valid values:'."\n"
+ ."\n"
+ .'- `ack.pro.small`: Pro Edition'."\n"
+ .'- `ack.pro.xlarge`: Pro XL'."\n"
+ .'- `ack.pro.2xlarge`: Pro 2XL'."\n"
+ .'- `ack.pro.4xlarge`: Pro 4XL (requires contacting customer service to enable allowlisting)'."\n"
+ ."\n"
+ .'Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by <props="china">[ACK Pro Provisioned Control Plane](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props><props="intl">[ACK Pro Provisioned Control Plane](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/user-guide/ack-pro-provisioned-control-plane)</props>. By pre-allocating and fixing control plane resources, it ensures that API concurrency and Pod scheduling capabilities are always at a determined high level, suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.'."\n"
+ ."\n"
+ .'For cluster management fees for Pro Edition and Provisioned Control Plane editions, see <props="china">[Cluster Management Fees](https://help.aliyun.com/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props><props="intl">[Cluster Management Fees](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/product-overview/cluster-management-fee)</props>.', 'type' => 'string', 'required' => false, 'example' => 'ack.pro.small'],
+ 'system_events_logging' => [
+ 'title' => '',
+ 'description' => 'System event storage configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable system event storage.'."\n"
+ ."\n\n"
+ .'- true: Enable system event storage.'."\n"
+ ."\n"
+ .'- false: Disable system event storage.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'logging_project' => ['title' => '', 'description' => 'LogProject name for system event storage.', 'type' => 'string', 'required' => false, 'example' => 'k8s-log-cb95aa626a47740afbf6aa099b65****'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'operation_policy' => [
+ 'title' => '',
+ 'description' => 'Cluster automatic O&M policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster_auto_upgrade' => [
+ 'title' => '',
+ 'description' => 'Cluster automatic upgrade.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable cluster automatic upgrade.'."\n"
+ ."\n"
+ .'- true: Enable automatic upgrade.'."\n"
+ ."\n"
+ .'- false: Disable automatic upgrade.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'channel' => ['title' => '', 'description' => 'Cluster automatic upgrade frequency. For more information, see [Upgrade Frequency](~~2712866~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- patch: Latest patch version.'."\n"
+ .'- stable: Second latest minor version.'."\n"
+ .'- rapid: Latest minor version.', 'type' => 'string', 'required' => false, 'example' => 'patch'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
'required' => false,
- 'example' => 'sample',
+ 'example' => '',
+ ],
+ 'api_server_custom_cert_sans' => [
'title' => '',
+ 'description' => 'Custom API Server certificate SAN (Subject Alternative Name).'."\n"
+ .'Used to add custom IPs or domain names to the SAN field of the cluster API Server server certificate for client access control.'."\n"
+ ."\n"
+ .'Only managed clusters support this parameter.',
+ 'type' => 'object',
+ 'properties' => [
+ 'action' => [
+ 'title' => '',
+ 'description' => 'Overwrite or append SAN configuration. Valid values:'."\n"
+ .'- overwrite: Overwrite.'."\n"
+ .'- append: Append.',
+ 'type' => 'string',
+ 'enum' => ['append', 'overwrite'],
+ 'required' => false,
+ 'example' => 'append',
+ ],
+ 'subject_alternative_names' => [
+ 'title' => '',
+ 'description' => 'SAN list.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'SAN. Supports custom IP addresses or domain names, separated by commas (,).', 'type' => 'string', 'required' => false, 'example' => 'aliyun.xxx.com,192.168.xx.xx'],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
],
- 'alert_rule_name' => [
- 'description' => 'The name of the alert rule.'."\n",
- 'type' => 'string',
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'Cluster control plane vSwitches. For dedicated clusters, this takes effect on newly scaled-out control plane nodes. When modifying control plane vSwitches for managed clusters, note the following:'."\n"
+ .'- This parameter performs a full overwrite update. You must specify the complete list of target vSwitches.'."\n"
+ .'- During the change, control plane components will briefly restart. Proceed with caution.'."\n"
+ .'- Ensure that all security groups of the cluster (including the control plane security group, all node pool security groups, and container network security groups) allow inbound and outbound traffic for the IP ranges of the new vSwitches to prevent nodes and containers from being unable to connect to the API Server.'."\n"
+ .'- If the new control plane vSwitches have ACL rules configured, ensure that the ACL rules allow communication with the cluster nodes, container network, and other IP ranges.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Cluster control plane vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2ze4jvvvade1yk899****', 'title' => ''],
'required' => false,
- 'example' => 'sample',
+ 'example' => '',
+ ],
+ 'control_plane_config' => [
+ 'title' => '',
+ 'description' => 'Dedicated cluster control plane configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'charge_type' => ['title' => '', 'description' => 'Control plane node instance billing method. Valid values:'."\n"
+ ."\n"
+ .'- `PrePaid`: Subscription.'."\n"
+ .'- `PostPaid`: Pay-as-you-go.'."\n"
+ ."\n"
+ .'Default value: `PostPaid`.', 'type' => 'string', 'required' => false, 'example' => 'PostPaid'],
+ 'period' => ['title' => '', 'description' => 'Control plane node instance subscription duration. This parameter takes effect and is required only when `charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'When `period_unit=Month`, valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
+ 'period_unit' => ['title' => '', 'description' => 'Control plane node instance billing period. This parameter takes effect only when `charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'`Month`: Billed on a monthly basis. Currently, only monthly billing is supported.', 'type' => 'string', 'required' => false, 'example' => 'Month'],
+ 'auto_renew' => ['title' => '', 'description' => 'Whether to enable automatic renewal for control plane node instances. This parameter takes effect only when `charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable automatic renewal.'."\n"
+ .'- `false`: Disable automatic renewal.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'auto_renew_period' => ['title' => '', 'description' => 'Duration for each automatic renewal of control plane node instances.'."\n"
+ ."\n"
+ .'Valid values: {1, 2, 3, 6, 12}. Unit: months.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
+ 'instance_types' => [
+ 'title' => '',
+ 'description' => 'Instance types. For more information, see [Instance Family](~~25378~~).',
+ 'type' => 'array',
+ 'items' => ['description' => 'Instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'image_type' => ['title' => '', 'description' => 'Operating system image type. Valid values:'."\n"
+ ."\n"
+ .'- `AliyunLinux3`: Alinux3 image.'."\n"
+ .'- `Custom`: Custom image.', 'type' => 'string', 'required' => false, 'example' => 'AliyunLinux3'],
+ 'image_id' => ['title' => '', 'description' => 'Custom image ID. Specified when using a custom image.', 'type' => 'string', 'required' => false, 'example' => 'aliyun_3_x64_20G_alibase_20240819.vhd'],
+ 'key_pair' => ['title' => '', 'description' => 'Key pair name. Mutually exclusive with `login_password`.', 'type' => 'string', 'required' => false, 'example' => 'ack'],
+ 'login_password' => ['title' => '', 'description' => 'SSH login password. Mutually exclusive with `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. If you want to use password login, specify this parameter during scale-out.', 'type' => 'string', 'required' => false, 'example' => 'Ack@2000.'],
+ 'system_disk_category' => ['title' => '', 'description' => 'Node system disk type. Valid values:'."\n"
+ .'- `cloud_efficiency`: Ultra disk.'."\n"
+ .'- `cloud_ssd`: SSD disk.'."\n"
+ .'- `cloud_essd`: ESSD disk.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry disk.', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd'],
+ 'system_disk_size' => ['title' => '', 'description' => 'Node system disk size. Valid values: [40, 500]. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '120'],
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'Automatic snapshot policy ID for the node system disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-2zej1nogjvovnz4z****'],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'Node system disk performance level. Only applicable to ESSD disks. The performance level is related to the disk size. For more information, see [ESSD](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1'],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'Provisioned read/write IOPS for the node system disk. Valid values: 0 to min{50,000, 1000*capacity - baseline performance}. Baseline performance = min{1,800 + 50*capacity, 50,000}.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL](~~368372~~).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Whether to enable burst (performance bursting) for the node system disk. Valid values:'."\n"
+ .'- `true`: Enable.'."\n"
+ .'- `false`: Disable.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'deploymentset_id' => ['title' => '', 'description' => 'Deployment set ID.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp10b35imuam5amw****'],
+ 'cloud_monitor_flags' => ['title' => '', 'description' => 'Whether to install the Cloud Monitor agent on control plane nodes. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Install the Cloud Monitor agent.'."\n"
+ .'- `false`: Do not install the Cloud Monitor agent.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'soc_enabled' => ['title' => '', 'description' => 'Security hardening for compliance. For more information, see [ACK Security Hardening for Compliance](~~196148~~).'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- `true`: Enable security hardening for compliance.'."\n"
+ .'- `false`: Disable security hardening for compliance.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'security_hardening_os' => ['title' => '', 'description' => 'Alibaba Cloud OS security hardening. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enable Alibaba Cloud OS security hardening.'."\n"
+ .'- `false`: Disable Alibaba Cloud OS security hardening.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'cpu_policy' => ['title' => '', 'description' => 'Node CPU management policy. When the cluster version is 1.12.6 or later, the following two policies are supported:'."\n"
+ ."\n"
+ .'- `static`: Allows enhanced CPU affinity and exclusivity for Pods with certain resource characteristics on the node.'."\n"
+ .'- `none`: Uses the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: `none`.', 'type' => 'string', 'required' => false, 'example' => 'none'],
+ 'runtime' => ['title' => '', 'description' => 'Container runtime name. Valid values:'."\n"
+ ."\n"
+ .'- `containerd`: Recommended. Supported by all cluster versions.'."\n"
+ ."\n"
+ .'Default value: containerd.', 'type' => 'string', 'required' => false, 'example' => 'containerd'],
+ 'node_port_range' => ['title' => '', 'description' => 'Node service port range.'."\n"
+ .'Available port range: [30000, 65535].'."\n"
+ ."\n"
+ .'Default value: 30000-32767.', 'type' => 'string', 'required' => false, 'example' => '30000-32767'],
+ 'size' => ['title' => '', 'description' => 'Number of control plane nodes. To scale out the dedicated cluster control plane, this parameter specifies the target number of control plane nodes and must be greater than the current number of control plane nodes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'security_group_id' => ['title' => '', 'description' => 'Control plane security group ID.'."\n"
+ ."\n"
+ .'- If you have configured blocking rules in the security group, ensure that the security group rules allow the protocols and ports required by the cluster. For recommended security group rules, see [Configure and Manage Cluster Security Groups](~~353191~~).'."\n"
+ .'- For non-ACK dedicated clusters, during the change process, the cluster control plane and installed managed components (such as terway-controlplane) will briefly restart. We recommend performing this operation during off-peak hours. After the control plane security group is changed, the ENIs used by the cluster control plane and installed managed components will be automatically added to the new security group.'."\n"
+ .'- For ACK dedicated clusters, after the control plane security group is changed, newly scaled-out Master nodes will automatically use the new control plane security group. Existing control plane nodes are not affected.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1h6rk3pgct2a08***'],
+ 'timezone' => ['title' => '', 'description' => 'Cluster timezone. See [Supported Timezones](~~354879~~).'."\n"
+ .'- After changing the timezone, cluster inspection configurations will use the new timezone settings.'."\n"
+ ."\n"
+ .'- For managed clusters, during the change process, the cluster control plane and installed managed components (such as terway-controlplane) will briefly restart. We recommend performing this operation during off-peak hours. After changing the timezone, newly scaled-out nodes will automatically use the new timezone settings. Existing nodes are not affected. You can use the node pool node reset feature to apply the new settings to existing nodes.'."\n"
+ ."\n"
+ .'- For dedicated clusters, after changing the timezone, newly scaled-out nodes (including control plane nodes) will automatically use the new timezone settings. Existing nodes (including control plane nodes) are not affected. You can use the node pool node reset feature to apply the new settings to existing nodes. For control plane nodes, you need to scale out first and then scale in to apply the settings to all control plane nodes.', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai'],
+ 'control_plane_endpoints_config' => [
'title' => '',
+ 'description' => 'Cluster connection configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'internal_dns_config' => [
+ 'title' => '',
+ 'description' => 'Cluster internal domain name configuration. Applicable to ACK managed clusters. The cluster internal domain name is used by node-side system components such as kubelet and kube-proxy to access the API Server. When the cluster internal domain name access is not enabled, node-side system components access via the CLB IP.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bind_vpcs' => [
+ 'title' => '',
+ 'description' => 'VPCs where the cluster internal domain name record resolution takes effect.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'VPCs where the cluster internal domain name record resolution takes effect.', 'type' => 'string', 'required' => false, 'example' => 'vpc-xxxx'],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'enabled' => ['title' => '', 'description' => 'Whether to enable cluster internal domain name access. Valid values:'."\n"
+ .'- true: Enable cluster internal domain name access. Node-side components (kubelet, kube-proxy) will access the API Server through the cluster internal domain name.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
],
+ 'access_control_list' => [
+ 'description' => 'Access control list for the registered cluster API Server SLB.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Access control list for the registered cluster API Server SLB.'."\n"
+ ."\n"
+ .'**Note**: The 0.0.0.0/0 CIDR block is not allowed.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX/24', 'title' => ''],
+ 'deprecated' => true,
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'instance_deletion_protection' => ['title' => '', 'description' => 'Instance deletion protection to prevent accidental deletion and release of nodes through the console or API. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Nodes cannot be accidentally deleted through the console or API.'."\n"
+ .'- `false`: Nodes can be deleted through the console or API.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'ingress_domain_rebinding' => ['title' => '', 'description' => 'Rebind the cluster test domain. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Rebind the cluster test domain.'."\n"
+ .'- `false`: Do not rebind the cluster test domain.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'required' => false],
+ 'ingress_loadbalancer_id' => ['title' => '', 'description' => 'SLB instance ID of the cluster to be modified.', 'type' => 'string', 'deprecated' => true, 'example' => 'lb-wz97kes8tnndkpodw****', 'required' => false],
],
'required' => false,
+ 'example' => 'true',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Response body.',
'type' => 'object',
'properties' => [
- 'status' => [
- 'description' => 'The status.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'msg' => [
- 'description' => 'The message returned.'."\n",
- 'type' => 'string',
- 'example' => 'success',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'example' => 'cb95aa626a47740afbf6aa09****'],
+ 'request_id' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
+ 'task_id' => ['title' => '', 'description' => 'Task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39ea00****'],
],
+ 'example' => '',
],
],
+ '5XX' => [],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa09****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea00****\\"\\n}","type":"json"}]',
+ 'title' => 'Modify Cluster Configuration',
+ 'description' => '<notice>Starting from July 04, 2026, the request parameters instance_deletion_protection, ingress_loadbalancer_id, and access_control_list will no longer take effect. For details about the changes, see [Announcement on Changes to ACK Cluster Management OpenAPI Parameters and OpenAPI Deprecation](~~2932733~~).</notice>',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-08T09:33:41.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-09-11T11:44:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-02-28T14:21:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-11-19T11:50:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-10-18T06:19:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-24T02:59:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-11T02:20:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-18T11:21:32.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-10T11:58:36.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-21T08:15:42.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-18T02:12:09.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableApiServerEip', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ApiServerEipId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'ModifyClusterAddon' => [
+ 'summary' => 'Modifies the configuration of an installed cluster component instance. Modifying configurations may affect your services. Evaluate the impact before performing this operation during off-peak hours and back up relevant data in advance.',
+ 'path' => '/clusters/{cluster_id}/components/{component_id}/config',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '125473',
- 'abilityTreeNodes' => [
- 'FEATUREcskNNODXQ',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'high'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c71d616e629ff40d5b42d7bb87770****'],
+ ],
+ [
+ 'name' => 'component_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component ID.', 'type' => 'string', 'required' => true, 'example' => 'coredns'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => 'The request body parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The component configuration.',
'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',
- ],
+ 'config' => ['title' => '', 'description' => 'The custom parameter settings.', 'type' => 'string', 'required' => false, 'example' => '{"CpuRequest":"800m"}'],
],
'required' => false,
+ 'example' => '',
],
],
],
'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.',
- ],
+ 'headers' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Modify cluster component instance configuration',
+ 'description' => 'You can call this API operation to modify the configuration of common clusters components and the control plane parameter settings of ACK Pro clusters:'."\n"
+ .'- To query the configurable parameters of common components, call the DescribeClusterAddonMetadata API operation. For details, see [Query cluster component version metadata](~~2667944~~).'."\n"
+ .'- For the configurable control plane parameter settings of ACK Pro clusters, see [Customize control plane parameters of ACK Pro clusters](~~199588~~).'."\n"
+ ."\n"
+ .'Modifying configurations may cause the component to be redeployed and restarted. Evaluate the impact before performing this operation.',
+ 'requestParamsDescription' => 'The config parameter value is the JSON-encoded custom parameter settings of the component.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterAddon'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterAddon',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:AddonName', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:AddonNames'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
- 'description' => '',
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"contact group illegal.\\"\\n}","type":"json"}]',
- 'title' => 'UpdateContactGroupForAlert',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'ModifyClusterNodePool' => [
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '161581',
- 'abilityTreeNodes' => [
- 'FEATUREcskNNODXQ',
- ],
+ 'riskType' => 'high',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '528',
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c23421cfa74454bc8b37163fd19af****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'p31da1b38983f4511b490fc62108a****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => 'The request body.'."\n",
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'type' => 'object',
'properties' => [
- 'alert_rule_group_name' => [
- 'description' => 'The name of the alert rule group.'."\n",
- 'type' => 'string',
+ 'nodepool_info' => [
+ 'title' => '',
+ 'description' => 'The node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The node pool name.'."\n"
+ ."\n"
+ .'Naming rules: The name must be 1 to 63 characters in length and can contain digits, Chinese characters, letters, and hyphens (-). It cannot start with a hyphen (-).', 'type' => 'string', 'example' => 'default-nodepool', 'required' => false],
+ 'resource_group_id' => ['title' => '', 'description' => 'The resource group ID of the node pool. Instances created by the node pool belong to this resource group.'."\n"
+ ."\n"
+ .'A resource can belong to only one resource group. You can map resource groups to concepts such as projects, applications, or organizations based on your business scenarios.', 'type' => 'string', 'example' => 'rg-acfmyvw3wjm****', 'required' => false],
+ ],
'required' => false,
- 'example' => 'sample',
+ 'example' => '',
+ ],
+ 'auto_scaling' => [
'title' => '',
+ 'description' => 'The auto scaling configuration.',
+ '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 scheduling requirements of application pods, ACK automatically scales nodes based on the configured minimum and maximum instance counts. Clusters of version 1.24 or later use instant elasticity by default. Clusters of versions earlier than 1.24 use auto scaling by default. For more information, see [Node scaling](~~2746785~~).'."\n"
+ ."\n"
+ .'- `false`: Disables auto scaling. ACK adjusts the number of nodes in the node pool based on the configured desired node count and maintains the node count at the desired value.'."\n"
+ ."\n"
+ .'When this parameter is set to false, other configuration parameters in `auto_scaling` do not take effect.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'type' => ['title' => '', 'description' => 'The auto scaling type, classified by instance type. Valid values:'."\n"
+ ."\n"
+ .'- `cpu`: regular instance type.'."\n"
+ .'- `gpu`: GPU instance type.'."\n"
+ .'- `gpushare`: GPU sharing type.'."\n"
+ .'- `spot`: spot instance type.'."\n"
+ ."\n"
+ .'Default value: `cpu`.', 'type' => 'string', 'deprecated' => true, 'example' => 'cpu', 'required' => false],
+ 'max_instances' => ['title' => '', 'description' => 'The maximum number of instances that can be scaled in the node pool, excluding your existing instances. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'Valid values: [min_instances, 2000]. Default value: 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'required' => false],
+ 'min_instances' => ['title' => '', 'description' => 'The minimum number of instances that can be scaled in the node pool, excluding your existing instances. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'Valid values: [0, max_instances]. Default value: 0.'."\n"
+ ."\n"
+ .'> - If the minimum number of instances is not 0, the corresponding number of ECS instances are automatically created after the scaling group takes effect.'."\n"
+ .'> - Set the maximum number of instances to a value that is not less than the current number of nodes in the node pool. Otherwise, nodes in the node pool are scaled in after the elastic scaling feature takes effect.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'required' => false],
+ 'is_bond_eip' => ['title' => '', 'description' => '[This field is deprecated] This field is deprecated. Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ ."\n"
+ .'- `true`: Associates an EIP.'."\n"
+ .'- `false`: Does not associate an EIP.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'eip_internet_charge_type' => ['title' => '', 'description' => '[This field is deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ ."\n"
+ .'The EIP billing type. Valid values:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`: pay-by-bandwidth.'."\n"
+ .'- `PayByTraffic`: pay-by-data-transfer.'."\n"
+ ."\n"
+ .'Default value: `PayByBandwidth`.', 'type' => 'string', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'eip_bandwidth' => ['title' => '', 'description' => '[This field is deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.'."\n"
+ .'The peak EIP bandwidth.'."\n"
+ ."\n"
+ .'Valid values: [1,100]. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
],
- 'alert_rule_name' => [
- 'description' => 'The name of the alert rule.'."\n",
- 'type' => 'string',
+ 'management' => [
+ 'title' => '',
+ 'description' => 'The managed node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['title' => '', 'description' => 'Specifies whether to enable the managed node pool. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables the managed node pool.'."\n"
+ .'- `false`: Disables the managed node pool. Other related configurations take effect only when `enable=true`.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_repair' => ['title' => '', 'description' => 'Specifies whether to automatically repair nodes. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Enables auto repair.'."\n"
+ ."\n"
+ .'- `false`: Disables auto repair.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_repair_policy' => [
+ 'title' => '',
+ 'description' => 'The auto repair node policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Allows node restart.'."\n"
+ .'- `false`: Does not allow node restart.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'approval_required' => ['title' => '', 'description' => 'Specifies whether node repair requires manual approval.', 'type' => 'boolean', 'required' => false, 'example' => ''],
+ 'auto_repair_policy_id' => ['title' => '', 'description' => 'The auto repair policy ID.', 'type' => 'string', 'example' => 'r-xxxxxxxxxx', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'auto_vul_fix' => ['title' => '', 'description' => 'Specifies whether to automatically fix CVE vulnerabilities. This parameter takes effect only when `enable=true`.'."\n"
+ ."\n"
+ .'- `true`: Allows automatic CVE fixing.'."\n"
+ .'- `false`: Does not allow automatic CVE fixing.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_vul_fix_policy' => [
+ 'title' => '',
+ 'description' => 'The auto CVE fix policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'restart_node' => ['title' => '', 'description' => 'Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix=true`. Valid values:'."\n"
+ .'- `true`: Allows node restart.'."\n"
+ .'- `false`: Does not allow node restart.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'vul_level' => ['title' => '', 'description' => 'The vulnerability levels allowed for automatic fixing, separated by commas. Example: `asap,later`. Supported vulnerability levels:'."\n"
+ ."\n"
+ .'- `asap`: high'."\n"
+ .'- `later`: medium'."\n"
+ .'- `nntf`: low'."\n"
+ ."\n"
+ .'Default value: `asap`.', 'type' => 'string', 'example' => 'asap,nntf', 'required' => false],
+ 'exclude_packages' => ['title' => '', 'description' => 'Specifies the packages to exclude during vulnerability fixing.'."\n"
+ ."\n"
+ .'Default value: `kernel`.', 'type' => 'string', 'required' => false, 'example' => 'kernel'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'auto_upgrade' => ['title' => '', 'description' => 'Specifies whether to automatically upgrade nodes. This parameter takes effect only when `enable=true`.'."\n"
+ .'- `true`: Enables auto upgrade.'."\n"
+ .'- `false`: Disables auto upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_upgrade_policy' => [
+ 'title' => '',
+ 'description' => 'The auto upgrade policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'auto_upgrade_kubelet' => ['title' => '', 'description' => 'Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: Allows automatic kubelet upgrade.'."\n"
+ .'- `false`: Does not allow automatic kubelet upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_upgrade_runtime' => ['title' => '', 'description' => 'Specifies whether to allow automatic runtime upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: Allows automatic runtime upgrade.'."\n"
+ .'- `false`: Does not allow automatic runtime upgrade.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'auto_upgrade_os' => ['title' => '', 'description' => 'Specifies whether to allow automatic operating system upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values:'."\n"
+ .'- `true`: Allows automatic operating system upgrade.'."\n"
+ .'- `false`: Does not allow automatic operating system upgrade.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'upgrade_config' => [
+ 'title' => '',
+ 'description' => '[This field is deprecated] Use the `auto_upgrade` parameter at the upper level instead.'."\n"
+ ."\n"
+ .'The auto upgrade configuration. This parameter takes effect only when `enable=true`.',
+ 'type' => 'object',
+ 'properties' => [
+ 'auto_upgrade' => ['title' => '', 'description' => '[This field is deprecated] Use the `auto_upgrade` parameter at the upper level instead.'."\n"
+ ."\n"
+ .'Specifies whether to enable auto upgrade:'."\n"
+ ."\n"
+ .'- true: Enabled.'."\n"
+ .'- false: Disabled.'."\n"
+ ."\n"
+ .'Default value: `true`.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'required' => false],
+ 'surge' => ['title' => '', 'description' => 'The number of extra nodes. This parameter is mutually exclusive with `surge_percentage`.'."\n"
+ ."\n"
+ .'Nodes become unavailable during an upgrade. You can create extra nodes to compensate for the cluster workload.'."\n"
+ ."\n"
+ .'> The number of extra nodes should not exceed the current number of nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'required' => false],
+ 'surge_percentage' => ['title' => '', 'description' => 'The percentage of extra nodes. This parameter is mutually exclusive with `surge`.'."\n"
+ ."\n"
+ .'Number of extra nodes = percentage of extra nodes × number of nodes. For example, if the percentage is set to 50% and there are 6 existing nodes, the number of extra nodes = 50% × 6 = 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'max_unavailable' => ['title' => '', 'description' => 'The maximum number of unavailable nodes.'."\n"
+ ."\n"
+ .'Valid values: \\[1,1000\\].'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ ],
+ 'deprecated' => true,
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'auto_fault_diagnosis' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'scaling_group' => [
+ 'title' => '',
+ 'description' => 'The scaling group configuration of the node pool.',
+ 'type' => 'object',
+ 'properties' => [
+ 'vswitch_ids' => [
+ 'title' => '',
+ 'description' => 'The list of vSwitch IDs. Valid values: \\[1,8\\].'."\n"
+ ."\n"
+ .'> To ensure high availability, select vSwitches in different zones.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-wz9uwxhawmtzg7u9h****', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'instance_types' => [
+ 'title' => '',
+ 'description' => 'The list of node instance types. You can select multiple instance types as alternatives. When each node is created, the system attempts to purchase instances starting from the first specification until the creation succeeds. The final purchased instance type may vary depending on inventory availability.'."\n"
+ ."\n"
+ .'Supported number of instance types: [1,10].',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance type. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'example' => 'ecs.c6.large', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ '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`.', 'type' => 'string', 'example' => 'PostPaid', 'required' => false],
+ 'period' => ['title' => '', 'description' => 'The subscription duration of nodes in the node pool. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- When `period_unit=Week`, valid values of `period`: {1, 2, 3, 4}.'."\n"
+ .'- When `period_unit=Month`, valid values of `period`: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ 'period_unit' => ['title' => '', 'description' => 'The billing period of nodes in the node pool. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`.'."\n"
+ ."\n"
+ .'- `Month`: billed on a monthly basis.'."\n"
+ .'- `Week`: billed on a weekly basis.'."\n"
+ ."\n"
+ .'Default value: `Month`.', 'type' => 'string', 'example' => 'Month', 'required' => false],
+ 'auto_renew' => ['title' => '', 'description' => 'Specifies whether to enable auto-renewal for nodes. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Enables auto-renewal.'."\n"
+ .'- `false`: Disables auto-renewal.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'auto_renew_period' => ['title' => '', 'description' => 'The auto-renewal period for a single renewal cycle. Valid values:'."\n"
+ .'- When PeriodUnit=Week: 1, 2, 3.'."\n"
+ .'- When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.'."\n"
+ ."\n"
+ .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'required' => false],
+ 'spot_strategy' => ['title' => '', 'description' => 'The spot instance type. Valid values:'."\n"
+ ."\n"
+ .'- `NoSpot`: non-spot instance.'."\n"
+ .'- `SpotWithPriceLimit`: spot instance with a price limit.'."\n"
+ .'- `SpotAsPriceGo`: system automatically bids at the current market price.'."\n"
+ ."\n"
+ .'For more information, see [Spot instances](~~157759~~).', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'required' => false],
+ 'spot_price_limit' => [
+ 'title' => '',
+ 'description' => 'The spot instance price limit configuration.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The spot instance price limit configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'instance_type' => ['title' => '', 'description' => 'The spot instance type.', 'type' => 'string', 'example' => 'ecs.c6.large', 'required' => false],
+ 'price_limit' => ['title' => '', 'description' => 'The maximum price per instance.'."\n"
+ ."\n"
+ .'<props="china">Unit: CNY/hour.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">Unit: USD/hour.</props>', 'type' => 'string', 'example' => '0.39', 'required' => false],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'image_type' => ['title' => '', 'description' => 'The operating system distribution type. Use this field to specify the node operating system. Valid values:'."\n"
+ ."\n"
+ .'- `AliyunLinux`: Alinux2 image.'."\n"
+ .'- `AliyunLinuxSecurity`: Alinux2 UEFI image.'."\n"
+ .'- `AliyunLinux3`: Alinux3 image.'."\n"
+ .'- `AliyunLinux3Arm64`: Alinux3 ARM image.'."\n"
+ .'- `AliyunLinux3Security`: Alinux3 UEFI image.'."\n"
+ .'- `CentOS`: CentOS image.'."\n"
+ .'- `Windows`: Windows image.'."\n"
+ .'- `WindowsCore`: WindowsCore image.'."\n"
+ .'- `ContainerOS`: container-optimized image.'."\n"
+ .'- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.', 'type' => 'string', 'example' => 'AliyunLinux3', 'required' => false],
+ 'image_id' => ['title' => '', 'description' => 'The custom image ID. You can call `DescribeKubernetesVersionMetadata` to query the images supported by the system. The latest system image is used by default.', 'type' => 'string', 'example' => "\n"
+ .'aliyun_3_x64_20G_alibase_20241218.vhd', 'required' => false],
+ 'system_disk_category' => ['title' => '', 'description' => 'The node system cloud disk type. Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.'."\n"
+ ."\n"
+ .'Default value: `cloud_efficiency`.', 'type' => 'string', 'example' => 'cloud_efficiency', 'required' => false],
+ 'system_disk_categories' => [
+ 'title' => '',
+ 'description' => 'The multiple system cloud disk types. When a higher-priority cloud disk type is unavailable, the system automatically attempts the next-priority cloud disk type to create the system cloud disk.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The multiple system cloud disk types for nodes.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ .'- `cloud_efficiency`: ultra cloud disk.'."\n"
+ .'- `cloud_ssd`: standard SSD.'."\n"
+ .'- `cloud_essd`: ESSD.'."\n"
+ .'- `cloud_auto`: ESSD AutoPL cloud disk.'."\n"
+ .'- `cloud_essd_entry`: ESSD Entry cloud disk.',
+ 'type' => 'string',
+ 'enum' => [],
+ 'required' => false,
+ 'example' => 'cloud_essd',
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'example' => '',
+ ],
+ 'system_disk_size' => ['title' => '', 'description' => 'The node system cloud disk size, in GiB.'."\n"
+ ."\n"
+ .'Valid values: \\[20,2048\\].'."\n"
+ ."\n"
+ .'The value must be greater than or equal to max{20, ImageSize}.'."\n"
+ ."\n"
+ .'Default value: max{40, image size corresponding to the ImageId parameter}.', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'required' => false],
+ 'system_disk_performance_level' => ['title' => '', 'description' => 'The performance level of the node system cloud disk. This parameter takes effect only for ESSD cloud disks. The performance level is related to the cloud disk size. For more information, see [ESSD cloud disks](~~122389~~).'."\n"
+ .'- PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency.'."\n"
+ .'- PL2: high maximum concurrent I/O performance with stable read/write latency.'."\n"
+ .'- PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency.', 'type' => 'string', 'example' => 'PL1', 'required' => false],
+ 'system_disk_encrypted' => ['title' => '', 'description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
+ ."\n"
+ .'- true: Encrypted.'."\n"
+ ."\n"
+ .'- false: Not encrypted.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'system_disk_kms_key_id' => ['title' => '', 'description' => 'The KMS key ID used by the system cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'required' => false],
+ 'system_disk_encrypt_algorithm' => [
+ 'title' => '',
+ 'description' => 'The encryption algorithm used by the system cloud disk. Valid values: aes-256.',
+ 'type' => 'string',
+ 'example' => 'aes-256',
+ 'enum' => [],
+ 'required' => false,
+ ],
+ 'system_disk_provisioned_iops' => ['title' => '', 'description' => 'The provisioned read/write IOPS for the node system cloud disk.'."\n"
+ ."\n"
+ .'Valid values: 0~min{50,000, 1000 × capacity - baseline performance}. Baseline performance = min{1,800 + 50 × capacity, 50000}.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'required' => false],
+ 'system_disk_bursting_enabled' => ['title' => '', 'description' => 'Specifies whether to enable burst (performance burst) for the node system cloud disk. Valid values:'."\n"
+ .'- true: Enabled. When enabled, the cloud disk temporarily boosts performance during sudden data read/write pressure from fluctuating workloads until the workload stabilizes.'."\n"
+ .'- false: Disabled.'."\n"
+ ."\n"
+ .'This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'data_disks' => [
+ 'title' => '',
+ 'description' => 'The node data cloud disk configuration. Valid values: \\[0,10\\]. You can add up to 10 data cloud disks.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node data cloud disk configuration.', '$ref' => '#/components/schemas/data_disk', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'disk_init' => [
+ 'title' => '',
+ 'description' => 'The block device initialization configuration.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The block device initialization configuration.', '$ref' => '#/components/schemas/DiskInit', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'key_pair' => ['title' => '', 'description' => 'The key pair name. This parameter is mutually exclusive with `login_password`. For managed node pools, only `key_pair` is supported.', 'type' => 'string', 'example' => 'pro-nodepool', 'required' => false],
+ 'login_password' => ['title' => '', 'description' => 'The SSH logon password. This parameter is mutually exclusive with `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.', 'type' => 'string', 'example' => 'Hello1234', 'required' => false],
+ 'internet_charge_type' => ['title' => '', 'description' => 'The billing type for public IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- `PayByBandwidth`: pay-by-bandwidth.'."\n"
+ .'- `PayByTraffic`: pay-by-data-transfer.', 'type' => 'string', 'example' => 'PayByBandwidth', 'required' => false],
+ 'internet_max_bandwidth_out' => ['title' => '', 'description' => 'The maximum outbound bandwidth for node public IP addresses, in Mbit/s. Valid values: \\[1,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'required' => false],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'Tags added to ECS instances only.'."\n"
+ ."\n"
+ .'Tag keys cannot be duplicated and can be up to 128 characters in length. Tag keys and tag values cannot start with "aliyun" or "acs:", or contain "https://" or "http://".',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ECS instance tag.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'desired_size' => ['title' => '', 'description' => 'The desired number of nodes in the node pool.'."\n"
+ ."\n"
+ .'The total number of nodes that the node pool should maintain. Configure at least 2 nodes to ensure that cluster components run properly. You can adjust the desired node count to scale the node pool in or out.'."\n"
+ ."\n"
+ .'If you do not need to create nodes, set this parameter to 0 and manually adjust the node count later.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'required' => false],
+ 'multi_az_policy' => ['title' => '', 'description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n"
+ ."\n"
+ .'- `PRIORITY`: Scales based on the vSwitches (VSwitchIds.N) you defined. When ECS instances cannot be created in the zone of a higher-priority vSwitch, the system automatically uses the next-priority vSwitch.'."\n"
+ ."\n"
+ .'- `COST_OPTIMIZED`: Attempts to create instances in order of lowest vCPU unit price. When the scaling configuration specifies multiple instance types with spot billing method, spot instances are created first. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory.'."\n"
+ ."\n"
+ .' > `COST_OPTIMIZED` takes effect only when the scaling configuration specifies multiple instance types or uses spot instances.'."\n"
+ ."\n"
+ .'- `BALANCE`: Distributes ECS instances evenly across the zones specified in the scaling group. If zones become unbalanced due to insufficient inventory, you can call the `RebalanceInstances` API operation to rebalance resources. For more information, see [RebalanceInstances](~~71516~~).'."\n"
+ ."\n"
+ .'Default value: `PRIORITY`.', 'type' => 'string', 'example' => 'BALANCE', 'required' => false],
+ 'scaling_policy' => ['title' => '', 'description' => 'The scaling group mode. Valid values:'."\n"
+ ."\n"
+ .'- `release`: standard mode. Scales by creating and releasing ECS instances based on resource usage.'."\n"
+ .'- `recycle`: swift mode. Scales by creating, stopping, and starting instances, which improves the speed of subsequent scaling operations. (Compute resources are not charged during the stopped state. Only storage fees are charged, except for local disk instance types.)', 'type' => 'string', 'example' => 'release', 'required' => false],
+ 'on_demand_base_capacity' => ['title' => '', 'description' => 'The minimum number of pay-as-you-go instances required by the scaling group. Valid values: \\[0,1000\\]. Pay-as-you-go instances are created first when the number of pay-as-you-go instances is less than this value.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'required' => false],
+ 'on_demand_percentage_above_base_capacity' => ['title' => '', 'description' => 'The percentage of pay-as-you-go instances among instances that exceed the minimum pay-as-you-go instance count (`on_demand_base_capacity`). Valid values: \\[0,100\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'required' => false],
+ 'spot_instance_pools' => ['title' => '', 'description' => 'The number of available instance types. The scaling group creates spot instances across the lowest-cost instance types in a balanced manner. Valid values: \\[1,10\\].', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'required' => false],
+ 'spot_instance_remedy' => ['title' => '', 'description' => 'Specifies whether to enable spot instance supplementation. When enabled,', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ 'compensate_with_on_demand' => ['title' => '', 'description' => 'When `multi_az_policy` is set to `COST_OPTIMIZED`, specifies whether to allow the system to automatically create pay-as-you-go instances if spot instances cannot be created due to price or inventory reasons to meet the required number of ECS instances. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Allows the system to automatically create pay-as-you-go instances to meet the required number of ECS instances.'."\n"
+ .'- `false`: Does not allow the system to automatically create pay-as-you-go instances to meet the required number of ECS instances.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'rds_instances' => [
+ 'title' => '',
+ 'description' => 'The list of ApsaraDB RDS instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ApsaraDB RDS instance ID. If you specify a list of ApsaraDB RDS instances, the ECS instances of cluster nodes are automatically added to the ApsaraDB RDS whitelist.', 'type' => 'string', 'example' => 'rds-xxx', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'private_pool_options' => [
+ 'title' => '',
+ 'description' => 'The private node pool configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['title' => '', 'description' => 'The private node pool ID. When `match_criteria` is set to `Target`, you must specify the private pool ID.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'required' => false],
+ 'match_criteria' => ['title' => '', 'description' => 'The private node pool type. Specifies the private pool capacity option for launching instances. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance launching. Valid values:'."\n"
+ .'- `Open`: open mode. The system automatically matches open private pool capacity. If no matching private pool capacity is available, public pool resources are used.'."\n"
+ .'- `Target`: specified mode. The instance is launched using the specified private pool capacity. If the specified private pool capacity is unavailable, the instance fails to launch.'."\n"
+ .'- `None`: not used. The instance does not use private pool capacity.', 'type' => 'string', 'example' => 'Open', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'platform' => ['title' => '', 'description' => '**This parameter is deprecated.** Use the `image_type` parameter instead.'."\n"
+ ."\n"
+ .'The operating system platform. Valid values:'."\n"
+ ."\n"
+ .'- `AliyunLinux`'."\n"
+ .'- `CentOS`'."\n"
+ .'- `Windows`'."\n"
+ .'- `WindowsCore`', 'type' => 'string', 'deprecated' => true, 'example' => 'AliyunLinux', 'required' => false],
+ 'instance_patterns' => [
+ 'title' => '',
+ 'description' => 'The instance attribute configuration.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The instance attributes.', '$ref' => '#/components/schemas/instance_patterns', 'required' => false, 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'deploymentset_id' => ['description' => 'The deployment set ID for ECS instances scaled out by the node pool. This setting takes effect only on incremental nodes. The deployment set of existing nodes is not changed.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp1d19mmbsv3jf6xxxxx', 'title' => ''],
+ 'security_group_ids' => [
+ 'title' => '',
+ 'description' => 'The list of security group IDs.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-wz9a8g2mt6x5ll******', 'required' => false],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'resource_pool_options' => [
+ 'title' => '',
+ 'description' => 'The resource pools and resource pool policy used when creating instances. Note the following when you set this parameter:'."\n"
+ .'This parameter takes effect only when creating pay-as-you-go instances.'."\n"
+ .'This parameter cannot be set together with private_pool_options.match_criteria or private_pool_options.id.',
+ 'type' => 'object',
+ 'properties' => [
+ 'strategy' => [
+ 'title' => '',
+ 'description' => 'The resource pool policy used when creating instances. Resource pools include private pools generated after an elasticity assurance or capacity reservation takes effect, and public pools, for instance launching. Valid values:'."\n"
+ .'PrivatePoolFirst: private pool first. When this policy is selected, if resouce_pool_options.private_pool_ids is specified, the specified private pools are used first. If no private pool is specified or the specified private pool capacity is insufficient, open private pool capacity is automatically matched. If no matching private pool is available, public pool resources are used.'."\n"
+ .'PrivatePoolOnly: private pool only. When this policy is selected, you must specify resouce_pool_options.private_pool_ids. If the specified private pool capacity is insufficient, the instance fails to launch.'."\n"
+ .'None: no resource pool policy is used.'."\n"
+ .'Default value: None.',
+ 'type' => 'string',
+ 'example' => 'PrivatePoolFirst',
+ 'enum' => ['PrivatePoolFirst', 'PrivatePoolOnly', 'None'],
+ 'required' => false,
+ ],
+ 'private_pool_ids' => [
+ 'title' => '',
+ 'description' => 'The list of private pool IDs, which are the IDs of elasticity assurance or capacity reservation services. Only Target mode private pool IDs can be specified. Valid values of N: 1 to 20.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The private pool ID, which is the ID of an elasticity assurance or capacity reservation service. Only Target mode private pool IDs can be specified.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'required' => false],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'system_disk_snapshot_policy_id' => ['title' => '', 'description' => 'The snapshot policy for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-0jl6xnmme8v7o935****'],
+ ],
'required' => false,
- 'example' => 'sample',
+ 'example' => '',
+ ],
+ 'kubernetes_config' => [
'title' => '',
+ 'description' => 'The cluster-related configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'labels' => [
+ 'title' => '',
+ 'description' => 'The node labels. Adds labels to Kubernetes cluster nodes. Label definition rules:'."\n"
+ ."\n"
+ .'- Labels consist of case-sensitive key-value pairs. You can set up to 20 labels.'."\n"
+ .'- Label keys cannot be duplicated and can be up to 64 characters in length. Label values can be empty and can be up to 128 characters in length. Neither label keys nor label values can 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).',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node label.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'taints' => [
+ 'title' => '',
+ 'description' => 'The node taint configuration.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node taint configuration.', '$ref' => '#/components/schemas/taint', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'runtime' => ['title' => '', 'description' => 'The container runtime name. ACK supports the following three container runtimes:'."\n"
+ ."\n"
+ .'- containerd: recommended. Supported by all cluster versions.'."\n"
+ .'- Sandboxed-Container.runv: sandboxed container that provides higher isolation. Supported by cluster versions 1.31 and earlier.'."\n"
+ .'- docker: no longer maintained. Supported by cluster versions 1.22 and earlier.'."\n"
+ ."\n"
+ .'Default value: containerd.', 'type' => 'string', 'example' => 'containerd', 'required' => false],
+ 'runtime_version' => ['title' => '', 'description' => 'The container runtime version.', 'type' => 'string', 'example' => '1.6.38', 'required' => false],
+ 'cpu_policy' => ['title' => '', 'description' => 'The CPU management policy for nodes. The following two policies are supported for cluster versions 1.12.6 and later:'."\n"
+ ."\n"
+ .'- `static`: allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.'."\n"
+ .'- `none`: enables the existing default CPU affinity scheme.'."\n"
+ ."\n"
+ .'Default value: `none`.', 'type' => 'string', 'example' => 'none', 'required' => false],
+ 'unschedulable' => ['description' => 'Specifies whether the nodes added during scale-out are unschedulable.'."\n"
+ ."\n"
+ .'- true: unschedulable.'."\n"
+ ."\n"
+ .'- false: schedulable.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'user_data' => ['title' => '', 'description' => 'The instance user data. After the node joins the cluster, the specified user data script is run. For more information, see [User data scripts](~~49121~~).', 'type' => 'string', 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', 'required' => false],
+ 'cms_enabled' => ['title' => '', 'description' => 'Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information about the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. 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`.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'pre_user_data' => ['description' => 'The pre-user data for the instance. Before the node joins the cluster, the specified pre-user data script is run. For more information, see [User data scripts](~~49121~~).', 'type' => 'string', 'required' => false, 'example' => 'IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi', 'title' => ''],
+ 'node_name_mode' => ['title' => '', 'description' => 'The custom node name parameter. A node name consists of three parts: prefix + node IP + suffix.'."\n"
+ ."\n"
+ .'Both the prefix and suffix can consist of one or more parts separated by ".". Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. The node IP is the full private IP address of the node.'."\n"
+ ."\n"
+ .'The parameter contains four parts separated by commas. For example, if you pass in the string "customized,aliyun,ip,com" (where "customized" and "ip" are fixed strings, "aliyun" is the prefix, and "com" is the suffix), the node name is: aliyun.192.168.xxx.xxx.com.', 'type' => 'string', 'required' => false, 'example' => 'customized,aliyun,ip,com'],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'tee_config' => [
+ 'title' => '',
+ 'description' => 'The confidential computing cluster configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'tee_enable' => ['title' => '', 'description' => 'Specifies whether to enable the confidential computing cluster. Valid values:'."\n"
+ ."\n"
+ .'- `true`: enabled.'."\n"
+ .'- `false`: disabled.'."\n"
+ ."\n"
+ .'Default value: `false`.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'update_nodes' => ['title' => '', 'description' => 'Synchronously updates node labels and taints.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'concurrency' => ['title' => '', 'description' => 'Specifies whether to enable concurrency.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ 'eflo_node_group' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'auto_attach_enabled' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response body data.',
'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',
- ],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5fd211e924e1d00787000293'],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np737c3ac1ac684703b9e10673aa2c****'],
+ 'request_id' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
+ '5XX' => [],
],
- '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',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
+ 'title' => 'Modify node pool configuration',
+ 'summary' => 'Updates the configuration of a node pool based on the node pool ID by calling the ModifyClusterNodePool operation.',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-29T06:45:00.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2026-01-26T09:09:51.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-11-24T09:15:07.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-09-23T07:52:12.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-08-19T06:29:04.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-08-19T06:13:38.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-30T07:45:22.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-14T09:43:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-14T08:24:11.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-09-27T01:28:08.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-06-13T09:52:33.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-06-13T02:59:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-19T10:37:59.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-19T11:04:03.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-12-15T01:51:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-12-13T10:51:25.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-17T08:45:15.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-30T09:59:46.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-10T02:28:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2020-09-23T11:27:54.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"task_id\\": \\"T-5fd211e924e1d00787000293\\",\\n \\"nodepool_id\\": \\"np737c3ac1ac684703b9e10673aa2c****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyClusterTags' => [
+ 'summary' => 'You can add tag key-value pairs to clusters so that cluster developers or O&M engineers can categorize and manage clusters more flexibly, and better support requirements such as monitoring, cost analysis, and tenant isolation. You can call the ModifyClusterTags operation to modify cluster tags.',
+ 'path' => '/clusters/{ClusterId}/tags',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '125471',
- 'abilityTreeNodes' => [
- 'FEATUREcskNNODXQ',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '383',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'contact_ids',
- 'in' => 'query',
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'style' => 'json',
'schema' => [
- 'title' => '删除ACK联系人的id列表',
- 'description' => 'The list of alert contact IDs.'."\n",
+ 'title' => '',
+ 'description' => 'The data to be modified.',
'type' => 'array',
- 'items' => [
- 'title' => '删除ACK联系人的id',
- 'description' => 'An alert contact ID.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '12345',
- ],
- 'required' => true,
+ 'items' => ['description' => 'The tag set.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => false,
+ 'example' => '',
],
],
],
'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',
- ],
- ],
- ],
- ],
+ 200 => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Update all cluster tags',
+ 'description' => '- This operation performs a full update. When you call this operation, specify all target tags as input parameters to avoid losing existing tags. To perform an incremental update, use [TagResources to bind tags to a cluster](~~2667969~~).',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-18T02:00:00.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterTags'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterTags',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
- ],
+ 'ModifyNodePoolNodeConfig' => [
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/node_config',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '125472',
- 'abilityTreeNodes' => [
- 'FEATUREcskNNODXQ',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '152296',
+ 'abilityTreeNodes' => ['FEATUREcskRXV8J4'],
],
'parameters' => [
[
- 'name' => 'contact_group_ids',
- 'in' => 'query',
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c23421cfa74454bc8b37163fd19af****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np8d8c9c2cd0f64e89884f82a5fbcd****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'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',
+ 'title' => '',
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'kubelet_config' => ['description' => 'The kubelet parameter settings.', '$ref' => '#/components/schemas/kubelet_config', 'required' => false, 'title' => '', 'example' => ''],
+ 'rolling_policy' => [
+ 'title' => '',
+ 'description' => 'The rolling update configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'max_parallelism' => ['title' => '', 'description' => 'Node updates in the node pool are performed in batches. This parameter specifies the maximum number of nodes that can be updated in parallel per batch.'."\n"
+ ."\n"
+ .'Valid values: [1,10].'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'os_config' => [
+ 'description' => 'The operating system parameter settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'sysctl' => [
+ 'description' => 'The custom sysctl parameter settings.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'The sysctl parameter settings. For more information, see [Customize node pool OS parameters](~~2806184~~).', 'type' => 'any', 'example' => 'fs.aio-max-nr: '."\n"
+ .'65536', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'hugepage' => ['description' => 'The hugepage configuration.', '$ref' => '#/components/schemas/Hugepage', 'required' => false, 'title' => '', 'example' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'containerd_config' => ['description' => 'The containerd runtime configuration.', '$ref' => '#/components/schemas/containerd_config', 'required' => false, 'title' => '', 'example' => ''],
+ 'node_names' => [
+ 'title' => '',
+ 'description' => 'The list of nodes to upgrade.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The node to upgrade.', 'type' => 'string', 'example' => 'cn-beijing.10.180.xx.xx', 'required' => false],
+ 'required' => false,
+ 'example' => '',
+ ],
],
- 'required' => true,
+ 'required' => false,
+ 'example' => '',
],
],
],
'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',
- ],
- ],
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D7631D83-6E98-1949-B665-766A62****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5fd211e924e1d00787****'],
+ 'nodepool_id' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np737c3ac1ac684703b9e10673aa2c****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Modify node pool node configurations',
+ 'summary' => 'Modifies the node configurations in a cluster node pool, such as kubelet configurations and rolling update configurations. Modifying node configurations applies changes in batches and restarts kubelet, which may affect node operations and workload execution. Perform this operation during off-peak hours.',
+ 'description' => '> ACK supports modifying the kubelet configurations of nodes in a node pool. After the modification, the new configurations automatically take effect on existing nodes in the node pool. New nodes added to the node pool also use the new configurations.',
+ 'changeSet' => [
+ ['createdAt' => '2026-01-27T10:00:57.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-09-20T05:31:13.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-05-14T08:24:11.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-04-02T08:55:05.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-02-18T10:17:51.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-17T11:57:25.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-23T01:39:30.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-30T09:59:46.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNodePoolNodeConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyNodePoolNodeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"D7631D83-6E98-1949-B665-766A62****\\",\\n \\"task_id\\": \\"T-5fd211e924e1d00787****\\",\\n \\"nodepool_id\\": \\"np737c3ac1ac684703b9e10673aa2c****\\"\\n}","type":"json"}]',
],
- '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',
- ],
+ 'ModifyPolicyInstance' => [
+ 'summary' => 'Updates a policy rule instance in a specified cluster. You can modify the governance action (alert or block) and the scope of namespaces to which the policy instance applies.',
+ 'path' => '/clusters/{cluster_id}/policies/{policy_name}',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '165010',
- 'abilityTreeNodes' => [
- 'FEATUREcsk0H96CV',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'high'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => true, 'example' => 'c8155823d057948c69a****'],
+ ],
+ [
+ 'name' => 'policy_name',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The name of the policy governance rule.', 'type' => 'string', 'required' => true, 'example' => 'ACKAllowedRepos'],
],
[
'name' => 'body',
'in' => 'body',
- 'style' => 'json',
'schema' => [
- 'description' => 'The request parameters.'."\n",
+ 'description' => 'The request parameters.',
'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",
+ 'action' => ['title' => '', 'description' => 'The governance action of the rule. Valid values:'."\n"
+ ."\n"
+ .'- `deny`: Blocks non-compliant deployments.'."\n"
+ .'- `warn`: Generates an alert.', 'type' => 'string', 'required' => false, 'example' => 'deny'],
+ 'instance_name' => ['title' => '', 'description' => 'The instance ID of the policy rule.', 'type' => 'string', 'required' => false, 'example' => 'allowed-repos-cbhhb'],
+ 'namespaces' => [
+ 'title' => '',
+ 'description' => 'The namespaces to which the policy applies. If this parameter is empty, the policy applies to all namespaces.',
'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"]',
- ],
+ 'items' => ['description' => 'The scope of the policy instance.'."\n"
+ ."\n"
+ .'The default value "" indicates all namespaces in the cluster.', 'type' => 'string', 'required' => false, 'example' => '["test3","test4"]', 'title' => ''],
'required' => false,
+ 'example' => '',
],
+ 'parameters' => ['title' => '', 'description' => 'The configuration parameters of the current rule instance. For more information about parameter settings rules, see [Container security policy rules](~~359819~~).', 'type' => 'object', 'required' => false, 'example' => '"restrictedNamespaces": [ "test" ]'],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'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****',
+ 'instances' => [
+ 'description' => 'The list of updated instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of updated instances.', 'type' => 'string', 'example' => '[ "allowed-repos-kqxnc" ]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instances\\": [\\n \\"[ \\\\\\"allowed-repos-kqxnc\\\\\\" ]\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'Update a policy rule instance',
+ 'changeSet' => [
+ ['createdAt' => '2021-12-15T09:14:35.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-11-19T09:13:07.000Z', 'description' => 'Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyPolicyInstance'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyPolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'OpenAckService' => [
+ 'summary' => 'When you use 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',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk0H96CV',
- ],
+ 'abilityTreeCode' => '11154',
+ 'abilityTreeNodes' => ['FEATUREcskJEIDU7'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****',
- ],
+ 'name' => 'type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The type of service to activate. Valid values:'."\n"
+ ."\n"
+ .'- `propayasgo`: Container Service for Kubernetes (including ACK managed clusters and ACK dedicated clusters), Container Service Serverless, and registered clusters.'."\n"
+ .'- `edgepayasgo`: Container Service Edge.', 'type' => 'string', 'example' => 'propayasgo', 'required' => false],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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,
- ],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '20758A-585D-4A41-A9B2-28DA8F*******'],
+ 'order_id' => ['title' => '', 'description' => 'The order ID of the service activation.', 'type' => 'string', 'example' => '2067*******0374'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"20758A-585D-4A41-A9B2-28DA8F*******\\",\\n \\"order_id\\": \\"2067*******0374\\"\\n}","type":"json"}]',
+ 'title' => 'Activate container service for kubernetes',
+ 'description' => '- An Alibaba Cloud account can activate ACK.'."\n"
+ .'- A Resource Access Management (RAM) user that has the AdministratorAccess permission can activate the service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenAckService'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:OpenAckService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'PauseClusterUpgrade' => [
+ 'summary' => 'Pauses a cluster upgrade.',
+ 'path' => '/api/v2/clusters/{ClusterId}/upgrade/pause',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => true,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '165007',
- 'abilityTreeNodes' => [
- 'FEATUREcsk01W1JN',
- 'FEATUREcskCWOUHM',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '580',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'clusterid',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Cluster ID',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cad1230511cbb4db4a488e58518******',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
],
'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',
- ],
+ 200 => [],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::PauseTask'],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => '(Deprecated) Pause a cluster upgrade',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseClusterUpgrade'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:PauseClusterUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sls_project_name\\": \\"k8s-log-cad1230511cbb4db4a488e58518******\\\\n\\",\\n \\"audit_enabled\\": true\\n}","type":"json"}]',
- 'title' => 'GetClusterAuditProject',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
+ ],
'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',
- ],
+ 'PauseComponentUpgrade' => [
+ 'summary' => 'Pauses a component upgrade.',
+ 'path' => '/clusters/{clusterid}/components/{componentid}/pause',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => true,
'systemTags' => [
'operationType' => 'none',
- 'abilityTreeCode' => '208650',
- 'abilityTreeNodes' => [
- 'FEATUREcskCWOUHM',
- ],
+ 'abilityTreeCode' => '381',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
'name' => 'clusterid',
'in' => 'path',
- 'schema' => [
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, '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,
- ],
+ 'name' => 'componentid',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The component ID.', 'type' => 'string', 'required' => true, 'example' => 'metric-server'],
],
],
'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****',
- ],
+ 200 => [],
+ '5XX' => [],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::PauseTask'],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Pause a component upgrade',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseComponentUpgrade'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:PauseComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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",
+ 'translator' => 'machine',
],
- 'DescribeEventsForRegion' => [
- 'summary' => 'Queries all events in a specified region.',
- 'path' => '/regions/{region_id}/events',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'PauseTask' => [
+ 'summary' => 'You can call the PauseTask operation to pause a running cluster task.',
+ 'path' => '/tasks/{task_id}/pause',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
+ 'operationType' => 'update',
'chargeType' => 'free',
- 'abilityTreeCode' => '249410',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '124838',
+ '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',
+ 'name' => 'task_id',
'in' => 'path',
- 'schema' => [
- 'title' => '地域。',
- 'description' => 'The region.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The task ID.', 'type' => 'string', 'required' => true, 'example' => 'T-62a944794ee141074400****', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
+ 202 => [],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'PauseTask',
+ 'changeSet' => [
+ ['createdAt' => '2022-07-21T12:21:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseTask'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:PauseTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'RemoveNodePoolNodes' => [
+ 'summary' => 'Removes nodes from a node pool in a cluster and adjusts the expected number of nodes. When removing nodes, you can specify whether to release the associated ECS instances and whether to drain the nodes. Removing nodes involves pod migration, which may affect your services. Perform this operation during off-peak hours and back up your data in advance.',
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/nodes',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
+ 'operationType' => 'update',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c23421cfa74454bc8b37163fd19af****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np97de2cfb1ba042398dd8f5504c94****'],
+ ],
+ [
+ 'name' => 'release_node',
'in' => 'query',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cf62854ac2130470897be7a27ed1f****',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to release the nodes. Valid values:'."\n"
+ .'- true: Release the nodes.'."\n"
+ .'- false: Do not release the nodes.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
],
[
- 'name' => 'type',
+ 'name' => 'drain_node',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to drain the nodes. Valid values:'."\n"
+ .'- true: Drain the nodes.'."\n"
+ .'- false: Do not drain the nodes.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ ],
+ [
+ 'name' => 'nodes',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '事件类型',
- 'description' => 'The event type. Valid values:'."\n"
+ 'title' => '',
+ 'description' => '[This parameter is deprecated]'."\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',
+ .'The list of nodes to remove.'."\n"
+ ."\n"
+ .'><danger>This parameter is deprecated. Use `instance_ids` instead.</danger>.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node name.', 'type' => 'string', 'example' => 'cn-hangzhou.172.16.xxx.xxx', 'required' => false, 'title' => ''],
+ 'deprecated' => true,
'required' => false,
- 'example' => 'nodepool_upgrade',
+ 'example' => '',
],
],
[
- 'name' => 'page_size',
+ 'name' => 'instance_ids',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '页数',
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ 'title' => '',
+ 'description' => 'The list of instances to remove.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance ID of the instance to remove.', 'type' => 'string', 'example' => 'i-bp1c70fqbv1nlu9xxxxx', 'required' => false, 'title' => ''],
'required' => false,
- 'example' => '50',
+ 'example' => '',
],
],
[
- 'name' => 'page_number',
+ 'name' => 'concurrency',
'in' => 'query',
- 'schema' => [
- 'title' => '没页记录数量',
- 'description' => 'The page number.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to remove nodes concurrently.'."\n"
+ ."\n"
+ .'- true: Nodes are concurrently removed from the scaling group.'."\n"
+ ."\n"
+ .'- false: Nodes are sequentially removed from the scaling group.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体参数',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
- ],
- ],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'A9891419-D125-4D89-AFCA-68846675****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-62a944794ee141074400****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-68846675****\\",\\n \\"task_id\\": \\"T-62a944794ee141074400****\\"\\n}","type":"json"}]',
+ 'title' => 'Remove nodes from a node pool',
+ 'description' => '- Removing nodes involves pod migration, which may affect your services. Perform this operation during off-peak hours.'."\n"
+ .'- Unexpected risks may occur during the operation. Back up your data in advance.'."\n"
+ .'- During the operation, the nodes being removed are set to the unschedulable state in the background.'."\n"
+ .'- This operation removes only worker nodes, not master nodes.'."\n"
+ .' - Even if you choose to release nodes (nodes for which `release_node` is set to `true`), subscription nodes are not released. After removing the nodes, release them in the [ECS console](https://ecs.console.aliyun.com/).',
+ 'changeSet' => [
+ ['createdAt' => '2024-01-19T11:04:05.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-12-15T01:51:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-07-21T03:52:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-09-21T07:00:06.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveNodePoolNodes'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:RemoveNodePoolNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'RepairClusterNodePool' => [
+ 'summary' => 'Repairs nodes in a cluster node pool.',
+ 'path' => '/clusters/{cluster_id}/nodepools/{nodepool_id}/repair',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '89346',
+ 'abilityTreeNodes' => ['FEATUREcskRXV8J4'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c2273b7f4a30d4ef6b43e0926cd******'],
],
[
- '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' => 'nodepool_id',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np613940c3593c4bea96faa8600c******'],
],
[
- 'name' => 'task_id',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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",
+ 'description' => 'The request body.',
'type' => 'object',
'properties' => [
- 'events' => [
- 'title' => '事件列表。',
- 'description' => 'The list of events.'."\n",
+ 'nodes' => [
+ 'title' => '',
+ 'description' => 'The list of nodes.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The node name, which is the node identifier within the cluster.', 'type' => 'string', 'example' => 'cn-beijing.10.0.xx.xx', 'required' => false, 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'auto_restart' => ['title' => '', 'description' => '[This field is deprecated] Specifies whether to allow instance restart.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'null', 'required' => false],
+ 'operations' => [
+ 'title' => '',
+ 'description' => 'The repair operations to perform. If not specified, all repair operations are performed by default. In most scenarios, you do not need to specify this parameter.',
'type' => 'array',
'items' => [
+ 'title' => '',
+ 'description' => 'The repair operation.',
'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******',
- ],
- ],
+ 'operation_id' => ['title' => '', 'description' => 'The repair operation ID. Valid values:'."\n"
+ ."\n"
+ .'- restart.kubelet: restart kubelet.'."\n"
+ .'- restart.docker: restart Docker.'."\n"
+ .'- restart.containerd: restart Containerd.'."\n"
+ .'- restart.ntp: restart ntpd or chronyd.'."\n"
+ .'- remove.containerdContainerInSandbox: delete a specified sandbox container under Containerd.'."\n"
+ .'- remove.dockerContainerInSandbox: delete a specified sandbox container under Docker.'."\n"
+ .'- remove.containerdContainer: delete a specified container under Containerd.'."\n"
+ .'- remove.dockerContainer: delete a specified container under Docker.', 'type' => 'string', 'required' => false, 'example' => 'remove.containerdContainer'],
+ 'args' => [
+ 'title' => '',
+ 'description' => 'The list of repair operation parameters.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The repair operation parameter.'."\n"
+ ."\n"
+ .'- If `operation_id` is set to `remove.containerdContainerInSandbox`, set this parameter to the ID of the specified sandbox container under Containerd.'."\n"
+ .'- If `operation_id` is set to `remove.dockerContainerInSandbox`, set this parameter to the ID of the specified sandbox container under Docker.'."\n"
+ .'- If `operation_id` is set to `remove.containerdContainer`, set this parameter to the ID of the specified container under Containerd.'."\n"
+ .'- If `operation_id` is set to `remove.dockerContainer`, set this parameter to the ID of the specified container under Docker.'."\n"
+ .'- If `operation_id` is set to other values, this parameter does not need to be set.', 'type' => 'string', 'required' => false, 'example' => 'containerd:// 67e109e9410049549695c6e64a******'],
+ 'required' => false,
+ 'example' => '',
],
],
+ 'required' => false,
+ 'example' => '',
],
- ],
- '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',
- ],
- ],
+ 'required' => false,
+ 'example' => '',
],
],
- ],
- ],
- ],
- '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****',
+ 'required' => false,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回体参数。',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response body parameters.',
'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',
- ],
- ],
- ],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'db82195b-75a8-40e5-9be4-16f182******'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-613b19bbd160ad2800******'],
],
+ 'example' => '',
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f182******\\",\\n \\"task_id\\": \\"T-613b19bbd160ad2800******\\"\\n}","type":"json"}]',
+ 'title' => 'Repair node pool nodes',
+ 'changeSet' => [
+ ['createdAt' => '2025-02-18T07:26:20.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-05-27T09:35:56.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-14T12:16:08.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-01-21T08:15:26.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RepairClusterNodePool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:RepairClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ResumeComponentUpgrade' => [
+ 'summary' => 'Calls ResumeComponentUpgrade to restart a paused component upgrade task.',
+ 'path' => '/clusters/{clusterid}/components/{componentid}/resume',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => true,
'systemTags' => [
'operationType' => 'update',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '124838',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '378',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'task_id',
+ 'name' => 'clusterid',
'in' => 'path',
- 'schema' => [
- 'description' => 'The task ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'T-62a944794ee141074400****',
- ],
+ 'schema' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'],
+ ],
+ [
+ 'name' => 'componentid',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'Component ID.', 'type' => 'string', 'required' => true, 'example' => 'metric-server'],
],
],
'responses' => [
- 202 => [],
+ 200 => [],
+ '5XX' => [],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::ResumeTask'],
],
'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => 'PauseTask',
+ 'title' => 'Resume component upgrade',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeComponentUpgrade'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
],
'ResumeTask' => [
- 'summary' => 'Resumes a task.',
+ 'summary' => 'Resumes a paused cluster task.',
'path' => '/tasks/{task_id}/resume',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'task_id',
'in' => 'path',
- 'schema' => [
- 'description' => 'The task ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'T-62a944794ee141074400****',
- ],
+ 'schema' => ['description' => 'The task ID.', 'type' => 'string', 'required' => true, 'example' => 'T-62a944794ee141074400****', 'title' => ''],
],
],
'responses' => [
202 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- ],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => ''],
],
+ 'example' => '',
],
],
],
'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',
+ 'title' => 'Resume a task',
+ 'changeSet' => [
+ ['createdAt' => '2022-07-21T12:21:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-04-27T08:32:30.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeTask'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'ResumeUpgradeCluster' => [
+ 'summary' => 'Resumes the upgrade of a cluster that is in the upgrade-paused state based on the cluster ID.',
+ 'path' => '/api/v2/clusters/{ClusterId}/upgrade/resume',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'chargeType' => 'free',
- ],
+ 'deprecated' => true,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'task_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => 'The ID of the task.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'T-62ccd14aacb8db06ca00****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
],
'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',
- ],
- ],
- ],
- ],
+ 200 => [],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'staticInfo' => [
+ 'substitutions' => ['CS::2015-12-15::ResumeTask'],
],
'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',
+ 'title' => '(Deprecated) Resume cluster upgrade',
+ 'changeSet' => [
+ ['createdAt' => '2022-09-19T04:26:26.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeUpgradeCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeUpgradeCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'RevokeK8sClusterKubeConfig' => [
+ 'summary' => 'If you want to revoke the cluster KubeConfig credential owned by the currently logged-on Alibaba Cloud account or Resource Access Management (RAM) user, you can call the RevokeK8sClusterKubeConfig operation to revoke it. After the revocation succeeds, the cluster generates a new KubeConfig, and the original KubeConfig becomes invalid.',
+ 'path' => '/k8s/{ClusterId}/certs',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
+ 'operationType' => 'none',
+ 'riskType' => 'high',
'chargeType' => 'free',
+ 'abilityTreeCode' => '161583',
+ 'abilityTreeNodes' => ['FEATUREcsk01W1JN', 'FEATUREcskCWOUHM'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'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',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', 'title' => ''],
],
],
'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',
- ],
+ 200 => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Revoke kubeConfig of the current user',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeK8sClusterKubeConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:RevokeK8sClusterKubeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
+ 'translator' => 'machine',
],
- 'ListOperationPlansForRegion' => [
- 'summary' => '获取单个地域的自动运维执行计划列表',
- 'path' => '/regions/{region_id}/operation/plans',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'RunClusterCheck' => [
+ 'summary' => 'The intelligent O&M platform for containers provides a wide range of Kubernetes cluster check capabilities, including cluster upgrade checks, cluster migration checks, component installation checks, component upgrade checks, and node pool checks. Before an upgrade, migration, or installation operation is performed, the platform automatically triggers a check. You can perform the change operation only after the check is passed. You can also manually call the RunClusterCheck operation to perform a cluster check. Periodically check and maintain your clusters to prevent security risks.',
+ 'path' => '/clusters/{cluster_id}/checks',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '197074',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'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****',
- ],
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ce0da5a1d627e4e9e9f96cae8ad******'],
],
[
- 'name' => 'type',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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',
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'title' => '',
+ 'description' => 'The check type.',
+ 'enumValueTitles' => ['ClusterMigrate' => 'cluster migration.', 'MasterUpgrade' => 'cluster control plane upgrade.', 'NodePoolUpgrade' => 'node pool upgrade.', 'ClusterUpgrade' => 'cluster upgrade.'],
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'NodePoolUpgrade',
+ ],
+ 'target' => ['title' => '', 'description' => 'The check target.'."\n"
+ ."\n"
+ .'If the type parameter is set to NodePoolUpgrade, this parameter must be set to the node pool ID.'."\n"
+ ."\n"
+ .'If other check types are selected, this parameter does not need to be set.', 'type' => 'string', 'required' => false, 'example' => 'np1f6779297c4444a3a1cdd29be8******'],
+ 'options' => [
+ 'title' => '',
+ 'description' => 'The check options.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '检查参数。'."\n"
+ ."\n"
+ .'当检查类型参数`type`取值为`MasterUpgrade`和`ClusterUpgrade`时,该参数需要设置为`next_version`,具体参数取值为升级的目标集群版本。'."\n"
+ ."\n"
+ .'选择其他检查类型时,本参数无需设置。', 'type' => 'string', 'example' => 'next_version:1.32.1-aliyun.1', 'title' => ''],
+ 'example' => '',
+ ],
],
- 'example' => 'CLUSTER_UPGRADE_MASTER',
- ],
- ],
- [
- 'name' => 'state',
- 'in' => 'query',
- 'schema' => [
- 'title' => '按执行计划状态过滤。',
- 'description' => '',
- 'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'Scheduled' => '',
- 'Failed' => '',
- 'ValidatingFailed' => '',
- 'Executing' => '',
- 'Canceled' => '',
- 'Executed' => '',
- ],
- 'example' => 'Scheduled',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '',
+ 'description' => 'The response body.',
'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****',
- ],
- ],
- ],
- ],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'F04DF81D-5C12-1524-B36A-86E025******'],
+ 'check_id' => ['title' => '', 'description' => 'The check ID.', 'type' => 'string', 'example' => '1697100584236******-ce0da5a1d627e4e9e9f96cae8ad******-clustercheck-lboto'],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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' => 'Initiate a cluster check',
+ 'changeSet' => [
+ ['createdAt' => '2024-03-14T07:51:26.000Z', 'description' => 'Request parameters changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RunClusterCheck'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:RunClusterCheck',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'RunClusterInspect' => [
+ 'summary' => 'Initiates a cluster inspection and creates an inspection report.',
+ 'path' => '/clusters/{clusterId}/inspectReports',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '196741',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '261190',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
- 'in' => 'query',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c29ced64b3dfe4f33b57ca0aa9f68****',
- ],
+ 'name' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
[
- 'name' => 'type',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '执行计划类型。',
- 'description' => 'The operation plan type.'."\n",
- 'type' => 'string',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'clientToken' => ['title' => '', 'description' => 'The idempotence token.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf'],
+ ],
'required' => false,
- 'example' => 'cluster_upgrade',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'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',
- ],
- ],
- ],
- ],
+ 'reportId' => ['title' => '', 'description' => 'The inspection report ID.', 'type' => 'string', 'example' => '5d6557c983064c45bed62ab2a2119cc7'],
+ 'taskId' => ['title' => '', 'description' => 'The inspection task ID.', 'type' => 'string', 'example' => 'T-67d7ec016ce37c0106000***'],
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0AB4D067-4DD7-5471-B90A-FCC564BC3337'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"reportId\\": \\"5d6557c983064c45bed62ab2a2119cc7\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"requestId\\": \\"0AB4D067-4DD7-5471-B90A-FCC564BC3337\\"\\n}","type":"json"}]',
+ 'title' => 'Create a cluster inspection report',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RunClusterInspect'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:RunClusterInspect',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'RunNodeOperation' => [
+ 'summary' => '',
+ 'path' => '/clusters/{clusterId}/nodepools/{nodepoolId}/nodes/{nodeName}/operation',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '196742',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeNodes' => ['FEATUREcsk4JRUSW'],
],
'parameters' => [
[
- 'name' => 'plan_id',
+ 'name' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['type' => 'string', 'required' => true, 'example' => 'c2230fxxxxx', 'title' => '', 'description' => ''],
+ ],
+ [
+ 'name' => 'nodepoolId',
'in' => 'path',
+ 'schema' => ['type' => 'string', 'required' => true, 'example' => 'npe76bc164769844b****', 'title' => '', 'description' => ''],
+ ],
+ [
+ 'name' => 'nodeName',
+ 'in' => 'path',
+ 'schema' => ['type' => 'string', 'required' => true, 'example' => 'cn-hangzhou.192.168.0.1', 'title' => '', 'description' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '执行计划ID。',
- 'description' => 'The ID of the O\\&M plan.'."\n",
- 'type' => 'string',
+ 'type' => 'object',
+ 'properties' => [
+ 'operationAction' => ['type' => 'string', 'required' => true, 'example' => 'restart.kubelet', 'title' => '', 'description' => ''],
+ 'operationArgs' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => '5f1d7c9e***', 'title' => '', 'description' => '', 'required' => false],
+ 'title' => '',
+ 'description' => '',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'description' => '',
'required' => false,
- 'example' => 'P-655c9c127e0e6603ef00****',
+ 'example' => '',
],
],
],
'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',
- ],
+ 'clusterId' => ['type' => 'string', 'example' => 'c2230fxxxxx', 'title' => '', 'description' => ''],
+ 'requestId' => ['type' => 'string', 'example' => 'xxxx', 'title' => '', 'description' => ''],
+ 'taskId' => ['type' => 'string', 'example' => 'T-xxxx', 'title' => '', 'description' => ''],
],
- 'title' => 'Schema of Response',
+ 'title' => '',
+ 'description' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:RunNodeOperation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#clusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"clusterId\\": \\"c2230fxxxxx\\",\\n \\"requestId\\": \\"xxxx\\",\\n \\"taskId\\": \\"T-xxxx\\"\\n}","type":"json"}]',
],
- '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',
- ],
+ 'ScaleClusterNodePool' => [
+ 'summary' => 'Scales out a node pool by adding nodes to ensure that the number of nodes is sufficient to support your workloads.',
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'abilityTreeCode' => '387',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c23421cfa74454bc8b37163fd19af****'],
+ ],
+ [
+ 'name' => 'NodepoolId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np31da1b38983f4511b490fc62108a****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'count' => ['title' => '', 'description' => 'The number of nodes to add. For example, if the node pool currently has 2 nodes and you add 2 more, the node pool will have 4 nodes. Due to the node quota limit of the current cluster, you can add up to 500 nodes in a single operation.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'required' => false],
+ ],
+ 'required' => false,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The details about the update progress of the cluster.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
- ],
- ],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5faa48fb31b6b8078d00****'],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::DescribeTaskInfo',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\"\\n}","type":"json"}]',
+ 'title' => 'Scale out a node pool',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleClusterNodePool'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ScaleClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'ScanClusterVuls' => [
+ 'summary' => 'You can call the ScanClusterVuls operation to scan for potential security vulnerabilities in an ACK cluster, including container workload vulnerabilities, third-party software vulnerabilities, CVE vulnerabilities, WebCMS vulnerabilities, and Windows operating system vulnerabilities. Regularly scan your cluster for security vulnerabilities to improve cluster security.',
+ 'path' => '/clusters/{cluster_id}/vuls/scan',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '580',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- ],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'cluster_id',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c259f563386444ebb8d7****'],
],
],
'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' => [],
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4******'],
+ 'task_id' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'T-xascadasd*****', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4******\\",\\n \\"task_id\\": \\"T-xascadasd*****\\"\\n}","type":"json"}]',
+ 'title' => 'Scan cluster security vulnerabilities',
+ 'changeSet' => [
+ ['createdAt' => '2023-07-21T03:52:17.000Z', 'description' => 'Response parameters changed'],
],
- 'operationType' => 'write',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '414',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ScanClusterVuls'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'parameters' => [
+ 'ramActions' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ScanClusterVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
],
],
],
- 'responses' => [
- 200 => [],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::CancelTask',
- ],
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => '(Deprecated)CancelClusterUpgrade',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'StartAlert' => [
+ 'summary' => 'Starts a specified alert rule.',
+ 'path' => '/alert/{ClusterId}/alert_rule/start',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => true,
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
+ 'abilityTreeCode' => '161580',
+ 'abilityTreeNodes' => ['FEATUREcskNNODXQ'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
+ 'schema' => ['description' => 'The cluster ID. You can call ListClusters to obtain the cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c245ff43c717f49****', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'alert_rule_group_name' => ['description' => 'The alert rule group name.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ 'alert_rule_name' => ['description' => 'The alert rule name.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
- 200 => [],
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'status' => ['description' => 'The status.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'msg' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::ResumeTask',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"success\\"\\n}","type":"json"}]',
+ 'title' => 'Start an alert rule',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-02T06:28:20.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-02-27T09:22:10.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-12-19T02:20:57.000Z', 'description' => 'Response parameters changed, Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartAlert'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:StartAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => '(Deprecated)ResumeUpgradeCluster',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'StopAlert' => [
+ 'summary' => 'Stops alert rules in the ACK alert center. You can stop an entire alert rule group or a single alert rule.',
+ 'path' => '/alert/{ClusterId}/alert_rule/stop',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '161581',
+ 'abilityTreeNodes' => ['FEATUREcskNNODXQ'],
],
'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' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The cluster ID.'."\n"
+ ."\n"
+ .'You can call [ListClusters](~~87116~~) to obtain the cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c7f9c85baee73452883b3299a0107****', 'title' => ''],
],
[
- 'name' => 'cluster_version',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The cluster version.'."\n",
- 'type' => 'string',
+ 'description' => 'The request parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'alert_rule_group_name' => ['description' => 'The alert rule group name.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ 'alert_rule_name' => ['description' => 'The alert rule name.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ ],
'required' => false,
- 'example' => '1.24.6-aliyun.1',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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",
- ],
- ],
+ 'status' => ['description' => 'The execution result status. Valid values:'."\n"
+ .'- True: The execution is successful.'."\n"
+ .'- False: The execution failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'msg' => ['description' => 'The message returned when the execution fails.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::ListAddons',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"Success\\"\\n}","type":"json"}]',
+ 'title' => 'Stop alert rules',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-02T06:28:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-02-27T09:22:10.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-12-19T02:20:57.000Z', 'description' => 'Response parameters changed, Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopAlert'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:StopAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'SyncClusterNodePool' => [
+ 'summary' => 'Synchronizes a cluster node pool, including node pool metadata and information about the nodes in the node pool.',
+ 'path' => '/clusters/{ClusterId}/sync_nodepools',
+ 'methods' => ['post'],
+ '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',
- ],
- ],
+ '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****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c905d1364c2dd4b6284a3f41790c4****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '组件版本信息。',
- 'description' => 'The response body.'."\n",
+ 'description' => 'The response body.',
'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",
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF51894XXXXX', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::ListClusterAddonInstances',
- 'CS::2015-12-15::GetClusterAddonInstance',
+ '5XX' => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894XXXXX\\"\\n}","type":"json"}]',
+ 'title' => 'Synchronize a node pool',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SyncClusterNodePool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:SyncClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'TagResources' => [
+ 'summary' => 'Adds tag key-value pairs to clusters so that cluster developers or O&M engineers can categorize and manage clusters more flexibly, and better support monitoring, cost analysis, and tenant isolation requirements. You can call the TagResources operation to attach tags to clusters.',
+ 'path' => '/tags',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '170092',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
- ],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'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',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '组件名称。',
- 'description' => 'The name of the component.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'terway-eniip',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'resource_ids' => [
+ 'title' => '',
+ 'description' => 'The list of resource IDs. You can specify up to 50 resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.'."\n"
+ ."\n"
+ .'If the resource type is `CLUSTER`, set this parameter to the cluster ID.', 'type' => 'string', 'example' => 'c1a7bb282fc0d48b****', 'required' => false, 'title' => ''],
+ 'required' => true,
+ 'example' => '',
+ ],
+ 'resource_type' => ['title' => '', 'description' => 'The resource type.'."\n"
+ ."\n"
+ .'CLUSTER: cluster.', 'type' => 'string', 'required' => true, 'example' => 'CLUSTER'],
+ 'region_id' => ['title' => '', 'description' => 'The region ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The tag key-value pairs of the resource. You can specify up to 20 tag key-value pairs. Note:'."\n"
+ ."\n"
+ .'- If you specify this parameter, the value cannot be an empty string and can contain up to 128 characters.'."\n"
+ .'- The value cannot start with `aliyun` or `acs:`.'."\n"
+ .'- The value cannot contain `http://` or `https://`.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource tag.', '$ref' => '#/components/schemas/tag', 'required' => false, 'title' => '', 'example' => ''],
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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"}',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF51894******'],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::GetClusterAddonInstance',
- ],
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894******\\"\\n}","type":"json"}]',
+ 'title' => 'Attach tags to a cluster',
+ 'changeSet' => [
+ ['createdAt' => '2024-01-09T12:13:57.000Z', 'description' => 'Request parameters changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:TagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'UnInstallClusterAddons' => [
+ 'summary' => 'Uninstalls specified components from a cluster when they are no longer needed, with the option to delete associated Alibaba Cloud resources.',
+ 'path' => '/clusters/{ClusterId}/components/uninstall',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => true,
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '101052',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '373',
+ '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',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '组件ID',
- 'description' => 'The component ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'coredns',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'],
],
[
- 'name' => 'version',
- 'in' => 'query',
+ 'name' => 'addons',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '组件版本',
- 'description' => 'The component version.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The list of components.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The component details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => '', 'description' => 'The name of the component to uninstall. You can call the [ListClusterAddonInstances](~~2667940~~) operation to query the components installed in a cluster.', 'type' => 'string', 'required' => false, 'example' => 'ack-node-problem-detector'],
+ 'cleanup_cloud_resources' => ['title' => '', 'description' => 'Specifies whether to clean up associated cloud resources when uninstalling the component. Valid values:'."\n"
+ .'- true: Clean up.'."\n"
+ .'- false: Retain.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '1.8.4.1',
+ 'example' => '',
],
],
],
'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}',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c5b5e80b0b64a4bf6939d2d8fbb******'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-66e39b39c0fdd00132******'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '74D1512F-67DA-54E8-99EA-4D50EB******'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::DescribeAddon',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c5b5e80b0b64a4bf6939d2d8fbb******\\",\\n \\"task_id\\": \\"T-66e39b39c0fdd00132******\\",\\n \\"request_id\\": \\"74D1512F-67DA-54E8-99EA-4D50EB******\\"\\n}","type":"json"}]',
+ 'title' => 'Uninstall cluster components',
+ 'changeSet' => [
+ ['createdAt' => '2024-12-12T12:52:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-24T12:23:44.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-19T04:26:27.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallClusterAddons'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:UnInstallClusterAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableAddonLogtailDs', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- '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\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-prompt-message\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-additional-tips\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\"\\\\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\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\"\\\\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\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\"\\\\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\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\",\\\\n \\\\\\"x-ui-validation-message\\\\\\": \\\\\\"&lt;mds-key&gt;\\\\\\"\\\\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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'UntagResources' => [
+ 'summary' => 'Deletes resource tags when you no longer need the tag key-value pairs for a cluster. You can call the UntagResources operation to delete resource tags.',
+ 'path' => '/tags',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'abilityTreeCode' => '498',
- 'abilityTreeNodes' => [
- 'FEATUREcskGIIHWM',
- ],
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
+ 'name' => 'region_id',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The region ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'resource_ids',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The list of resource IDs. You can specify up to 50 resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.'."\n"
+ ."\n"
+ .'If the resource type is `CLUSTER`, set this parameter to the cluster ID.', 'type' => 'string', 'example' => 'c1a7bb282fc0d48b593***', 'required' => false, 'title' => ''],
'required' => true,
- 'example' => 'c23421cfa74454bc8b37163fd19af****',
+ 'example' => '',
],
],
[
- 'name' => 'componentIds',
+ 'name' => 'resource_type',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The resource type.'."\n"
+ ."\n"
+ .'CLUSTER: cluster.', 'type' => 'string', 'required' => true, 'example' => 'CLUSTER'],
+ ],
+ [
+ 'name' => 'tag_keys',
'in' => 'query',
'style' => 'json',
'schema' => [
- 'title' => '组件名称列表。',
- 'description' => 'The list of component names.'."\n",
+ 'title' => '',
+ 'description' => 'The list of tag keys for the resource. You can specify up to 20 tag keys.',
'type' => 'array',
- 'items' => [
- 'description' => 'The component name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'metric-server',
- ],
+ 'items' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'TestKey1', 'required' => false, 'title' => ''],
'required' => true,
+ 'example' => '',
],
],
+ [
+ 'name' => 'all',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to delete all custom tags. This parameter takes effect only when `tag_keys` is empty. Valid values:'."\n"
+ ."\n"
+ .'- `true`: Delete all tags.'."\n"
+ .'- `false`: Do not delete all tags.', 'type' => 'boolean', 'example' => 'true', 'required' => false],
+ ],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'title' => '组件升级详情',
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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",
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF51894******'],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::ListClusterAddonInstances',
- 'CS::2015-12-15::GetClusterAddonInstance',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF51894******\\"\\n}","type":"json"}]',
+ 'title' => 'Delete cluster tags',
+ 'changeSet' => [
+ ['createdAt' => '2023-07-05T02:33:49.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:UntagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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',
+ 'translator' => 'machine',
],
- 'UpdateNodePoolComponent' => [
- 'summary' => '更新节点组件',
- 'path' => '/clusters/{clusterId}/nodepools/{nodepoolId}/component',
- 'methods' => [
- 'put',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateClusterAuditLogConfig' => [
+ 'summary' => 'When you need to record Kubernetes API requests and their results to trace cluster operation history or troubleshoot cluster issues, you can invoke the UpdateClusterAuditLogConfig operation to enable or shutdown the audit log feature for a specified ACK cluster and update the audit log configuration.',
+ 'path' => '/clusters/{clusterid}/audit_log',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4JRUSW',
- ],
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '208650',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'parameters' => [
[
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
- ],
- [
- 'name' => 'nodepoolId',
+ 'name' => 'clusterid',
'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'np7c4fa4a5f1ce412b84967089****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf****', 'title' => ''],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '',
+ 'description' => 'The request struct.',
'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,
- ],
+ 'sls_project_name' => ['description' => 'The [SLS Project](~~48873~~) that contains the [Logstore](~~48874~~) for cluster audit logs.'."\n"
+ ."\n"
+ .'- Default value: k8s-log-{clusterid}.'."\n"
+ ."\n"
+ .'- After you enable the cluster audit log feature, a Logstore for cluster audit logs is created in the specified SLS Project.'."\n"
+ ."\n"
+ .'- If you need to change the SLS Project after enabling the cluster audit log feature, use this parameter to specify a new SLS Project. Only ACK managed clusters support changing the SLS Project.', 'type' => 'string', 'required' => false, 'example' => 'k8s-log-c82e6987e2961451182edacd74faf****', 'title' => ''],
+ 'disable' => ['description' => 'Specifies whether to disable the cluster audit log feature. Valid values:'."\n"
+ .'- false: enables the audit log feature or updates the audit log configuration.'."\n"
+ ."\n"
+ .'- true: disables the audit log feature.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response body.',
'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****',
- ],
+ 'cluster_id' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c93095129fc41463aa455d89444fd****', 'title' => ''],
+ 'request_id' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '48BD70F6-A7E6-543D-9F23-08DEB764****', 'title' => ''],
+ 'task_id' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5faa48fb31b6b8078d00****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c93095129fc41463aa455d89444fd****\\",\\n \\"request_id\\": \\"48BD70F6-A7E6-543D-9F23-08DEB764****\\",\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\"\\n}","type":"json"}]',
+ 'title' => 'Update cluster audit log configuration',
+ 'description' => 'Before you use this operation, make sure that you fully understand the billing methods and pricing of <props="china">[Simple Log Service](https://www.aliyun.com/price/product#/sls/detail/sls)</props><props="intl">[Simple Log Service](https://www.alibabacloud.com/product/log-service/pricing)</props>.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterAuditLogConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateClusterAuditLogConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"clusterId\\": \\"c82e6987e2961451182edacd74faf****\\"\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- 'InstallNodePoolComponents' => [
- 'summary' => '为ACK集群节点池安装节点组件',
- 'path' => '/clusters/{clusterId}/nodepools/{nodePoolId}/components',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateClusterInspectConfig' => [
+ 'summary' => 'Updates the cluster inspection configuration.',
+ 'path' => '/clusters/{clusterId}/inspectConfig',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcsk4HGX7D',
- ],
+ 'abilityTreeCode' => '261198',
+ 'abilityTreeNodes' => ['FEATUREcskVD3FWR'],
],
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '',
+ 'description' => 'The request body.',
'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' => '',
+ 'enabled' => ['description' => 'Specifies whether to enable inspection.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'scheduleTime' => ['description' => 'The inspection schedule defined by using the RFC 5545 Recurrence Rule syntax. You must specify BYHOUR and BYMINUTE. Only FREQ=DAILY is supported. COUNT and UNTIL are not supported.', 'type' => 'string', 'required' => false, 'example' => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=15'."\n", 'title' => ''],
+ 'disabledCheckItems' => [
+ 'description' => 'The list of disabled inspection items.',
'type' => 'array',
- 'items' => [
- 'title' => '节点名称。',
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou.10.2xxx',
- ],
+ 'items' => ['description' => 'The disabled inspection item.', 'type' => 'string', 'required' => false, 'example' => 'NginxIngressServiceAnnotationMultiTargets', 'title' => ''],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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****',
- ],
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\"\\n}","type":"json"}]',
+ 'title' => 'Update cluster inspection configuration',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterInspectConfig'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'UpdateContactGroupForAlert' => [
+ 'summary' => 'Updates the contact group for an alert rule set in an ACK cluster.',
+ 'path' => '/alert/{ClusterId}/alert_rule/contact_groups',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
'operationType' => 'readAndWrite',
- 'deprecated' => true,
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'abilityTreeCode' => '392',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '125473',
+ 'abilityTreeNodes' => ['FEATUREcskNNODXQ'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'schema' => ['description' => 'The cluster ID. You can call the ListCluster operation to obtain the cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ce7d08276f8a6422282c46272a84bxxxx', 'title' => ''],
],
[
- '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',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'alert_rule_group_name' => ['description' => 'The name of the alert metric contact group.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ 'contact_group_ids' => [
+ 'description' => 'The list of contact group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The contact group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'cr_name' => ['description' => 'The name of the CR instance.', 'type' => 'string', 'required' => false, 'example' => 'sample', 'title' => ''],
+ 'namespace' => ['description' => 'The namespace in which the resource resides.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
+ ],
'required' => false,
- 'example' => 'admin',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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****',
- ],
+ 'status' => ['description' => 'The status of the update result. Valid values:'."\n"
+ .'- true: The operation is successful.'."\n"
+ .'- false: The operation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'msg' => ['description' => 'The message returned when the operation failed.', 'type' => 'string', 'example' => 'contact group illegal.', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"status\\": true,\\n \\"msg\\": \\"contact group illegal.\\"\\n}","type":"json"}]',
+ 'title' => 'Update alert metric contact group',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-02T06:28:20.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2022-09-19T04:26:27.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContactGroupForAlert'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateContactGroupForAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- '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",
+ 'translator' => 'machine',
],
- 'CreateKubernetesTrigger' => [
- 'summary' => 'You can call the CreateKubernetesTrigger operation to create a trigger for an application.',
- 'path' => '/triggers',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateControlPlaneLog' => [
+ 'summary' => 'ACK managed clusters support collecting control plane component logs and delivering them to your Simple Log Service (SLS) Log Project. Control plane components include Kube API Server, Kube Scheduler, Kube Controller Manager, Cloud Controller Manager, and other core components. You can call the UpdateControlPlaneLog operation to modify the control plane component log configuration, such as the log retention period and the components from which logs are collected.',
+ 'path' => '/clusters/{ClusterId}/controlplanelog',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => true,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskT7MN2U',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '165010',
+ 'abilityTreeNodes' => ['FEATUREcsk0H96CV'],
],
'parameters' => [
[
+ 'name' => 'ClusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****', 'title' => ''],
+ ],
+ [
'name' => 'body',
'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '请求体参数',
- 'description' => 'The request body.'."\n",
+ 'description' => 'The request body parameters.',
'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',
+ 'log_project' => ['description' => 'The name of the SLS project used to store control plane component logs.'."\n"
+ ."\n"
+ .'Default value: k8s-log-$Cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'k8s-log-c5b5e80b0b64a4bf6939d2d8fbbc5****', 'title' => ''],
+ 'log_ttl' => ['description' => 'The retention period of logs in the SLS Logstore. Valid values: 1 to 3000. Unit: days.'."\n"
+ ."\n"
+ .'Default value: 30 days.', 'type' => 'string', 'required' => false, 'example' => '30', 'title' => ''],
+ 'aliuid' => ['description' => 'The Alibaba Cloud account ID.', 'type' => 'string', 'required' => false, 'example' => '162981*****', 'title' => ''],
+ 'components' => [
+ 'description' => 'The list of components for which control plane logging is enabled.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of components for which control plane logging is enabled. Supported components:'."\n"
+ .'- `apiserver`'."\n"
+ .'- `ccm`'."\n"
+ .'- `scheduler`'."\n"
+ .'- `kcm`'."\n"
+ .'- `controlplane-events`'."\n"
+ .'- `alb`'."\n"
+ .'- `cluster-autoscaler`'."\n"
+ .'- `ack-goatscaler`'."\n"
+ .'- `kuberay-operator`'."\n"
+ .'- `gatekepper`: applicable only to ACK managed clusters (intelligent managed mode).'."\n"
+ .'- `vk`: applicable only to ASK clusters.'."\n"
+ .'- `istio`: applicable only to service mesh clusters.'."\n"
+ .'- `cluster-operator`: applicable only to Distributed Cloud Container Platform for Kubernetes (ACK One).'."\n"
+ .'- `application-controller`: applicable only to Distributed Cloud Container Platform for Kubernetes (ACK One).'."\n"
+ ."\n"
+ .'By default, the control plane component log feature collects logs from the `apiserver`, `ccm`, `scheduler`, `kcm`, `controlplane-events`, and `alb` components.'."\n"
+ ."\n"
+ .'For more information about components, see [Logstore description of control plane components](~~198268~~).', 'type' => 'string', 'required' => false, 'example' => '[ "apiserver", "kcm", "scheduler", "ccm", "alb", "controlplane-events", "ack-goatscaler"]', 'title' => ''],
'required' => false,
- 'example' => 'deployment',
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
- 'example' => 'cn-beijing',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The response body.',
'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',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cb95aa626a47740afbf6aa099b650****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '687C5BAA-D103-4993-884B-C35E4314****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5a54309c80282e39ea00****'],
],
+ 'example' => '',
],
],
+ '5XX' => [],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cb95aa626a47740afbf6aa099b650****\\",\\n \\"request_id\\": \\"687C5BAA-D103-4993-884B-C35E4314****\\",\\n \\"task_id\\": \\"T-5a54309c80282e39ea00****\\"\\n}","type":"json"}]',
+ 'title' => 'Update control plane component log configuration of an ACK managed cluster',
+ 'requestParamsDescription' => '- UpdateControlPlaneLog supports modifying only the log retention period (log_ttl). If you define only log_ttl in the request body, the backend determines that only the retention period is being modified.'."\n"
+ .'- UpdateControlPlaneLog supports disabling logs for all control plane components by declaring the components field as an empty list. Explicitly declare the components field as an empty list in the request body. If you do not define components, the operation to disable control plane component logs is not triggered.',
+ 'changeSet' => [
+ ['createdAt' => '2023-12-25T11:04:35.000Z', 'description' => 'Response parameters changed'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateControlPlaneLog'],
],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '378',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateControlPlaneLog',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableCoreControlPlaneComponentsLog', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
],
],
],
- 'responses' => [
- 200 => [],
- '5XX' => [],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::ResumeTask',
- ],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => 'ResumeComponentUpgrade',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'UpdateK8sClusterUserConfigExpire' => [
+ 'summary' => 'The default expiration time of the KubeConfig issued by an ACK cluster is 3 years. You can use an Alibaba Cloud account to customize the configuration by invoking the UpdateK8sClusterUserConfigExpire operation to specify the expiration time (1 to 876,000 hours) of the KubeConfig issued to a Resource Access Management (RAM) user or role in an ACK cluster.',
+ 'path' => '/k8s/{ClusterId}/user_config/expire',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '381',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- ],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'clusterid',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c5b5e80b0b64a4bf6939d2d8fbbc5****'],
],
[
- 'name' => 'componentid',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '组件ID。',
- 'description' => 'The component ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'metric-server',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'expire_hour' => ['title' => '', 'description' => 'The custom expiration time. Unit: hours.'."\n"
+ ."\n"
+ .'Valid values: [1, 876000]. The maximum value is equivalent to 100 years.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '876000', 'minimum' => '0', 'example' => '720'],
+ 'user' => ['title' => '', 'description' => 'The Resource Access Management (RAM) user ID.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => '206945240368******'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [],
- '5XX' => [],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::PauseTask',
- ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
'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',
+ 'title' => 'Update the expiration time of user-defined configuration',
+ 'description' => '- This operation can be called only by an Alibaba Cloud account.'."\n"
+ .'- If you revoke the KubeConfig credential used in the cluster, the custom expiration time configured for the KubeConfig of the cluster is also reset. You must call this operation to reconfigure the expiration time.',
+ 'changeSet' => [
+ ['createdAt' => '2023-03-28T07:06:07.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-01-05T07:11:58.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-01-05T07:11:58.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sClusterUserConfigExpire'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateK8sClusterUserConfigExpire',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'gatewayOptions' => [
+ 'gatewayProtocols' => [],
],
+ 'translator' => 'machine',
+ ],
+ 'UpdateKMSEncryption' => [
+ 'summary' => 'Updates the Secret encryption at rest configuration for a specified cluster by cluster ID.',
+ 'path' => '/clusters/{ClusterId}/kms',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '388',
- 'abilityTreeNodes' => [
- 'FEATUREcskT7MN2U',
- ],
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '187752',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM'],
],
'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',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c4fe1e3a721544***', 'title' => ''],
],
[
- 'name' => 'action',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'kms_key_id' => ['description' => 'The key ID of the KMS key used by the Secret encryption at rest feature.'."\n"
+ ."\n"
+ .'><notice>You cannot use a service key. Use only a master key or a customer master key (CMK). The key type must be `Aliyun_AES_256`, and the key usage must be `ENCRYPT/DECRYPT`.'."\n"
+ .'></notice>'."\n"
+ ."\n\n"
+ ."\n"
+ .'><warning>During the procedure of enabling or shutdown of encryption at rest and after the feature is enabled, do not disable or delete the KMS key in the KMS console or through OpenAPI. Otherwise, the cluster API Server becomes not active, which prevents normal retrieval of objects such as Secrets and ServiceAccounts and affects the normal operation of business applications.></danger>', 'type' => 'string', 'required' => false, 'example' => 'key-abc***', 'title' => ''],
+ 'disable_encryption' => ['description' => 'Specifies whether to disable the Secret encryption at rest feature.'."\n"
+ ."\n"
+ .'* `true`: Disables the encryption at rest feature.'."\n"
+ .'* `false`: Enables the encryption at rest feature.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
'required' => false,
- 'example' => 'redeploy',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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***',
- ],
- ],
+ 'responses' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Update secret encryption at rest configuration',
+ 'description' => '* While enabling or disabling encryption at rest and after the feature is enabled, do not disable or delete the KMS key used by this feature in the KMS console or through OpenAPI. Otherwise, the cluster API Server becomes unavailable, which prevents normal retrieval of objects such as Secrets and ServiceAccounts and affects the normal operation of business applications. For more information, see [Encrypt Secrets at rest by using China KMS](~~177372~~).'."\n"
+ .'* The user or role that calls this API operation must be granted additional cluster RBAC permissions (O&M engineer or administrator permissions). Otherwise, the ForbiddenUpdateKMSState error code is returned.'."\n"
+ .'* After this API operation is successfully called, the cluster status changes to updating. After the update is complete, the cluster status changes back to running. After a change is complete for a cluster, wait at least 5 minutes before calling this API operation again. Otherwise, HTTP status code 409 is returned.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateKMSEncryption'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateKMSEncryption',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
],
],
],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'UpdateNodePoolComponent' => [
+ 'path' => '/clusters/{clusterId}/nodepools/{nodepoolId}/component',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '394',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeNodes' => ['FEATUREcsk4JRUSW'],
],
'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' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c82e6987e2961451182edacd74faf****', 'title' => ''],
],
[
- 'name' => 'clusterType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The cluster type.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ManagedKubernetes',
- 'title' => '集群类型。',
- ],
+ 'name' => 'nodepoolId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => false, 'example' => 'np7c4fa4a5f1ce412b84967089****', 'title' => ''],
],
[
- 'name' => 'resource_group_id',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'type' => 'array',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
'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',
- ],
+ 'name' => ['title' => '', 'description' => 'The name of the node component.', 'type' => 'string', 'example' => 'kubelet', 'required' => false],
+ 'version' => ['title' => '', 'description' => 'The version of the node component.', 'type' => 'string', 'example' => '1.28.9-aliyun.1', 'required' => false],
+ 'config' => [
+ 'title' => '',
+ 'description' => 'The node component configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'customConfig' => [
+ 'title' => '',
+ 'description' => 'The custom configuration of the component.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '组件配置', 'type' => 'any', 'example' => 'cpuCFSQuota', 'title' => ''],
+ 'example' => '{"cpuManagerPolicy":"static"}',
],
],
- 'index' => 200,
- 'itemName' => 'clusterDetail',
+ 'required' => false,
+ 'example' => '',
],
- ],
- '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',
- ],
- ],
+ 'disableRolling' => ['title' => '', 'description' => 'Specifies whether to disable rolling updates. Default value: false. When set to false, updating the baseline configuration triggers a rolling update of nodes.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => ''],
+ 'nodeNames' => [
+ 'title' => '',
+ 'description' => 'The list of nodes to be included in the rolling update. By default, all nodes are included.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The node name.', 'type' => 'string', 'example' => 'cn-hangzhou.10.91.xx.xx', 'required' => false],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'rollingPolicy' => [
+ 'title' => '',
+ 'description' => 'The rolling update configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'maxParallelism' => ['title' => '', 'description' => 'The maximum number of nodes that can be updated in parallel per batch. Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'required' => false],
+ 'pausePolicy' => [
+ 'title' => '',
+ 'description' => 'The automatic pause policy during the node upgrade process.',
+ 'type' => 'string',
+ 'example' => 'NotPause',
+ 'default' => 'NotPause',
+ 'enum' => ['NotPause', 'FirstBatch', 'EveryBatch'],
+ 'required' => false,
],
+ 'batchInterval' => ['title' => '', 'description' => 'The interval between batches during the upgrade, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'default' => '0', 'required' => false],
],
- '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',
- ],
+ 'required' => false,
+ 'example' => '',
],
],
- ],
- ],
- '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',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据体。',
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'config' => [
- 'title' => 'kubeconfig内容。',
- 'type' => 'string',
- ],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '49511F2D-D56A-5C24-B9AE-C8491E09B***'],
+ 'taskId' => ['description' => 'The asynchronous task ID.', 'type' => 'string', 'example' => 'T-67d7ec016ce37c0106000***', 'title' => ''],
+ 'clusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****', 'title' => ''],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::DescribeClusterUserKubeconfig',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update node component',
+ 'summary' => 'Updates a node component.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateNodePoolComponent',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- 'responseDemo' => null,
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"49511F2D-D56A-5C24-B9AE-C8491E09B***\\",\\n \\"taskId\\": \\"T-67d7ec016ce37c0106000***\\",\\n \\"clusterId\\": \\"c82e6987e2961451182edacd74faf****\\"\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'UpdateResourcesDeleteProtection' => [
+ 'summary' => 'Updates the deletion protection status of a specified resource. Currently supported resource types include namespaces and services.'."\n"
+ .'You can call this operation to enable deletion protection for namespaces or services that involve critical business or sensitive data to avoid maintenance costs caused by accidental deletion.',
+ 'path' => '/clusters/{ClusterId}/resources/protection',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => true,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '198784',
+ 'abilityTreeNodes' => ['FEATUREcskCWOUHM', 'FEATUREcskEUXDVA'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c106f377e16f34eb1808d6b9362c9****',
- ],
+ 'schema' => ['description' => 'The ID of the cluster to which the resource belongs.', 'type' => 'string', 'required' => true, 'example' => 'c850429a2287b4d968e27e87a4921****', 'title' => ''],
],
[
- 'name' => 'ComponentId',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'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',
+ 'description' => 'The target resource to update.',
+ 'type' => 'object',
+ 'properties' => [
+ 'namespace' => ['description' => 'The namespace of the resource.'."\n"
+ ."\n"
+ .'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
+ 'resource_type' => [
+ 'description' => 'The type of resource to update. Valid values:'."\n"
+ ."\n"
+ .'- namespaces: namespace.'."\n"
+ ."\n"
+ .'- services: service.',
+ 'enumValueTitles' => [],
+ 'type' => 'string',
+ 'docRequired' => true,
+ 'enum' => ['services', 'namespaces'],
+ 'required' => true,
+ 'example' => 'services',
+ 'title' => '',
+ ],
+ 'resources' => [
+ 'description' => 'The list of target resources.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The name of the target resource.'."\n"
+ ."\n"
+ .'- If resource_type is set to namespaces, set this parameter to the namespace name.'."\n"
+ .'- If resource_type is set to services, set this parameter to the service name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'enable' => [
+ 'description' => 'Specifies whether to enable deletion protection for the resource. Valid values:'."\n"
+ ."\n"
+ .'- true: Enables deletion protection. After deletion protection is enabled, you must manually disable deletion protection before you can delete the specified resource.'."\n"
+ ."\n"
+ .'- false: Disables deletion protection.'."\n"
+ ."\n"
+ .'Default value: false.',
+ 'enumValueTitles' => [],
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '组件升级状态',
- 'description' => 'The response body.'."\n",
+ 'title' => '',
+ 'description' => 'The response data.',
'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',
- ],
- ],
- ],
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0527ac9a-c899-4341-a21a-xxxxxxxxx'],
+ 'namespace' => ['description' => 'The namespace of the resource.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'resource_type' => [
+ 'description' => 'The resource type.',
+ 'enumValueTitles' => [],
+ 'type' => 'string',
+ 'example' => 'namespaces',
+ 'title' => '',
+ ],
+ 'resources' => [
+ 'description' => 'The list of resources for which the deletion protection status is updated.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The name of the resource for which the deletion protection status is updated.', 'type' => 'string', 'example' => 'test1', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'protection' => [
+ 'description' => 'The deletion protection status of the resource.',
+ 'enumValueTitles' => ['enable' => 'Deletion protection enabled.', 'disable' => 'Deletion protection disabled.'],
+ 'type' => 'string',
+ 'example' => 'enable',
+ 'title' => '',
],
- 'description' => 'The details of the upgrade progress of the queried component.'."\n",
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::GetClusterAddonInstance',
+ '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' => 'Update the deletion protection status of a specified resource',
+ 'description' => 'Before calling this operation, install or upgrade the security policy component for the cluster. For more information, see [Enable security policy management](~~359818~~).',
+ 'extraInfo' => 'In addition to calling this operation, you can also update the deletion protection policy for namespaces or services in the console. For more information, see [Security policy management](~~359818~~).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateResourcesDeleteProtection'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateResourcesDeleteProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
],
],
- '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',
+ 'translator' => 'machine',
],
- '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',
- ],
+ 'UpdateTemplate' => [
+ 'summary' => 'An orchestration template defines and describes a set of Kubernetes cluster resources in a declarative manner, specifying how applications should run or be configured. Calls the UpdateTemplate operation to update an orchestration template configuration.',
+ 'path' => '/templates/{TemplateId}',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => true,
- 'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '413',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'clusterId',
+ 'name' => 'TemplateId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => 'The cluster ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c82e6987e2961451182edacd74faf****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The template ID.', 'type' => 'string', 'required' => true, 'example' => '72d20cf8-a533-4ea9-a10d-e7630d******'],
],
[
- 'name' => 'componentId',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
'schema' => [
- 'title' => '组件ID。',
- 'description' => 'The component ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'metric-server',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'description' => ['title' => '', 'description' => 'The description of the deployment template.', 'type' => 'string', 'required' => false, 'example' => 'web server cluster'],
+ 'name' => ['title' => '', 'description' => 'The name of the deployment template.', 'type' => 'string', 'required' => false, 'example' => 'webserver01'],
+ 'tags' => ['title' => '', 'description' => 'The tags of the deployment template.', 'type' => 'string', 'required' => false, 'example' => 'web'],
+ 'template' => ['title' => '', 'description' => 'The template content in YAML format.', '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 templatetype.'."\n"
+ ."\n"
+ .'- If you set this parameter to `kubernetes`, the template is displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'- If you leave this parameter empty or set it to other values, the template is not displayed on the Orchestration Templates page in the console.'."\n"
+ ."\n"
+ .'Settings this parameter to `kubernetes` is recommended.', 'type' => 'string', 'required' => false, 'example' => 'kubernetes'],
+ ],
+ 'required' => false,
+ 'example' => 'webserver01',
],
],
],
'responses' => [
200 => [],
- '5XX' => [],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::CancelTask',
- ],
],
+ 'staticInfo' => [],
'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',
+ 'title' => 'Update an orchestration template',
+ 'changeSet' => [
+ ['createdAt' => '2022-09-19T04:26:27.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplate'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateTemplate',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'UpdateUserPermissions' => [
+ 'summary' => 'In an ACK cluster, non-cluster creators, Resource Access Management (RAM) users, and RAM roles have no RBAC permissions by default. You can invoke the UpdateUserPermissions operation to update the RBAC access permissions of a RAM user or role, including accessible resources, permission scope, and preset role types, to better manage cluster management and secure access control.',
+ 'path' => '/permissions/users/{uid}/update',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => true,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
+ 'operationType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '408',
- 'abilityTreeNodes' => [
- 'FEATUREcskT7MN2U',
- ],
+ 'abilityTreeCode' => '213870',
+ 'abilityTreeNodes' => ['FEATUREcskM5ADAN'],
],
'parameters' => [
[
- 'name' => 'Id',
+ 'name' => 'uid',
'in' => 'path',
+ 'schema' => ['description' => 'The ID of the Resource Access Management (RAM) user or RAM role.', 'type' => 'string', 'required' => false, 'example' => '2367****', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'cluster' => ['description' => 'The ID of the target cluster for authorization.'."\n"
+ ."\n"
+ .'If the `role_type` parameter is set to `all-clusters`, you do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'c796c60***', 'title' => ''],
+ 'is_custom' => ['description' => 'Specifies whether the authorization is a custom authorization (the `role_name` uses a custom ClusterRole name).'."\n"
+ ."\n"
+ .'- true: The authorized role is a custom cluster role.'."\n"
+ ."\n"
+ .'- false: The authorized role is a cluster preset role.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'role_name' => ['description' => 'The name of the preset role. 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"
+ .'- A custom ClusterRole name.'."\n"
+ ."\n\n"
+ .'> - `admin`, `admin-view`, `ops`: These roles cannot be granted at the **namespace** level.'."\n"
+ .'> - `admin-view`: This role cannot be granted at the **all-clusters** level.', 'type' => 'string', 'required' => false, 'example' => 'ops', 'title' => ''],
+ 'role_type' => ['description' => 'The authorization type. Valid values:'."\n"
+ ."\n"
+ .'- `cluster`: cluster level.'."\n"
+ .'- `namespace`: namespace level.'."\n"
+ .'- `all-clusters`: all-clusters level.', 'type' => 'string', 'required' => false, 'example' => 'cluster', 'title' => ''],
+ 'namespace' => ['description' => 'The namespace name. This parameter is empty by default for cluster-level authorization.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'is_ram_role' => ['description' => 'Specifies whether the authorization is for a RAM role.'."\n"
+ ."\n"
+ .'- true: The authorization is for a RAM role.'."\n"
+ ."\n"
+ .'- false: The authorization is for a Resource Access Management (RAM) user.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'mode',
+ 'in' => 'query',
'schema' => [
- 'title' => '触发器ID。',
- 'description' => 'The ID of the application trigger.'."\n",
+ 'description' => 'The authorization mode. Valid values:'."\n"
+ ."\n"
+ .'- `apply`: full update. A full update overwrites all existing cluster permissions of the target RAM user or RAM role. The request must include all permission configurations that you want to grant to the target RAM user or RAM role.'."\n"
+ .'- `delete`: delete permissions. Only the cluster authorization information included in the request is deleted. Other cluster Resource Access Management (RAM) user or RAM role are not affected.'."\n"
+ .'- `patch`: add permissions. Only the cluster authorization information included in the request is added. Other cluster Resource Access Management (RAM) user or RAM role are not affected.'."\n"
+ ."\n"
+ .'Default value: `apply`.',
'type' => 'string',
- 'required' => true,
- 'example' => 'c5cdf7e3938bc4f8eb0e44b21a80f****',
+ 'enum' => ['delete', 'patch', 'apply'],
+ 'required' => false,
+ 'example' => 'apply',
+ 'title' => '',
],
],
],
'responses' => [
200 => [],
],
- 'staticInfo' => [
- 'substitutions' => [
- 'CS::2015-12-15::DeleteTrigger',
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ 'title' => 'Update RBAC permissions of a specified RAM user or role',
+ 'description' => 'You can update the cluster authorization information of a target Resource Access Management (RAM) user or RAM role by using full update or incremental update. A full update overwrites all existing cluster permissions of the target RAM user or RAM role. The request must include all permission configurations that you want to grant to the target RAM user or RAM role. An incremental update includes add and delete operations. Only the cluster authorization information included in the request is changed, and other cluster permissions of the RAM user or RAM role are not affected.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateUserPermissions'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
- 'title' => 'DeleteKubernetesTrigger',
+ 'translator' => 'machine',
],
- 'CreateAutoRepairPolicy' => [
- 'summary' => '查询自愈规则',
- 'path' => '/clusters/{cluster_id}/auto_repair_policies',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpgradeCluster' => [
+ 'summary' => 'To avoid potential security and stability risks of expired cluster versions and to use new features of the latest cluster versions, upgrade your clusters in accordance with the ACK cluster version release schedule. 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' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
+ 'operationType' => 'update',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeCode' => '484',
+ 'abilityTreeNodes' => ['FEATUREcskEUXDVA'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cb95aa626a47740afbf6aa099b650****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'c82e6987e2961451182edacd74faf****'],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '',
+ 'title' => '',
+ 'description' => 'The request body parameters.',
'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,
+ 'component_name' => ['title' => '', 'description' => '[This parameter is deprecated] No value is required.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'null'],
+ 'next_version' => ['title' => '', 'description' => 'The target version to which the cluster is upgraded.', 'type' => 'string', 'required' => false, 'example' => '1.32.1-aliyun.1'],
+ 'version' => ['title' => '', 'description' => '[This parameter is deprecated] Use the `next_version` parameter instead.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'null'],
+ 'master_only' => ['title' => '', 'description' => 'Specifies whether to upgrade only the control plane. Valid values:'."\n"
+ .'- true: upgrades only the control plane.'."\n"
+ .'- false: upgrades both the control plane and worker nodes.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true'],
+ 'rolling_policy' => [
+ 'description' => 'The rolling upgrade configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'max_parallelism' => ['description' => 'The maximum number of worker nodes that can be upgraded in parallel per batch.'."\n"
+ ."\n"
+ .'During the worker node upgrade, nodes are upgraded in batches based on the specified maximum parallelism. The number of nodes upgraded in each batch increases as follows: 1, 2, 4, 8, and so on until the maximum parallelism is reached. After the maximum parallelism is reached, each subsequent batch upgrades the maximum number of nodes.', 'type' => 'integer', 'format' => 'int32', 'deprecated' => true, 'required' => false, 'example' => '3', 'title' => ''],
],
+ 'deprecated' => true,
'required' => false,
- 'example' => '["np-xxx"]',
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'example' => 'k8s',
],
],
],
'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',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c82e6987e2961451182edacd74faf****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5faa48fb31b6b8078d00****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0527ac9a-c899-4341-a21a-****'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"c82e6987e2961451182edacd74faf****\\",\\n \\"task_id\\": \\"T-5faa48fb31b6b8078d00****\\",\\n \\"request_id\\": \\"0527ac9a-c899-4341-a21a-****\\"\\n}","type":"json"}]',
+ 'title' => 'Upgrade a cluster',
+ 'description' => 'After you successfully call the UpgradeCluster operation, the API returns the `task_id` of the upgrade task. You can manage the task by calling the following task API operations:'."\n"
+ ."\n"
+ .'- [Call DescribeTaskInfo to query task details](~~2667985~~)'."\n"
+ .'- [Call PauseTask to pause a running task](~~2667986~~)'."\n"
+ .'- [Call ResumeTask to resume a paused task](~~2667987~~)'."\n"
+ .'- [Call CancelTask to cancel a running task](~~2667988~~).'."\n"
+ ."\n"
+ .'><notice>Starting July 4, 2026, the request parameters rolling_policy and rolling_policy.max_parallelism will no longer take effect. Use [UpgradeClusterNodepool](~~2667922~~) to upgrade worker nodes instead. For more information about the changes, see [Notice on changes to ACK cluster management OpenAPI request and response parameters and OpenAPI deprecation](~~2932733~~).</notice>.',
+ 'changeSet' => [
+ ['createdAt' => '2025-09-11T11:44:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-08-14T06:56:23.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-12T01:58:59.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-09-07T03:23:13.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-01-06T11:42:11.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-01-04T02:12:49.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2022-09-19T04:26:27.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeCluster'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"E368C761-F8F6-4A36-9B58-BD53D5******\\",\\n \\"policy_id\\": \\"r-xxxxxxx\\"\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- 'DeleteAutoRepairPolicy' => [
- 'summary' => '查询自愈规则',
- 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
- 'methods' => [
- 'delete',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpgradeClusterAddons' => [
+ 'summary' => 'Upgrades the versions of cluster component instances so that you can benefit from the feature optimizations in the new versions.',
+ 'path' => '/clusters/{ClusterId}/components/upgrade',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '493',
+ 'abilityTreeNodes' => ['FEATUREcsk6XCUME'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c104d5d5f301c4e2a8ee578c37******',
- ],
+ 'schema' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cf4299b79b3e34226abfdc80a4bda****'],
],
[
- 'name' => 'policy_id',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'description' => '',
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The request parameters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The component information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'component_name' => ['title' => '', 'description' => 'The component name.', 'type' => 'string', 'required' => true, 'example' => 'coredns'],
+ 'next_version' => ['title' => '', 'description' => 'The target version to which you want to upgrade. You can call the `DescribeAddon` operation to query the versions to which the component can be upgraded.', 'type' => 'string', 'required' => true, 'example' => 'v1.11.3.5-5321daf49-aliyun'],
+ 'version' => ['title' => '', 'description' => 'The current component version.', 'type' => 'string', 'required' => false, 'example' => 'v1.11.3.2-f57ea7ed6-aliyun'],
+ 'config' => ['title' => '', 'description' => 'The custom parameters of the component, encoded as a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{"CpuRequest":"800m"}'],
+ 'policy' => ['title' => '', 'description' => 'The component upgrade policy. Valid values:'."\n"
+ .'- overwrite: overwrites the existing version.'."\n"
+ .'- canary: performs a canary upgrade.', 'type' => 'string', 'required' => false, 'example' => 'canary'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'r-xxxxxx',
+ 'example' => '',
],
],
],
'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****',
- ],
+ 'cluster_id' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cf4299b79b3e34226abfdc80a4bda****'],
+ 'request_id' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'bfd12953-31cb-42f1-8a36-7b80ec34****'],
+ 'task_id' => ['title' => '', 'description' => 'The task ID.', 'type' => 'string', 'example' => 'T-62a944794ee141074400****'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cluster_id\\": \\"cf4299b79b3e34226abfdc80a4bda****\\",\\n \\"request_id\\": \\"bfd12953-31cb-42f1-8a36-7b80ec34****\\",\\n \\"task_id\\": \\"T-62a944794ee141074400****\\"\\n}","type":"json"}]',
+ 'title' => 'Upgrade cluster component instances',
+ 'description' => '- Upgrading cluster component instance versions may affect your services. Assess the impact before performing the upgrade during off-peak hours, and back up relevant data in advance.'."\n"
+ .'- Before upgrading a component, refer to [Component release notes](~~176087~~) to learn about the changes and their impact for the specified component.'."\n"
+ .'- Upgrade components one at a time. Confirm that one component has been upgraded successfully before upgrading the next one.',
+ 'changeSet' => [
+ ['createdAt' => '2024-07-24T03:48:40.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-03-12T12:29:29.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterAddons'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeK8sComponents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"A9891419-D125-4D89-AFCA-68846675****\\"\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- 'ModifyAutoRepairPolicy' => [
- 'summary' => '查询自愈规则',
- 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
- 'methods' => [
- 'put',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpgradeClusterNodepool' => [
+ 'path' => '/clusters/{ClusterId}/nodepools/{NodepoolId}/upgrade',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
+ 'operationType' => 'update',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'abilityTreeNodes' => ['FEATUREcsk4HGX7D'],
],
'parameters' => [
[
- 'name' => 'cluster_id',
+ 'name' => 'ClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c68deb844dc6d480eb775be611fdf****',
- ],
+ 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c106f377e16f34eb1808d6b9362c9****', 'title' => ''],
],
[
- 'name' => 'policy_id',
+ 'name' => 'NodepoolId',
'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'r-xxxxxx',
- ],
+ 'schema' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'np31da1b38983f4511b490fc62108a****', 'title' => ''],
],
[
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '',
+ 'description' => 'The request parameters.',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => '',
- 'type' => 'string',
+ 'image_id' => ['title' => '', 'description' => 'The system image ID of the node.', 'type' => 'string', 'required' => false, 'example' => 'aliyun_3_x64_20G_container_optimized_20241226.vhd'],
+ 'runtime_version' => ['title' => '', 'description' => 'The runtime version of the node. You can call [DescribeKubernetesVersionMetadata](~~2667899~~) to obtain the runtime version information from the runtime field.', 'type' => 'string', 'required' => false, 'example' => '1.6.36'],
+ 'kubernetes_version' => ['title' => '', 'description' => 'The Kubernetes version of the node. You can call [DescribeKubernetesVersionMetadata](~~2667899~~) to obtain the current cluster version information from the `KubernetesVersion` field.', 'type' => 'string', 'required' => false, 'example' => '1.32.1-aliyun.1'],
+ 'runtime_type' => ['description' => 'The runtime type. You can call [DescribeKubernetesVersionMetadata](~~2667899~~) to obtain the runtime information from the runtime field.', 'type' => 'string', 'required' => false, 'example' => 'containerd', 'title' => ''],
+ 'use_replace' => ['description' => 'Specifies whether to use system cloud disk replacement for the upgrade. Valid values:'."\n"
+ .'- true: Uses system cloud disk replacement to upgrade the node pool. ACK reinitializes the nodes based on the current node pool configurations, such as the logon method, labels, taints, operating system image, and runtime version.'."\n"
+ .'- false: Does not use system cloud disk replacement.'."\n"
+ ."\n"
+ .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'rolling_policy' => [
+ 'title' => '',
+ 'description' => 'The rolling update configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'pause_policy' => [
+ 'title' => '',
+ 'description' => 'The automatic pause policy during node upgrades. Valid values:'."\n"
+ .'- FirstBatch: pauses after the first batch is complete.'."\n"
+ .'- EveryBatch: pauses after each batch is complete.'."\n"
+ .'- NotPause: does not pause.',
+ 'type' => 'string',
+ 'required' => false,
+ 'default' => 'NotPause',
+ 'enum' => ['FirstBatch', 'EveryBatch', 'NotPause'],
+ 'example' => 'NotPause',
+ ],
+ 'batch_interval' => ['title' => '', 'description' => 'The interval between batches during the upgrade. This parameter takes effect only when the pause policy is set to `NotPause`.'."\n"
+ ."\n"
+ .'Valid values: [5,120]. Unit: minutes.'."\n"
+ ."\n"
+ .'You can set this parameter to 0 to specify no interval between batches.', 'type' => 'integer', 'format' => 'int32', 'default' => '0', 'required' => false, 'example' => '5'],
+ 'max_parallelism' => ['title' => '', 'description' => 'The maximum number of nodes that can be updated in parallel per batch. Nodes in the node pool are updated in batches.'."\n"
+ ."\n"
+ .'Valid values: [1,10].'."\n"
+ ."\n"
+ .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'default' => '10', 'required' => false, 'example' => '2'],
+ ],
'required' => false,
- 'example' => 'test',
+ 'example' => '',
],
- 'rules' => [
- 'description' => '',
+ 'node_names' => [
+ 'title' => '',
+ 'description' => 'The list of nodes to upgrade. If this parameter is not specified, all nodes in the node pool are upgraded.',
'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,
- ],
+ 'items' => ['title' => '', 'description' => 'The node name, which serves as the node identifier within the cluster.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing.10.180.xx.xx'],
'required' => false,
+ 'example' => '',
],
+ 'ignore_warning_check' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'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******',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518944****', 'title' => ''],
+ 'task_id' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'T-5fd211e924e1d0078700****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ '5XX' => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'Upgrade a node pool',
+ 'summary' => 'Upgrades the kubelet version (which should match the control plane version), operating system version, or container runtime version of a specified cluster node pool.',
+ 'description' => 'Upgrades the Kubernetes version, operating system version, or container runtime version of nodes in a specified cluster node pool. After you call the UpgradeClusterNodepool operation, the API returns a task_id for the upgrade task. You can manage the task by calling the following task API operations:'."\n"
+ ."\n"
+ .'- [Call DescribeTaskInfo to query task details](~~2667985~~)'."\n"
+ .'- [Call PauseTask to pause a running task](~~2667986~~)'."\n"
+ .'- [Call ResumeTask to resume a paused task](~~2667987~~)'."\n"
+ .'- [Call CancelTask to cancel a running task](~~2667988~~).',
+ 'changeSet' => [
+ ['createdAt' => '2024-02-28T08:00:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-02-06T02:55:58.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-04-27T03:07:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-12-23T02:02:38.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterNodepool'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => '容器服务'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeClusterNodepool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"request_id\\": \\"db82195b-75a8-40e5-9be4-16f182******\\"\\n}","type":"json"}]',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518944****\\",\\n \\"task_id\\": \\"T-5fd211e924e1d0078700****\\"\\n}","type":"json"}]',
],
- 'DescribeAutoRepairPolicy' => [
- 'summary' => '查询自愈规则',
- 'path' => '/clusters/{cluster_id}/auto_repair_policies/{policy_id}',
- 'methods' => [
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-northeast-1.aliyuncs.com', 'endpoint' => 'cs.ap-northeast-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-northeast-2.aliyuncs.com', 'endpoint' => 'cs.ap-northeast-2.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-northeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cs.ap-southeast-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-southeast-2.aliyuncs.com', 'endpoint' => 'cs.ap-southeast-2.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-southeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-southeast-3.aliyuncs.com', 'endpoint' => 'cs.ap-southeast-3.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-southeast-5.aliyuncs.com', 'endpoint' => 'cs.ap-southeast-5.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.ap-southeast-7.aliyuncs.com', 'endpoint' => 'cs.ap-southeast-7.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-southeast-7.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-beijing.aliyuncs.com', 'endpoint' => 'cs.cn-beijing.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-chengdu.aliyuncs.com', 'endpoint' => 'cs.cn-chengdu.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-fuzhou.aliyuncs.com', 'endpoint' => 'cs.cn-fuzhou.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-fuzhou.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-guangzhou.aliyuncs.com', 'endpoint' => 'cs.cn-guangzhou.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-guangzhou.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-hangzhou.aliyuncs.com', 'endpoint' => 'cs.cn-hangzhou.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-heyuan.aliyuncs.com', 'endpoint' => 'cs.cn-heyuan.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-heyuan.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-hongkong.aliyuncs.com', 'endpoint' => 'cs.cn-hongkong.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-huhehaote.aliyuncs.com', 'endpoint' => 'cs.cn-huhehaote.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-nanjing.aliyuncs.com', 'endpoint' => 'cs.cn-nanjing.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-nanjing.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-qingdao.aliyuncs.com', 'endpoint' => 'cs.cn-qingdao.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-shanghai.aliyuncs.com', 'endpoint' => 'cs.cn-shanghai.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-shenzhen.aliyuncs.com', 'endpoint' => 'cs.cn-shenzhen.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'cs.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-wuhan-lr.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'cs.cn-wulanchabu.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'cs.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cs.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'cs.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-zhengzhou-jva.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.us-west-1.aliyuncs.com', 'endpoint' => 'cs.us-west-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.us-southeast-1.aliyuncs.com', 'endpoint' => 'cs.us-southeast-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.us-southeast-1.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.us-east-1.aliyuncs.com', 'endpoint' => 'cs.us-east-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.na-south-1.aliyuncs.com', 'endpoint' => 'cs.na-south-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.na-south-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.eu-west-1.aliyuncs.com', 'endpoint' => 'cs.eu-west-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cs.eu-central-1.aliyuncs.com', 'endpoint' => 'cs.eu-central-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cs.me-east-1.aliyuncs.com', 'endpoint' => 'cs.me-east-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.me-east-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cs.me-central-1.aliyuncs.com', 'endpoint' => 'cs.me-central-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cs.ap-south-1.aliyuncs.com', 'endpoint' => 'cs.ap-south-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.ap-south-1.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu-gic-1', 'regionName' => 'China (Ulanqab) GIC', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-wulanchabu-gic-1.aliyuncs.com', 'endpoint' => 'cs.cn-wulanchabu-gic-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-wulanchabu-gic-1.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'cs.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'cs.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-shanghai-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'cs.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-heyuan-acdr-1.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'cs.cn-hangzhou-finance.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-hangzhou-finance.aliyuncs.com'],
+ ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cs.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'cs.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'cs-anony-vpc.cn-beijing-finance-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => '400', 'message' => 'Invalid request parameters.', 'http_code' => 400, 'description' => ''],
+ ['code' => '422', 'message' => 'Some parameters are invalid in your request.', 'http_code' => 422, 'description' => ''],
+ ['code' => 'AddonNotFound', 'message' => 'Failed to find addon %s', 'http_code' => 404, 'description' => 'Component not found.'],
+ ['code' => 'APISERVER.403', 'message' => 'You are not authorized to perform this operation. Contact the Alibaba Cloud account owner or permission administrator for authorization.', 'http_code' => 403, 'description' => ''],
+ ['code' => 'DependencyViolation.Resource', 'message' => 'Dependency verification failed.', 'http_code' => 400, 'description' => '依赖校验失败'],
+ ['code' => 'DocumentConvertFailed.ExceedFileSizeLimit', 'message' => 'The conversion has been failed, exceed file size limit.', 'http_code' => 400, 'description' => '文档转换失败,文件大小超过系统限额。 '],
+ ['code' => 'EntityNotExist.Role', 'message' => 'The specified RAM role does not exist.', 'http_code' => 400, 'description' => 'Ram角色不存在。 '],
+ ['code' => 'ErrorClusterNameAlreadyExist', 'message' => 'The cluster name already exists.', 'http_code' => 200, 'description' => 'Cluster name already exists. Modify the name and try again.'],
+ ['code' => 'ErrorClusterNotFound', 'message' => 'The specified cluster does not exist.', 'http_code' => 200, 'description' => 'Cluster not found.'],
+ ['code' => 'ErrorClusterProtection', 'message' => 'Cluster in the deletion protection', 'http_code' => 400, 'description' => '集群开启了删除保护'],
+ ['code' => 'ErrorQueryCluster', 'message' => 'cluster (cluster_id) not found in our records', 'http_code' => 404, 'description' => '账号在当前region查询不到该集群'],
+ ['code' => 'ErrorQueryCluster', 'message' => 'The specified cluster does not exist. Return to the Clusters page and select another cluster.', 'http_code' => 200, 'description' => 'Cluster not found. Return to the Clusters page and select another cluster.'],
+ ['code' => 'Forbidden.Unauthorized', 'message' => 'You have no permission to perform this operation. Contact the Alibaba Cloud account owner or an authorized RAM user to request permission.', 'http_code' => 401, 'description' => 'Not authorized to perform this operation. Contact owner of the Alibaba Cloud account or the permission administrator to grant the required permissions.'],
+ ['code' => 'ForbiddenRotateCert', 'message' => 'Forbidden open runtime security center without admin permission', 'http_code' => 403, 'description' => '禁止非管理员权限的账号开放运行时安全中心'],
+ ['code' => 'InvalidClusterStatus.Forbidden', 'message' => 'cannot operate cluster where state is <deleting | updating | scaling>', 'http_code' => 400, 'description' => '禁止操作状态迁移中的集群'],
+ ['code' => 'InvalidClusterStatus.Forbidden', 'message' => 'You cannot perform the specified operation on the cluster in its current status. Try again when the cluster is in running status.', 'http_code' => 200, 'description' => 'Cluster state not supported. Wait until the cluster is in the running state and try again.'],
+ ['code' => 'InvalidParameter.Name', 'message' => 'The specified name already exists. Modify the name and try again.', 'http_code' => 200, 'description' => 'Name already exists. Modify the name and try again.'],
+ ['code' => 'InvalidStatus.Forbidden', 'message' => 'The operation is not allowed in the current cluster status. Wait until the cluster is in the running state and try again.', 'http_code' => 401, 'description' => 'Cluster state not supported. Wait until the cluster is in the running state and try again.'],
+ ['code' => 'InvalidUserData.SizeExceeded', 'message' => 'The length of the node user data exceeds the upper limit. Maximum value: 3 KB.', 'http_code' => 200, 'description' => 'The length of the node user data exceeds the upper limit. Maximum value: 3 KB.'],
+ ['code' => 'ProxyUrlError', 'message' => 'The cluster endpoint is currently unavailable. Try again later or submit a ticket.', 'http_code' => 404, 'description' => 'The console is currently inaccessible. Please try again later. You can use Kubectl to perform the operation. If the issue persists, submit a ticket.'],
+ ['code' => 'QuotaExceeded.Cluster', 'message' => 'cluster quota exceeded.', 'http_code' => 200, 'description' => 'The maximum number of clusters is reached. Submit a ticket to increase the quota.'],
+ ['code' => 'QuotaExceeded.Eip', 'message' => 'You cannot create more EIP instances. Remove unnecessary EIP instances or submit a ticket to increase the quota.', 'http_code' => 200, 'description' => 'The maximum number of EIPs is reached. Release some EIPs or submit a ticket to increase the quota.'],
+ ['code' => 'QuotaExceeded.Vpc', 'message' => 'You cannot create more VPC instances. Remove unnecessary VPC instances or submit a ticket to increase the quota.', 'http_code' => 200, 'description' => 'The maximum number of VPCs is reached. Release some VPCs or submit a ticket to increase the quota.'],
+ ['code' => 'QuotaExceeded.VPCRouteEntry', 'message' => 'The number of VPC route entries has reached the upper limit. Submit a ticket to raise the quota.', 'http_code' => 200, 'description' => 'The maximum number of VPC route entries is reached. Submit a ticket to increase the quota.'],
+ ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => '由于短暂异常,服务暂时不可用。 '],
+ ['code' => 'StatusForbidden', 'message' => 'RAM policy Forbidden for action xxx.', 'http_code' => 403, 'description' => '没有某个API的RAM权限'],
+ ['code' => 'Throttling.User', 'message' => 'You have made too many frequent requests. Try again later.', 'http_code' => 401, 'description' => 'Too many requests. Try again later.'],
+ ],
+ 'changeSet' => [
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAutoRepairPolicy'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeAutoRepairPolicy'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAutoRepairPolicies'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyAutoRepairPolicy'],
+ ],
+ 'createdAt' => '2026-02-26T07:38:19.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2026-01-29T06:45:47.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyNodePoolNodeConfig'],
],
- 'schemes' => [
- 'https',
+ 'createdAt' => '2026-01-27T10:01:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
],
- 'security' => [
- [
- 'AK' => [],
- ],
+ 'createdAt' => '2026-01-26T09:10:23.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListClusterKubeconfigStates'],
],
- 'consumes' => [
- 'application/json',
+ 'createdAt' => '2026-01-19T09:33:18.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterDetail'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
],
- 'produces' => [
- 'application/json',
+ 'createdAt' => '2026-01-08T09:34:13.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListClusterKubeconfigStates'],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'createdAt' => '2026-01-07T11:35:38.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListClusterKubeconfigStates'],
],
- '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',
- ],
- ],
+ 'createdAt' => '2026-01-07T10:29:57.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterAttachScripts'],
],
- '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',
- ],
- ],
- ],
- ],
+ 'createdAt' => '2025-12-01T03:08:58.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListOperationPlansForRegion'],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'createdAt' => '2025-11-25T12:31:09.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
],
- '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"}]',
+ 'createdAt' => '2025-11-25T12:01:23.000Z',
+ 'description' => '',
],
- 'ListAutoRepairPolicies' => [
- 'summary' => '查询自愈规则',
- 'path' => '/clusters/{cluster_id}/auto_repair_policies',
- 'methods' => [
- 'get',
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2025-11-24T09:15:41.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
],
- 'schemes' => [
- 'https',
+ 'createdAt' => '2025-11-05T06:00:10.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribePolicyGovernanceInCluster'],
],
- 'security' => [
- [
- 'AK' => [],
- ],
+ 'createdAt' => '2025-10-30T09:33:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterAttachScripts'],
],
- 'consumes' => [
- 'application/json',
+ 'createdAt' => '2025-02-20T08:11:46.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyNodePoolNodeConfig'],
],
- 'produces' => [
- 'application/json',
+ 'createdAt' => '2025-02-18T10:18:36.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'RepairClusterNodePool'],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREcskEUXDVA',
- ],
+ 'createdAt' => '2025-02-18T07:26:46.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAutoscalingConfig'],
],
- 'parameters' => [
- [
- 'name' => 'cluster_id',
- 'in' => 'path',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ce0da5a1d627e4e9e9f96cae8ad07****',
- ],
- ],
+ 'createdAt' => '2025-01-10T09:55:12.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListOperationPlans'],
],
- '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' => '',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'createdAt' => '2024-12-30T10:58:34.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterTags'],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'createdAt' => '2024-12-18T02:00:22.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'GetClusterDiagnosisCheckItems'],
+ ['description' => 'Request parameters changed', 'api' => 'GetClusterDiagnosisResult'],
],
- '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"}]',
+ 'createdAt' => '2024-12-13T10:05:26.000Z',
+ 'description' => '',
],
- ],
- 'endpoints' => [
[
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'cs.cn-qingdao.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'InstallClusterAddons'],
+ ['description' => 'Response parameters changed', 'api' => 'UnInstallClusterAddons'],
+ ],
+ 'createdAt' => '2024-12-12T12:52:42.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'cs.cn-beijing.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterV2UserKubeconfig'],
+ ],
+ 'createdAt' => '2024-12-05T09:59:18.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'cs.cn-zhangjiakou.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateAutoscalingConfig'],
+ ],
+ 'createdAt' => '2024-12-05T07:30:38.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'cs.cn-zhengzhou-jva.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2024-12-05T02:35:24.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'cs.cn-huhehaote.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterAttachScripts'],
+ ],
+ 'createdAt' => '2024-11-25T11:13:47.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'cs.cn-wulanchabu.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterDetail'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2024-11-19T11:50:41.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'cs.cn-hangzhou.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ],
+ 'createdAt' => '2024-11-05T11:32:45.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'cs.cn-shanghai.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribePolicyInstances'],
+ ],
+ 'createdAt' => '2024-10-23T05:54:51.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-nanjing',
- 'endpoint' => 'cs.cn-nanjing.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClustersV1'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2024-10-18T06:19:44.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-fuzhou',
- 'endpoint' => 'cs.cn-fuzhou.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClustersV1'],
+ ],
+ 'createdAt' => '2024-10-15T08:44:55.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'cs.cn-shenzhen.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'createdAt' => '2024-09-27T01:50:53.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'cs.cn-heyuan.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2024-09-27T01:28:32.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'cs.cn-guangzhou.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'CancelOperationPlan'],
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterAddonInstance'],
+ ],
+ 'createdAt' => '2024-09-23T06:06:34.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'cs.cn-chengdu.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2024-09-13T09:40:27.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wuhan-lr',
- 'endpoint' => 'cs.cn-wuhan-lr.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'CancelOperationPlan'],
+ ],
+ 'createdAt' => '2024-09-11T03:33:44.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'cs.cn-hongkong.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2024-09-11T02:31:21.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'cs.ap-northeast-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2024-09-04T02:19:02.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-northeast-2',
- 'endpoint' => 'cs.ap-northeast-2.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DeleteAlertContact'],
+ ],
+ 'createdAt' => '2024-08-17T14:14:54.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'cs.ap-southeast-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeSubaccountK8sClusterUserConfig'],
+ ],
+ 'createdAt' => '2024-08-15T02:08:00.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'cs.ap-southeast-2.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpgradeCluster'],
+ ],
+ 'createdAt' => '2024-08-14T06:56:49.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'cs.ap-southeast-3.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'GetClusterAuditProject'],
+ ],
+ 'createdAt' => '2024-08-06T03:59:32.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'cs.ap-southeast-5.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteAlertContact'],
+ ['description' => 'Request parameters changed', 'api' => 'DeleteAlertContactGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'StartAlert'],
+ ['description' => 'Request parameters changed', 'api' => 'StopAlert'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpdateContactGroupForAlert'],
+ ],
+ 'createdAt' => '2024-08-02T06:32:05.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'us-east-1',
- 'endpoint' => 'cs.us-east-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'UpgradeClusterAddons'],
+ ],
+ 'createdAt' => '2024-07-24T03:49:06.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'createdAt' => '2024-07-09T07:02:57.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'us-west-1',
- 'endpoint' => 'cs.us-west-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ],
+ 'createdAt' => '2024-07-09T03:49:30.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'cs.eu-west-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusters'],
+ ],
+ 'createdAt' => '2024-06-25T09:44:12.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'cs.eu-central-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeNodePoolVuls'],
+ ],
+ 'createdAt' => '2024-06-19T06:51:40.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-south-1',
- 'endpoint' => 'cs.ap-south-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2024-06-13T09:53:00.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'me-east-1',
- 'endpoint' => 'cs.me-east-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2024-06-13T02:59:57.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-hangzhou-finance',
- 'endpoint' => 'cs.cn-hangzhou-finance.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'RepairClusterNodePool'],
+ ],
+ 'createdAt' => '2024-05-27T09:36:19.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'cs.cn-shanghai-finance-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeKubernetesVersionMetadata'],
+ ],
+ 'createdAt' => '2024-05-14T12:54:25.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'cs.cn-shenzhen-finance-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DeleteCluster'],
+ ],
+ 'createdAt' => '2024-05-09T11:11:45.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-7',
- 'endpoint' => 'cs.ap-southeast-7.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'createdAt' => '2024-05-07T02:03:28.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'cs.cn-beijing-finance-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterDetail'],
+ ],
+ 'createdAt' => '2024-04-26T09:26:34.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'me-central-1',
- 'endpoint' => 'cs.me-central-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2024-04-24T03:00:20.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-heyuan-acdr-1',
- 'endpoint' => 'cs.cn-heyuan-acdr-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterAddonMetadata'],
+ ],
+ 'createdAt' => '2024-04-23T03:26:15.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'na-south-1',
- 'endpoint' => 'cs.na-south-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'createdAt' => '2024-04-22T08:24:56.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'us-southeast-1',
- 'endpoint' => 'cs.us-southeast-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2024-04-19T10:38:23.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wulanchabu-gic-1',
- 'endpoint' => 'cs.cn-wulanchabu-gic-1.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2024-04-19T09:59:34.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyNodePoolNodeConfig'],
+ ],
+ 'createdAt' => '2024-04-17T11:57:52.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListClusterChecks'],
+ ['description' => 'Request parameters changed', 'api' => 'RunClusterCheck'],
+ ],
+ 'createdAt' => '2024-03-14T07:51:48.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeClusterResources'],
+ ],
+ 'createdAt' => '2024-03-13T09:07:52.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'UpgradeClusterAddons'],
+ ],
+ 'createdAt' => '2024-03-12T12:29:53.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpgradeClusterNodepool'],
+ ],
+ 'createdAt' => '2024-02-28T08:00:15.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'StartAlert'],
+ ['description' => 'Request parameters changed', 'api' => 'StopAlert'],
+ ],
+ 'createdAt' => '2024-02-27T09:22:30.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DeleteAlertContact'],
+ ['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DeleteAlertContactGroup'],
+ ],
+ 'createdAt' => '2024-02-27T03:32:48.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeUserQuota'],
+ ],
+ 'createdAt' => '2024-02-26T06:07:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpgradeClusterNodepool'],
+ ],
+ 'createdAt' => '2024-02-06T02:56:19.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ['description' => 'Request parameters changed', 'api' => 'RemoveNodePoolNodes'],
+ ],
+ 'createdAt' => '2024-01-19T11:04:33.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CancelClusterUpgrade'],
+ ['description' => 'Response parameters changed', 'api' => 'UpgradeCluster'],
+ ],
+ 'createdAt' => '2024-01-12T01:59:23.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DeleteCluster'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2024-01-11T02:20:42.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'GrantPermissions'],
+ ['description' => 'Request parameters changed', 'api' => 'TagResources'],
+ ],
+ 'createdAt' => '2024-01-09T12:14:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DeleteCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'MigrateCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'UpdateControlPlaneLog'],
+ ],
+ 'createdAt' => '2023-12-25T11:05:06.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DeleteCluster'],
+ ['description' => 'Response parameters changed', 'api' => 'MigrateCluster'],
+ ],
+ 'createdAt' => '2023-12-25T06:22:52.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ['description' => 'Request parameters changed', 'api' => 'RemoveNodePoolNodes'],
+ ],
+ 'createdAt' => '2023-12-15T01:51:44.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DeleteClusterNodepool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2023-12-13T10:52:07.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClustersV1'],
+ ],
+ 'createdAt' => '2023-11-24T09:58:42.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClusterTasks'],
+ ],
+ 'createdAt' => '2023-11-23T02:21:01.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'FixNodePoolVuls'],
+ ],
+ 'createdAt' => '2023-11-20T07:30:14.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'RepairClusterNodePool'],
+ ],
+ 'createdAt' => '2023-11-14T12:16:35.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterResources'],
+ ],
+ 'createdAt' => '2023-10-20T09:37:13.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2023-10-18T11:21:54.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2023-10-17T08:45:50.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterResources'],
+ ],
+ 'createdAt' => '2023-10-11T03:07:27.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2023-10-10T11:58:57.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpgradeCluster'],
+ ],
+ 'createdAt' => '2023-09-07T03:23:37.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'CreateClusterNodePool'],
+ ],
+ 'createdAt' => '2023-09-01T09:11:51.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UnInstallClusterAddons'],
+ ],
+ 'createdAt' => '2023-08-24T12:24:06.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyNodePoolNodeConfig'],
+ ],
+ 'createdAt' => '2023-08-23T01:40:01.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2023-08-21T08:16:07.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyCluster'],
+ ],
+ 'createdAt' => '2023-08-18T02:12:37.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeExternalAgent'],
+ ],
+ 'createdAt' => '2023-08-14T06:23:10.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ],
+ 'createdAt' => '2023-08-08T06:17:28.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'AttachInstancesToNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'FixNodePoolVuls'],
+ ['description' => 'Response parameters changed', 'api' => 'RemoveNodePoolNodes'],
+ ['description' => 'Response parameters changed', 'api' => 'ScanClusterVuls'],
+ ],
+ 'createdAt' => '2023-07-21T03:53:21.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeKubernetesVersionMetadata'],
+ ],
+ 'createdAt' => '2023-07-18T04:58:51.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UntagResources'],
+ ],
+ 'createdAt' => '2023-07-05T02:34:45.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAutoscalingConfig'],
+ ],
+ 'createdAt' => '2023-06-02T08:03:08.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpgradeClusterNodepool'],
+ ],
+ 'createdAt' => '2023-04-27T03:07:21.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateK8sClusterUserConfigExpire'],
+ ],
+ 'createdAt' => '2023-03-28T07:06:31.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DeleteCluster'],
+ ],
+ 'createdAt' => '2023-03-24T08:21:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpgradeCluster'],
+ ],
+ 'createdAt' => '2023-01-06T11:42:47.000Z',
+ 'description' => '修改UpgradeCluster参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeNodePoolVuls'],
+ ],
+ 'createdAt' => '2023-01-05T11:28:34.000Z',
+ 'description' => '更新api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeNodePoolVuls'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpgradeCluster'],
+ ],
+ 'createdAt' => '2023-01-04T02:13:23.000Z',
+ 'description' => 'API发布',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeTemplates'],
+ ],
+ 'createdAt' => '2022-12-26T06:24:57.000Z',
+ 'description' => 'API更新',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'UpgradeClusterNodepool'],
+ ],
+ 'createdAt' => '2022-12-23T02:03:16.000Z',
+ 'description' => 'api更新',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed, Error codes changed', 'api' => 'StartAlert'],
+ ['description' => 'Response parameters changed, Error codes changed', 'api' => 'StopAlert'],
+ ],
+ 'createdAt' => '2022-12-19T02:21:26.000Z',
+ 'description' => '更新api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeAddons'],
+ ],
+ 'createdAt' => '2022-12-06T03:36:10.000Z',
+ 'description' => 'DescribeAddons增加参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DescribeUserQuota'],
+ ],
+ 'createdAt' => '2022-11-22T02:53:45.000Z',
+ 'description' => '发布API',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2022-11-07T04:06:24.000Z',
+ 'description' => '更新创建集群api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2022-09-23T02:51:30.000Z',
+ 'description' => '创建集群新增参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'RemoveNodePoolNodes'],
+ ],
+ 'createdAt' => '2022-09-21T07:00:18.000Z',
+ 'description' => '发布api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ResumeUpgradeCluster'],
+ ],
+ 'createdAt' => '2022-09-19T04:26:41.000Z',
+ 'description' => '添加旁路错误',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeNodePoolVuls'],
+ ],
+ 'createdAt' => '2022-08-30T13:21:22.000Z',
+ 'description' => 'DescribeNodePoolVuls增加返回字段',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ['description' => 'OpenAPI offline', 'api' => 'ModifyNodePoolNodeConfig'],
+ ],
+ 'createdAt' => '2022-08-30T09:59:58.000Z',
+ 'description' => '修改api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeTaskInfo'],
+ ],
+ 'createdAt' => '2022-08-24T07:44:34.000Z',
+ 'description' => 'DescribeTaskInfo返回数据结构增加部分字段',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CancelWorkflow'],
+ ['description' => 'Request parameters changed', 'api' => 'StartWorkflow'],
+ ],
+ 'createdAt' => '2022-08-12T07:55:48.000Z',
+ 'description' => 'workflow api 适配 ram鉴权。',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'MigrateCluster'],
+ ],
+ 'createdAt' => '2022-08-11T04:11:53.000Z',
+ 'description' => '接口更新',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2022-08-10T02:28:19.000Z',
+ 'description' => '发布api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeClusterTasks'],
+ ],
+ 'createdAt' => '2022-08-03T05:06:56.000Z',
+ 'description' => '添加API',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2022-08-02T05:08:46.000Z',
+ 'description' => '修改api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CancelTask'],
+ ['description' => 'Request parameters changed', 'api' => 'DescribeNodePoolVuls'],
+ ['description' => 'Request parameters changed', 'api' => 'PauseTask'],
+ ['description' => 'Request parameters changed', 'api' => 'ResumeTask'],
+ ],
+ 'createdAt' => '2022-07-21T12:22:16.000Z',
+ 'description' => '修改参数属性',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeClusterEvents'],
+ ],
+ 'createdAt' => '2022-06-07T11:37:55.000Z',
+ 'description' => '添加新api describeclusterevents',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CancelTask'],
+ ['description' => 'Request parameters changed', 'api' => 'PauseTask'],
+ ['description' => 'Request parameters changed', 'api' => 'ResumeTask'],
+ ],
+ 'createdAt' => '2022-05-23T11:39:43.000Z',
+ 'description' => '修正task接口参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeClusterResources'],
+ ],
+ 'createdAt' => '2022-05-23T07:20:31.000Z',
+ 'description' => '返回信息添加',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'RepairClusterNodePool'],
+ ],
+ 'createdAt' => '2022-04-27T09:07:12.000Z',
+ 'description' => '新增节点池修复API',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CancelTask'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeNodePoolVuls'],
+ ['description' => 'OpenAPI offline', 'api' => 'FixNodePoolVuls'],
+ ['description' => 'OpenAPI offline', 'api' => 'PauseTask'],
+ ['description' => 'OpenAPI offline', 'api' => 'ResumeTask'],
+ ],
+ 'createdAt' => '2022-04-27T09:07:10.000Z',
+ 'description' => '增加节点池CVE查询、修复API;增加集群任务操作API',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DescribeClustersV1'],
+ ],
+ 'createdAt' => '2022-03-18T09:12:39.000Z',
+ 'description' => 'describeclusterv1接口添加region_id过滤',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterLogs'],
+ ],
+ 'createdAt' => '2022-03-18T09:12:02.000Z',
+ 'description' => '修改DescribeClusterLogs返回数据结构',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateK8sClusterUserConfigExpire'],
+ ],
+ 'createdAt' => '2022-02-24T09:22:09.000Z',
+ 'description' => 'user id required in UpdateK8sClusterUserConfigExpire',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateTemplate'],
+ ],
+ 'createdAt' => '2022-02-23T07:39:03.000Z',
+ 'description' => '开启API调用返回日志,以便于操作审计',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateK8sClusterUserConfigExpire'],
+ ],
+ 'createdAt' => '2022-02-21T06:56:22.000Z',
+ 'description' => 'update UpdateK8sClusterUserConfigExpire body',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DeployPolicyInstance'],
+ ],
+ 'createdAt' => '2022-02-21T02:55:10.000Z',
+ 'description' => '修复DeployPolicyInstance参数错误',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ['description' => 'Request parameters changed', 'api' => 'ModifyClusterNodePool'],
+ ],
+ 'createdAt' => '2022-01-07T09:30:19.000Z',
+ 'description' => '阿里云容器服务节点池支持期望节点数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateCluster'],
+ ],
+ 'createdAt' => '2022-01-05T03:22:06.000Z',
+ 'description' => '创建集群添加resource_group_id',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateClusterNodePool'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeClusterNodePools'],
+ ],
+ 'createdAt' => '2021-12-16T03:24:29.000Z',
+ 'description' => '节点池支持部署集',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ModifyPolicyInstance'],
+ ],
+ 'createdAt' => '2021-12-15T09:31:14.000Z',
+ 'description' => 'Fix ModifyPolicyInstance',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeletePolicyInstance'],
+ ['description' => 'Response parameters changed', 'api' => 'DeployPolicyInstance'],
+ ['description' => 'Response parameters changed', 'api' => 'ModifyPolicyInstance'],
+ ],
+ 'createdAt' => '2021-12-15T06:46:44.000Z',
+ 'description' => '修改节点池接口添加参数image_type',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RunClusterInspect'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContactGroupForAlert'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonMetadata'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeKubernetesVersionMetadata'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstances'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddon'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterLogs'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantPermissions'],
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListOperationPlansForRegion'],
+ ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusters'],
+ ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserPermission'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenAckService'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeUpgradeCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterInspectConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlertContactGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyGovernanceInCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterInspectConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterUserKubeconfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonUpgradeStatus'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAutoscalingConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateResourcesDeleteProtection'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RepairClusterNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SyncClusterNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseClusterUpgrade'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplate'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterTasks'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTemplateAttribute'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetClusterAuditProject'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterChecks'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CleanUserPermissions'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodes'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MigrateCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonsVersion'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicies'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallClusterAddons'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListOperationPlans'],
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersV1'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelClusterUpgrade'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartAlert'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterInspectReportDetail'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelTask'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterAddon'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstanceResources'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteKubernetesTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserQuota'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'],
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterVuls'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonsUpgradeStatus'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSubaccountK8sClusterUserConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'FixNodePoolVuls'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePolicyInstance'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterKubeconfigStates'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyDetails'],
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterTags'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetKubernetesTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterEvents'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckControlPlaneLogEnable'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachInstancesToNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterNodes'],
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ScanClusterVuls'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterDiagnosisCheckItems'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNodePoolNodeConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateClusterDiagnosis'],
+ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterAttachScripts'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUserKubeConfigStates'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterNodepool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEventsForRegion'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateKubernetesTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterAddonInstance'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterDetail'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseComponentUpgrade'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PauseTask'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlertContact'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrigger'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterDiagnosisResult'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterInspectReports'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateUserPermissions'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopAlert'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleClusterNodePool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodePoolDetail'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyInstances'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RunClusterCheck'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterAuditLogConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateControlPlaneLog'],
+ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAddons'],
+ ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'],
+ ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTemplates'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNodePoolVuls'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterInspectConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplate'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelOperationPlan'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelComponentUpgrade'],
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersForRegion'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterCheck'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExternalAgent'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CleanClusterUserPermissions'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterAddonInstance'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeComponentUpgrade'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTaskInfo'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeUserClusterNamespaces'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateKMSEncryption'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplate'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterInspectConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterAddons'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterNodepool'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePolicyInstancesStatus'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallClusterAddons'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterNodePools'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterV2UserKubeconfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeTask'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeK8sClusterKubeConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEvents'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveNodePoolNodes'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeResourcesDeleteProtection'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyPolicyInstance'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sClusterUserConfigExpire'],
+ ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckServiceRole'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployPolicyInstance'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetUpgradeStatus'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterResources'],
+ ],
+ 'product' => ['code' => 'csk', 'title' => 'CS'],
+ ],
+ 'ram' => [
+ 'productCode' => 'ACK',
+ 'productName' => 'Container Service for Kubernetes',
+ 'ramCodes' => ['cs'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [
+ [
+ 'name' => 'cs:EnableAddonLogtailDs',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether log component logtail-ds is enabled for the cluster'],
+ ],
+ [
+ 'name' => 'cs:EnableApiServerEip',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether API Server public network access is enabled for the cluster'],
+ ],
+ [
+ 'name' => 'cs:EnableSNAT',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether configuring SNAT for the cluster&#39;s VPC is allowed'],
+ ],
+ [
+ 'name' => 'cs:AddonNames',
+ 'schema' => ['type' => 'Array<String>', 'description' => 'Cluster component names, Example: [\\\\\\\\\\\\\\\\\\\\&quot;metrics-server\\\\\\\\\\\\\\\\\\\\&quot;,\\\\\\\\\\\\\\\\\\\\&quot;terway-eniip\\\\\\\\\\\\\\\\\\\\&quot;]'],
+ ],
+ [
+ 'name' => 'cs:ClusterType',
+ 'schema' => ['type' => 'String', 'description' => 'The type of the cluster'],
+ ],
+ [
+ 'name' => 'cs:ClusterSpec',
+ 'schema' => ['type' => 'String', 'description' => 'The specification of ACK managed cluster'],
+ ],
+ [
+ 'name' => 'cs:AddonName',
+ 'schema' => ['type' => 'String', 'description' => 'Cluster component name, Example: aliyun-acr-credential-helper,metrics-server'],
+ ],
+ [
+ 'name' => 'cs:EnableSecretEncryption',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether to enable secret encryption in the ACK cluster'],
+ ],
+ [
+ 'name' => 'cs:ClusterProfile',
+ 'schema' => ['type' => 'String', 'description' => 'Subtype identifier of ACK managed cluster'],
+ ],
+ [
+ 'name' => 'cs:ApiServerEipId',
+ 'schema' => ['type' => 'String', 'description' => 'The ID of the EIP that you want to associate with the cluster API server, Example: eip-2zep1n4o1ic48m3m****'],
+ ],
+ [
+ 'name' => 'cs:EnableNodePoolPublicIP',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether it is allowed to assign a public IPv4 address to each node in the cluster'],
+ ],
+ [
+ 'name' => 'cs:EnableCoreControlPlaneComponentsLog',
+ 'schema' => ['type' => 'Boolean', 'description' => 'Whether the core component log function of the control plane is enabled for the cluster'],
+ ],
+ [
+ 'name' => 'cs:KubeConfigDurationMinutes',
+ 'schema' => ['type' => 'Numeric', 'description' => 'The validity period of a temporary kubeconfig file. Unit: minutes'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'apiName' => 'DescribeEvents',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeEvents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'PauseTask',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:PauseTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListUserKubeConfigStates',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListUserKubeConfigStates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterDiagnosisCheckItems',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterDiagnosisCheckItems',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateClusterInspectConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RevokeK8sClusterKubeConfig',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:RevokeK8sClusterKubeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpgradeCluster',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpgradeClusterAddons',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeK8sComponents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterNodePoolDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodePoolDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterAuditProject',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterAuditProject',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeAutoRepairPolicy',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteClusterInspectConfig',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateK8sClusterUserConfigExpire',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateK8sClusterUserConfigExpire',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeUserPermission',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListClusterInspectReports',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterInspectReports',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CancelClusterUpgrade',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:CancelClusterUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeletePolicyInstance',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeletePolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeRegions',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeRegions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RunNodeOperation',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:RunNodeOperation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#clusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:ListTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeTemplateAttribute',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTemplateAttribute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:UntagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyAutoRepairPolicy',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateClusterNodePool',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UnInstallClusterAddons',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:UnInstallClusterAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableAddonLogtailDs', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'InstallNodePoolComponents',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:InstallNodePoolComponents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAttachScripts',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAttachScripts',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ResumeUpgradeCluster',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeUpgradeCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTrigger',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAutoRepairPolicies',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListAutoRepairPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAddons',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListAddons',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAddonsVersion',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:Queryk8sComponentsUpdateVersion',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOperationPlansForRegion',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListOperationPlansForRegion',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterDiagnosisResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterDiagnosisResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyPolicyInstance',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyPolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeKubernetesVersionMetadata',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeKubernetesVersionMetadata',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterEvents',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterEvents',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CleanUserPermissions',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CleanUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateKubernetesTrigger',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeAddon',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAddon',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SyncClusterNodePool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:SyncClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeNodePoolVuls',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeNodePoolVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateResourcesDeleteProtection',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateResourcesDeleteProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterInspectReportDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterInspectReportDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ScanClusterVuls',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ScanClusterVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTemplate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateClusterAuditLogConfig',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateClusterAuditLogConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyClusterAddon',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterAddon',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:AddonName', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:AddonNames'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterTasks',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterTasks',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusters',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpgradeClusterNodepool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpgradeClusterNodepool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAddonInstance',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetKubernetesTrigger',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateNodePoolComponent',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateNodePoolComponent',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePolicyDetails',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyDetails',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeTemplates',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTemplates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CheckServiceRole',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CheckServiceRole',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CleanClusterUserPermissions',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CleanClusterUserPermissions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CancelOperationPlan',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:CancelOperationPlan',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'PauseComponentUpgrade',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:PauseComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ResumeComponentUpgrade',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePolicies',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateAutoRepairPolicy',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CreateAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterUserKubeconfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterUserKubeconfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:KubeConfigDurationMinutes', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'StartAlert',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:StartAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GrantPermissions',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:GrantPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeSubaccountK8sClusterUserConfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeSubaccountK8sClusterUserConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CancelComponentUpgrade',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:CancelComponentUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAlertContactGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAlertContactGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterAddonInstance',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterAddonInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListClusterAddonInstances',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterAddonInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOperationPlans',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListOperationPlans',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateContactGroupForAlert',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateContactGroupForAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'StopAlert',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:StopAlert',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateTemplate',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateTemplate',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListClusterChecks',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterChecks',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeResourcesDeleteProtection',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeResourcesDeleteProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeUserQuota',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeUserQuota',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetUpgradeStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyClusterTags',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterTags',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterNodes',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeTrigger',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeTaskInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeTaskInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyCluster',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableApiServerEip', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ApiServerEipId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'InstallClusterAddons',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:InstallClusterAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:AddonNames'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RemoveNodePoolNodes',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:RemoveNodePoolNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterLogs',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterLogs',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterNodePools',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterNodePools',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'MigrateCluster',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:MigrateCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteClusterNodepool',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterNodepool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateKMSEncryption',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateKMSEncryption',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePolicyInstances',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachInstancesToNodePool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:AttachInstancesToNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateAutoscalingConfig',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateAutoscalingConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteCluster',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateControlPlaneLog',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateControlPlaneLog',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:EnableCoreControlPlaneComponentsLog', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClustersV1',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteTemplate',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CheckControlPlaneLogEnable',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:CheckControlPlaneLogEnable',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ResumeTask',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ResumeTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAddonUpgradeStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:QueryK8sComponentUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAlertContact',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAlertContact',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAddonsUpgradeStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonsUpgradeStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClustersForRegion',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClustersForRegion',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterAddonMetadata',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterAddonMetadata',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListClusterKubeconfigStates',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterKubeconfigStates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeEventsForRegion',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeEventsForRegion',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePolicyInstancesStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyInstancesStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteKubernetesTrigger',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteKubernetesTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterDetail',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CancelTask',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:CancelTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePolicyGovernanceInCluster',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribePolicyGovernanceInCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteClusterNodes',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteClusterNodes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyNodePoolNodeConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyNodePoolNodeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'FixNodePoolVuls',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:FixNodePoolVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteTrigger',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteTrigger',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterInspectConfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RunClusterCheck',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:RunClusterCheck',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ScaleClusterNodePool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ScaleClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateClusterDiagnosis',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterDiagnosis',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetClusterCheck',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:GetClusterCheck',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeExternalAgent',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeExternalAgent',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterVuls',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterVuls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RepairClusterNodePool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:RepairClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeAddons',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeAddons',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateCluster',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:ClusterType', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ClusterSpec', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:ClusterProfile', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableSecretEncryption', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableApiServerEip', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableAddonLogtailDs', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableCoreControlPlaneComponentsLog', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:AddonNames'],
+ ['conditionKey' => 'cs:EnableSNAT', 'validationType' => 'always'],
+ ['conditionKey' => 'cs:EnableNodePoolPublicIP', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:TagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeClusterV2UserKubeconfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeClusterV2UserKubeconfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'cs:KubeConfigDurationMinutes', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#clusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeUserClusterNamespaces',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DescribeUserClusterNamespaces',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListClusterAddonInstanceResources',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'cs:ListClusterAddonInstanceResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateClusterInspectConfig',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:CreateClusterInspectConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAutoRepairPolicy',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:DeleteAutoRepairPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeployPolicyInstance',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cs:DeployPolicyInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachInstances',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:AttachInstances',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyClusterNodePool',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:ModifyClusterNodePool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'PauseClusterUpgrade',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:PauseClusterUpgrade',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RunClusterInspect',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cs:RunClusterInspect',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'OpenAckService',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cs:OpenAckService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateUserPermissions',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'cs:UpdateUserPermissions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ACK', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}'],
+ ['validationType' => 'always', 'resourceType' => 'Unrestricted', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
+ ['validationType' => 'always', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/*'],
+ ['validationType' => 'always', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:{#regionId}:{#accountId}:cluster/{#cluster_id}'],
+ ['validationType' => 'always', 'resourceType' => 'Cluster', 'arn' => 'acs:cs:*:{#accountId}:cluster/*'],
+ ['validationType' => 'always', 'resourceType' => 'Unrestricted', 'arn' => 'acs:cs:{#regionId}:{#accountId}:*'],
],
],
];