diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/edas/2017-08-01 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/edas/2017-08-01')
| -rw-r--r-- | data/en_us/edas/2017-08-01/api-docs.php | 36241 |
1 files changed, 13875 insertions, 22366 deletions
diff --git a/data/en_us/edas/2017-08-01/api-docs.php b/data/en_us/edas/2017-08-01/api-docs.php index 831f7d8..5d4b8ba 100644 --- a/data/en_us/edas/2017-08-01/api-docs.php +++ b/data/en_us/edas/2017-08-01/api-docs.php @@ -1,481 +1,266 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'Edas', - 'version' => '2017-08-01', - ], + 'info' => ['style' => 'ROA', 'product' => 'Edas', 'version' => '2017-08-01'], 'directories' => [ [ - 'id' => 62657, - 'title' => 'System Management', + 'children' => ['UpdateAccountInfo', 'ListRole', 'ListSubAccount', 'ListAuthority', 'InsertRole', 'AuthorizeApplication', 'AuthorizeResourceGroup'], 'type' => 'directory', - 'children' => [ - 'DeleteRole', - 'UpdateRole', - 'UpdateAccountInfo', - 'ListRole', - 'ListSubAccount', - 'ListAuthority', - 'GetPackageStorageCredential', - 'InsertRole', - 'AuthorizeRole', - 'AuthorizeApplication', - 'AuthorizeResourceGroup', - ], + 'title' => 'System management', ], [ - 'id' => 62552, - 'title' => 'Resource Management', - 'type' => 'directory', 'children' => [ [ - 'id' => 62553, - 'title' => 'ECS & K8s Clusters', + 'children' => ['ListAliyunRegion', 'QueryMigrateRegionList', 'ListCluster', 'GetCluster', 'ListVpc', 'QueryRegionConfig', 'ListApplicationEcu'], 'type' => 'directory', - 'children' => [ - 'DeleteUserDefineRegion', - 'DeleteCluster', - 'ListAliyunRegion', - 'QueryMigrateRegionList', - 'ListCluster', - 'GetCluster', - 'ListVpc', - 'QueryRegionConfig', - 'ListApplicationEcu', - 'ListResourceGroup', - 'ListTagResources', - 'TagResources', - 'UntagResources', - ], - ], - [ - 'id' => 62559, - 'title' => 'ECS Clusters', + 'title' => 'ECS clusters and kubernetes clusters', + ], + [ + 'children' => ['CreateIDCImportCommand', 'DeleteClusterMember', 'DeleteEcu', 'ListClusterMembers', 'ListEcuByRegion', 'ListConvertableEcu', 'ListEcsNotInCluster', 'QueryMigrateEcuList', 'ListScaleOutEcu', 'ListSlb', 'BindSlb', 'TransformClusterMember', 'MigrateEcu', 'SynchronizeResource'], 'type' => 'directory', - 'children' => [ - 'CreateIDCImportCommand', - 'DeleteClusterMember', - 'DeleteEcu', - 'ListClusterMembers', - 'ListEcuByRegion', - 'ListConvertableEcu', - 'ListEcsNotInCluster', - 'QueryMigrateEcuList', - 'ListScaleOutEcu', - 'ListSlb', - 'BindSlb', - 'InsertCluster', - 'InsertClusterMember', - 'InstallAgent', - 'TransformClusterMember', - 'MigrateEcu', - 'SynchronizeResource', - ], - ], - [ - 'id' => 62575, - 'title' => 'K8s Clusters', + 'title' => 'ECS clusters', + ], + [ + 'children' => ['GetK8sCluster', 'ListK8sNamespaces', 'ImportK8sCluster'], 'type' => 'directory', - 'children' => [ - 'UpdateK8sResource', - 'GetK8sCluster', - 'ListK8sNamespaces', - 'ImportK8sCluster', - ], + 'title' => 'Kubernetes clusters', ], ], + 'type' => 'directory', + 'title' => 'Resource management', ], [ - 'id' => 62579, - 'title' => 'Application Management', - 'type' => 'directory', 'children' => [ [ - 'id' => 62580, - 'title' => 'ECS & K8s Clusters', + 'children' => ['UpdateHealthCheckUrl', 'GetChangeOrderInfo', 'GetSecureToken', 'QueryEccInfo', 'GetScalingRules', 'ListUserDefineRegion', 'GetContainerConfiguration', 'ListDeployGroup', 'ListHistoryDeployVersion', 'ListRecentChangeOrder', 'ListBuildPack', 'InsertOrUpdateRegion', 'ContinuePipeline', 'AbortChangeOrder', 'RollbackChangeOrder'], 'type' => 'directory', - 'children' => [ - 'UpdateHealthCheckUrl', - 'GetChangeOrderInfo', - 'GetSecureToken', - 'QueryEccInfo', - 'GetScalingRules', - 'ListUserDefineRegion', - 'GetContainerConfiguration', - 'ListApplication', - 'ListDeployGroup', - 'ListHistoryDeployVersion', - 'ListRecentChangeOrder', - 'ListBuildPack', - 'InsertOrUpdateRegion', - 'SwitchAdvancedMonitoring', - 'ContinuePipeline', - 'AbortChangeOrder', - 'RollbackChangeOrder', - ], - ], - [ - 'id' => 62598, - 'title' => 'ECS Clusters', + 'title' => 'Common to ECS clusters and kubernetes clusters', + ], + [ + 'children' => ['UpdateApplicationBaseInfo', 'AddLogPath', 'DeleteLogPath', 'DeleteDeployGroup', 'UpdateHookConfiguration', 'StartApplication', 'StopApplication', 'ChangeDeployGroup', 'UpdateJvmConfiguration', 'GetJvmConfiguration', 'QueryApplicationStatus', 'InsertDeployGroup', 'BindEcsSlb', 'UnbindSlb', 'InsertApplication', 'DeployApplication', 'ScaleOutApplication'], 'type' => 'directory', - 'children' => [ - 'UpdateApplicationBaseInfo', - 'AddLogPath', - 'DeleteApplication', - 'DeleteLogPath', - 'DeleteDeployGroup', - 'UpdateHookConfiguration', - 'ModifyScalingRule', - 'StartApplication', - 'StopApplication', - 'UpdateContainer', - 'UpdateContainerConfiguration', - 'ChangeDeployGroup', - 'UpdateJvmConfiguration', - 'GetJvmConfiguration', - 'GetApplication', - 'ListComponents', - 'QueryApplicationStatus', - 'InsertDeployGroup', - 'BindEcsSlb', - 'UnbindSlb', - 'RollbackApplication', - 'InsertApplication', - 'DeployApplication', - 'ScaleoutApplicationWithNewInstances', - 'ScaleOutApplication', - 'ScaleInApplication', - 'ResetApplication', - 'RestartApplication', - ], - ], - [ - 'id' => 62624, - 'title' => 'K8s Clusters', + 'title' => 'ECS cluster specific', + ], + [ + 'children' => ['UpdateK8sApplicationBaseInfo', 'UpdateK8sApplicationConfig', 'StartK8sApplication', 'UpdateK8sSlb', 'StartK8sAppPrecheck', 'GetK8sApplication', 'GetK8sServices', 'QuerySlsLogStoreList', 'GetAppDeployment', 'DescribeAppInstanceList', 'GetK8sAppPrecheckResult', 'BindK8sSlb', 'UnbindK8sSlb', 'InsertK8sApplication', 'DeployK8sApplication', 'ScaleK8sApplication', 'RestartK8sApplication', 'ConvertK8sResource', 'AbortAndRollbackChangeOrder'], 'type' => 'directory', - 'children' => [ - 'CreateK8sService', - 'DeleteK8sApplication', - 'DeleteK8sService', - 'UpdateK8sApplicationBaseInfo', - 'UpdateK8sApplicationConfig', - 'StartK8sApplication', - 'StopK8sApplication', - 'UpdateK8sSlb', - 'UpdateK8sService', - 'UpdateSlsLogStore', - 'StartK8sAppPrecheck', - 'GetK8sApplication', - 'GetK8sServices', - 'QuerySlsLogStoreList', - 'GetAppDeployment', - 'DescribeAppInstanceList', - 'GetK8sAppPrecheckResult', - 'BindK8sSlb', - 'UnbindK8sSlb', - 'InsertK8sApplication', - 'DeployK8sApplication', - 'ScaleK8sApplication', - 'RestartK8sApplication', - 'ConvertK8sResource', - 'AbortAndRollbackChangeOrder', - ], + 'title' => 'Kubernetes cluster specific', ], ], + 'type' => 'directory', + 'title' => 'Application management', ], [ - 'id' => 62520, - 'title' => 'Service Management', + 'children' => ['UpdateLocalitySetting', 'DeleteServiceGroup', 'GetServiceMethodPage', 'ListConsumedServices', 'ListPublishedServices', 'ListMethods', 'InsertServiceGroup'], 'type' => 'directory', - 'children' => [ - 'UpdateLocalitySetting', - 'DeleteServiceGroup', - 'GetServiceConsumersPage', - 'GetServiceListPage', - 'GetServiceMethodPage', - 'GetServiceProvidersPage', - 'ListConsumedServices', - 'ListPublishedServices', - 'GetServiceDetail', - 'ListMethods', - 'ListServiceGroups', - 'InsertServiceGroup', - ], + 'title' => 'Service management', ], [ - 'id' => 62509, - 'title' => 'Application Route', + 'children' => ['DeleteK8sIngressRule'], 'type' => 'directory', - 'children' => [ - 'CreateK8sIngressRule', - 'DeleteK8sIngressRule', - 'UpdateK8sIngressRule', - 'ListK8sIngressRules', - ], + 'title' => 'Application routing', ], [ - 'id' => 165305, - 'title' => 'Configuration Management', + 'children' => ['CreateConfigTemplate', 'CreateK8sConfigMap', 'CreateK8sSecret', 'DeleteK8sConfigMap', 'DeleteK8sSecret', 'UpdateConfigTemplate', 'UpdateK8sConfigMap', 'UpdateK8sSecret', 'ListConfigTemplates', 'GetJavaStartUpConfig', 'ListK8sConfigMaps', 'ListK8sSecrets', 'RetryChangeOrderTask'], 'type' => 'directory', - 'children' => [ - 'CreateConfigTemplate', - 'CreateK8sConfigMap', - 'CreateK8sSecret', - 'DeleteConfigTemplate', - 'DeleteK8sConfigMap', - 'DeleteK8sSecret', - 'UpdateConfigTemplate', - 'UpdateK8sConfigMap', - 'UpdateK8sSecret', - 'ListConfigTemplates', - 'GetJavaStartUpConfig', - 'GetWebContainerConfig', - 'ListK8sConfigMaps', - 'ListK8sSecrets', - 'RetryChangeOrderTask', - ], + 'title' => 'Configuration management', ], [ - 'id' => 142529, - 'title' => 'Elastic Scaling', + 'children' => ['CreateApplicationScalingRule', 'DeleteApplicationScalingRule', 'DisableApplicationScalingRule', 'EnableApplicationScalingRule', 'UpdateApplicationScalingRule', 'DescribeApplicationScalingRules'], 'type' => 'directory', - 'children' => [ - 'CreateApplicationScalingRule', - 'DeleteApplicationScalingRule', - 'DisableApplicationScalingRule', - 'EnableApplicationScalingRule', - 'UpdateApplicationScalingRule', - 'DescribeApplicationScalingRules', - ], + 'title' => 'Elastic scaling', ], [ - 'id' => 172451, - 'title' => 'Swimming Lane', + 'children' => ['InsertSwimmingLaneGroup', 'UpdateSwimmingLane', 'ListSwimmingLaneGroup', 'ListSwimmingLane'], 'type' => 'directory', - 'children' => [ - 'InsertSwimmingLaneGroup', - 'InsertSwimmingLane', - 'DeleteSwimmingLane', - 'UpdateSwimmingLaneGroup', - 'UpdateSwimmingLane', - 'ListSwimmingLaneGroup', - 'ListSwimmingLane', - ], + 'title' => 'Lane management', ], [ - 'id' => 0, - 'title' => '其它', - 'type' => 'directory', 'children' => [ - 'DescribeLocalitySetting', + 'AuthorizeRole', 'CreateK8sIngressRule', 'CreateK8sService', 'DeleteApplication', 'DeleteCluster', 'DeleteConfigTemplate', 'DeleteK8sApplication', 'DeleteK8sService', 'DeleteRole', 'DeleteSwimmingLane', 'DeleteUserDefineRegion', 'DescribeLocalitySetting', 'GetApplication', 'GetPackageStorageCredential', 'GetServiceConsumersPage', 'GetServiceDetail', 'GetServiceListPage', 'GetServiceProvidersPage', 'GetWebContainerConfig', 'InsertCluster', + 'InsertClusterMember', 'InsertSwimmingLane', 'InstallAgent', 'ListApplication', 'ListComponents', 'ListK8sIngressRules', 'ListResourceGroup', 'ListServiceGroups', 'ListTagResources', 'ModifyScalingRule', 'ResetApplication', 'RestartApplication', 'RollbackApplication', 'ScaleInApplication', 'ScaleoutApplicationWithNewInstances', 'StopK8sApplication', 'SwitchAdvancedMonitoring', 'TagResources', 'UntagResources', 'UpdateContainer', + 'UpdateContainerConfiguration', 'UpdateK8sIngressRule', 'UpdateK8sResource', 'UpdateK8sService', 'UpdateRole', 'UpdateSlsLogStore', 'UpdateSwimmingLaneGroup', ], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DeleteRole' => [ - 'summary' => 'Deletes a Resource Access Management (RAM) role.', - 'path' => '/pop/v5/account/delete_role', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AbortAndRollbackChangeOrder' => [ + 'path' => '/pop/v5/changeorder/change_order_abort_and_rollback', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RoleId', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the RAM role.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '99999999', - ], + 'schema' => ['description' => 'The ID of the change order.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '6b55106c-c7f2-40f7-a1d4-092870*****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The response to the request.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '042F329B-F518-4CC1-****-**********', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '81E0B333-2871-****-****-B8F5FF43****'], + 'TraceId' => ['description' => 'The ID of the call chain.', 'type' => 'string', 'title' => '', 'example' => '210f07bf1640239405712621******'], + 'ErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'Data' => [ + 'description' => 'The information about the change order.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'title' => '', 'example' => '4f40e616-cdcd-4250-a018-efd459******'], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"042F329B-F518-4CC1-****-**********\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>delete successfully</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteRole', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateRole' => [ - 'summary' => 'Modifies a role.', - 'path' => '/pop/v5/account/edit_role', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'errorCodes' => [], + 'title' => 'AbortAndRollbackChangeOrder', + 'summary' => 'You can call the AbortAndRollbackChangeOrder operation to stop and roll back a change order for applications in Container Service for Kubernetes (ACK) clusters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortAndRollbackChangeOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"81E0B333-2871-****-****-B8F5FF43****\\",\\n \\"TraceId\\": \\"210f07bf1640239405712621******\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f40e616-cdcd-4250-a018-efd459******\\"\\n }\\n}","type":"json"}]', + ], + 'AbortChangeOrder' => [ + 'path' => '/pop/v5/changeorder/change_order_abort', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RoleId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the role. You can call the ListRole operation to query the role IDs. For more information, see [ListRole](~~149410~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '32371', - ], - ], - [ - 'name' => 'ActionData', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The set of permissions to be granted to the role. The value is in the format of `Permission group ID 1:Permission serial number 1;...;Permission group ID n:Permission serial number n`. Example: `1:1;1:2;2:1;2:2`. For more information about permission groups and permission serial numbers, see [ListAuthority](~~149409~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '15:1', - ], + 'schema' => ['description' => 'The ID of the change process. You can call the [GetChangeOrderInfo](~~62072~~) operation to query the change process ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f038ddf-b27b-****-****-88e44375****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'edit successfully', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace.', 'type' => 'string', 'example' => '0b59000b15947****55688656d****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => [ + 'description' => 'The change process.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '4f038ddf-b27b-****-****-88e44375****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"edit successfully\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>edit successfully</Message>\\n<RequestId/>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateRole', + 'errorCodes' => [], + 'title' => 'AbortChangeOrder', + 'summary' => 'Terminates a change process.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateAccountInfo' => [ - 'summary' => 'Modifies information about an account.', - 'path' => '/pop/v5/account/edit_account_info', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortChangeOrder'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"TraceId\\": \\"0b59000b15947****55688656d****\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f038ddf-b27b-****-****-88e44375****\\"\\n }\\n}","type":"json"}]', + ], + 'AddLogPath' => [ + 'summary' => 'Adds a log directory to an application. This operation is applicable to applications that are deployed in Alibaba Cloud Elastic Compute Service (ECS) clusters and hybrid cloud ECS clusters.', + 'path' => '/pop/v5/log/popListLogDirs', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas-test', - ], - ], - [ - 'name' => 'Telephone', - 'in' => 'query', - 'schema' => [ - 'description' => 'The contact information of the account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1321234****', - ], + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********', 'title' => ''], ], [ - 'name' => 'Email', - 'in' => 'query', - 'schema' => [ - 'description' => 'The email address of the account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1321234****@alibaba-inc.com', - ], + 'name' => 'Path', + 'in' => 'formData', + 'schema' => ['description' => 'The absolute path of the log directory that you want to add. The value must start and end with a forward slash (`/`) and must contain `/log` or `/logs`. The following directories are the default log directories in Enterprise Distributed Application Service (EDAS):'."\n" + ."\n" + .'- /home/admin/edas-container/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-7.0.59/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-production-7.0.59.3/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-production-7.0.70/logs/'."\n" + ."\n" + .'- /home/admin/edas-agent/logs/', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/temp/log/', 'title' => ''], ], ], 'responses' => [ @@ -483,521 +268,109 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'edit successfully', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3616cdca-4f92-4413**********', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"edit successfully\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857EAF4\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>edit successfully</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateAccountInfo', - 'requestParamsDescription' => ' ', + 'title' => 'AddLogPath', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListRole' => [ - 'summary' => 'Queries a list of roles.', - 'path' => '/pop/v5/account/role_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddLogPath'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'RoleList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RoleItem' => [ - 'description' => 'The roles.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActionList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Action' => [ - 'description' => 'The set of permissions to be granted to the role.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The serial number of the permission that is granted to the role.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'description' => 'The description of the permission to be granted to the role.'."\n", - 'type' => 'string', - 'example' => 'Operations in operation records'."\n", - ], - 'GroupId' => [ - 'description' => 'The ID of the permission group to which the permission that is granted to the role belongs.'."\n", - 'type' => 'string', - 'example' => '31', - ], - 'Name' => [ - 'description' => 'The name of the permission to be granted to the role.'."\n", - 'type' => 'string', - 'example' => 'Operation records'."\n", - ], - ], - ], - ], - ], - ], - 'Role' => [ - 'description' => 'The roles.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The timestamp when the role was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542717260156', - ], - 'IsDefault' => [ - 'description' => 'Indicates whether the role is a default role.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AdminUserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'test**@aliyun.com', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the role was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542717260156', - ], - 'Name' => [ - 'description' => 'The name of the role.'."\n", - 'type' => 'string', - 'example' => 'Super Admin(All privileges)', - ], - 'Id' => [ - 'description' => 'The ID of the role.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageAppLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"RoleList\\": {\\n \\"RoleItem\\": [\\n {\\n \\"ActionList\\": {\\n \\"Action\\": [\\n {\\n \\"Code\\": \\"1\\",\\n \\"Description\\": \\"操作记录\\",\\n \\"GroupId\\": \\"31\\",\\n \\"Name\\": \\"操作记录\\"\\n }\\n ]\\n },\\n \\"Role\\": {\\n \\"UpdateTime\\": 1542717260156,\\n \\"IsDefault\\": false,\\n \\"AdminUserId\\": \\"test**@aliyun.com\\",\\n \\"CreateTime\\": 1542717260156,\\n \\"Name\\": \\"Super Admin(All privileges)\\",\\n \\"Id\\": 1\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<RoleList>\\n <RoleItem>\\n <Role>\\n <Name>Super Admin(All privileges)</Name>\\n <CreateTime>1542717260156</CreateTime>\\n <UpdateTime>1542717260156</UpdateTime>\\n <Id>15691</Id>\\n </Role>\\n <ActionList>\\n <Action>\\n <Name>操作记录</Name>\\n <Description>操作记录</Description>\\n <Code>1</Code>\\n <GroupId>31</GroupId>\\n </Action>\\n </ActionList>\\n </RoleItem>\\n</RoleList>","errorExample":""}]', - 'title' => 'ListRole', - 'requestParamsDescription' => 'No request parameters.'."\n", - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","type":"json"}]', 'extraInfo' => ' ', ], - 'ListSubAccount' => [ - 'path' => '/pop/v5/account/sub_account_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AuthorizeApplication' => [ + 'summary' => 'Grants a Resource Access Management (RAM) user the permissions on a specified application.', + 'path' => '/pop/v5/account/authorize_app', + 'methods' => ['post', 'delete', 'put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'SubAccountList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubAccount' => [ - 'description' => 'The RAM users.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SubEdasId' => [ - 'description' => 'The ID of the RAM user. This ID is generated by Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'example' => '28382009411268****', - ], - 'SubUserId' => [ - 'description' => 'The ID of the RAM user.'."\n", - 'type' => 'string', - 'example' => 'ram1@117274586608****', - ], - 'Email' => [ - 'description' => 'The email address of the RAM user.'."\n", - 'type' => 'string', - 'example' => 'email@aliyun.com', - ], - 'AdminUserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'test@13624697***', - ], - 'AdminUserKp' => [ - 'description' => 'This parameter is the same as the AdminEdasId parameter. This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => '12456889****', - ], - 'AdminEdasId' => [ - 'description' => 'The ID of the Alibaba Cloud account. This ID is generated by EDAS.'."\n", - 'type' => 'string', - 'example' => '12456889****', - ], - 'SubUserKp' => [ - 'description' => 'This parameter is the same as the SubEdasId parameter. This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => '28382009411268****', - ], - 'Phone' => [ - 'description' => 'The contact information of the RAM user.'."\n", - 'type' => 'string', - 'example' => '1373322****', - ], - ], - ], - ], - ], - ], - ], - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'TargetUserId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the RAM user to be authorized. The value of the parameter is in the `sub-account name@primary account UID` format.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@133434434****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"SubAccountList\\": {\\n \\"SubAccount\\": [\\n {\\n \\"SubEdasId\\": \\"28382009411268****\\",\\n \\"SubUserId\\": \\"ram1@117274586608****\\",\\n \\"Email\\": \\"email@aliyun.com\\",\\n \\"AdminUserId\\": \\"test@13624697***\\",\\n \\"AdminUserKp\\": \\"12456889****\\",\\n \\"AdminEdasId\\": \\"12456889****\\",\\n \\"SubUserKp\\": \\"28382009411268****\\",\\n \\"Phone\\": \\"1373322****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>57609587-DFA2-41EC-****-*********</RequestId>\\n<Message>message</Message>\\n<SubAccountList>\\n <SubAccount>\\n <AdminEdasId>12456889****</AdminEdasId>\\n <AdminUserKp>12456889****</AdminUserKp>\\n <Email>email@aliyun.com</Email>\\n <SubEdasId>28382009411268****</SubEdasId>\\n <Phone>1373322****</Phone>\\n <AdminUserId>test@13624697***</AdminUserId>\\n <SubUserId>ram1@117274586608****</SubUserId>\\n <SubUserKp>28382009411268****</SubUserKp>\\n </SubAccount>\\n</SubAccountList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListSubAccount', - 'summary' => 'Queries a list of Resource Access Management (RAM) users.', - 'requestParamsDescription' => 'No request parameters.'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListAuthority' => [ - 'summary' => 'Queries all permissions.', - 'path' => '/pop/v5/account/authority_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. You can specify multiple IDs. Separate multiple IDs with semicolons (;). If you leave this parameter empty, the permissions on the application are revoked.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5fdf50e8-*****;696-******', 'title' => ''], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'AuthorityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Authority' => [ - 'description' => 'The permissions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GroupId' => [ - 'description' => 'The ID of the permission group.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => 'The name of the permission group.'."\n", - 'type' => 'string', - 'example' => 'Application management'."\n", - ], - 'Description' => [ - 'description' => 'The description of the permission group.'."\n", - 'type' => 'string', - 'example' => 'Operations on applications'."\n", - ], - 'ActionList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Action' => [ - 'description' => 'The set of permissions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The code of the permission.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'description' => 'The description of the permission.'."\n", - 'type' => 'string', - 'example' => 'Create an application'."\n", - ], - 'GroupId' => [ - 'description' => 'The ID of the permission group.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => 'The name of the permission.'."\n", - 'type' => 'string', - 'example' => 'Create an application'."\n", - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E3DA95D3-**********', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"AuthorityList\\": {\\n \\"Authority\\": [\\n {\\n \\"GroupId\\": \\"1\\",\\n \\"Name\\": \\"应用管理\\",\\n \\"Description\\": \\"对应用的所有操作\\",\\n \\"ActionList\\": {\\n \\"Action\\": [\\n {\\n \\"Code\\": \\"1\\",\\n \\"Description\\": \\"创建应用\\",\\n \\"GroupId\\": \\"1\\",\\n \\"Name\\": \\"创建应用\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>57609587-DFA2-41EC-****-*********</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>\\n<AuthorityList>\\n <Authority>\\n <Description>对应用的所有操作</Description>\\n <Name>应用管理</Name>\\n <GroupId>1</GroupId>\\n <ActionList>\\n <Action>\\n <Description>创建应用</Description>\\n <Code>1</Code>\\n <Name>创建应用</Name>\\n <GroupId>1</GroupId>\\n </Action>\\n </ActionList>\\n </Authority>\\n</AuthorityList>","errorExample":""}]', - 'title' => 'ListAuthority', - 'requestParamsDescription' => 'No request parameters.'."\n", + 'title' => 'AuthorizeApplication', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetPackageStorageCredential' => [ - 'path' => '/pop/v5/package_storage_credential', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeApplication'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The content that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Credential' => [ - 'description' => 'The STS credential.'."\n", - 'type' => 'object', - 'properties' => [ - 'KeyPrefix' => [ - 'description' => 'The object key prefix in Object Storage Service (OSS).'."\n", - 'type' => 'string', - 'example' => 'release-pkg/117274586608****', - ], - 'SecurityToken' => [ - 'description' => 'The security token issued by STS.'."\n", - 'type' => 'string', - 'example' => '<yourSecurityToken>', - ], - 'AccessKeySecret' => [ - 'description' => 'The AccessKey secret of your account.'."\n", - 'type' => 'string', - 'example' => '<yourAccessKeySecret>', - ], - 'Expiration' => [ - 'description' => 'The time when the STS credential expires. Example: 2019-11-10T07:20:19Z.'."\n", - 'type' => 'string', - 'example' => '2019-11-10T07:20:19Z', - ], - 'AccessKeyId' => [ - 'description' => 'The AccessKey ID of your account.'."\n", - 'type' => 'string', - 'example' => '<yourAccessKeyId>', - ], - 'Bucket' => [ - 'description' => 'The name of the OSS bucket.'."\n", - 'type' => 'string', - 'example' => 'edas-bj', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'OssPublicEndpoint' => [ - 'description' => 'The public endpoint of OSS.'."\n", - 'type' => 'string', - 'example' => 'oss-cn-beijing.aliyuncs.com', - ], - 'OssInternalEndpoint' => [ - 'description' => 'The private endpoint of OSS.'."\n", - 'type' => 'string', - 'example' => 'oss-cn-beijing-internal.aliyuncs.com', - ], - 'OssVpcEndpoint' => [ - 'description' => 'The VPC endpoint of OSS.'."\n", - 'type' => 'string', - 'example' => 'oss-cn-beijing-internal.aliyuncs.com', - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:AuthorizeApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Credential\\": {\\n \\"KeyPrefix\\": \\"release-pkg/117274586608****\\",\\n \\"SecurityToken\\": \\"<yourSecurityToken>\\",\\n \\"AccessKeySecret\\": \\"<yourAccessKeySecret>\\",\\n \\"Expiration\\": \\"2019-11-10T07:20:19Z\\",\\n \\"AccessKeyId\\": \\"<yourAccessKeyId>\\",\\n \\"Bucket\\": \\"edas-bj\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"OssPublicEndpoint\\": \\"oss-cn-beijing.aliyuncs.com\\",\\n \\"OssInternalEndpoint\\": \\"oss-cn-beijing-internal.aliyuncs.com\\",\\n \\"OssVpcEndpoint\\": \\"oss-cn-beijing-internal.aliyuncs.com\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetPackageStorageCredentialResponse>\\n <Credential>\\n <KeyPrefix>release-pkg/117274586608****</KeyPrefix>\\n <AccessKeySecret>yourAccessKeySecret</AccessKeySecret>\\n <AccessKeyId>yourAccessKeyId</AccessKeyId>\\n <Expiration>2019-11-10T07:20:19Z</Expiration>\\n <SecurityToken>yourSecurityToken</SecurityToken>\\n <RegionId>cn-beijing</RegionId>\\n <Bucket>edas-bj</Bucket>\\n </Credential>\\n <Message>success</Message>\\n <Code>200</Code>\\n</GetPackageStorageCredentialResponse>","errorExample":""}]', - 'title' => 'GetPackageStorageCredential', - 'summary' => 'Queries the Security Token Service (STS) tokens that are required for temporary storage.', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E3DA95D3-**********\\"\\n}","type":"json"}]', 'extraInfo' => ' ', ], - 'InsertRole' => [ - 'summary' => 'Creates a role.', - 'path' => '/pop/v5/account/create_role', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AuthorizeResourceGroup' => [ + 'summary' => 'Grants a Resource Access Management (RAM) user the permissions on a resource group.', + 'path' => '/pop/v5/account/authorize_res_group', + 'methods' => ['post', 'delete', 'put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1005,34 +378,19 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RoleName', + 'name' => 'TargetUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the role.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testrole', - ], + 'schema' => ['description' => 'The ID of the RAM user to be authorized.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@13333********', 'title' => ''], ], [ - 'name' => 'ActionData', + 'name' => 'ResourceGroupIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The set of permissions to be granted to the role. The value is in the format of `Permission group ID 1:Permission serial number 1;...;Permission group ID n:Permission serial number n`. Example: `1:1;1:2;2:1;2:2`. For more information about permission groups and permission serial numbers, see [ListAuthority](~~149409~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '15:1;14:2', - ], + 'schema' => ['description' => 'The ID of the resource group. You can call the ListResourceGroup operation to query the resource group ID. For more information, see [ListResourceGroup](~~62055~~).'."\n" + ."\n" + .'You can specify multiple resource group IDs. Separate multiple resource group IDs with semicolons (;).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '461;462', 'title' => ''], ], ], 'responses' => [ @@ -1040,50 +398,44 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'RoleId' => [ - 'description' => 'The ID of the role.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '33', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57609587-DFA2-**********', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"RoleId\\": 33\\n}","errorExample":""},{"type":"xml","example":"<RequestId>57609587-DFA2-41EC-****-*********</RequestId>\\n<Code>200</Code>\\n<Message>sucess</Message>","errorExample":""}]', - 'title' => 'InsertRole', - 'requestParamsDescription' => ' ', + 'title' => 'AuthorizeResourceGroup', 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeResourceGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:AuthorizeResourceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-**********\\"\\n}","type":"json"}]', 'extraInfo' => ' ', ], 'AuthorizeRole' => [ - 'summary' => 'Grant permissions to RAM roles.', 'path' => '/pop/v5/account/authorize_role', - 'methods' => [ - 'post', - 'delete', - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'delete', 'put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1091,35 +443,17 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'TargetUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the RAM user to which you want to assign the roles.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@133******', - ], + 'schema' => ['description' => 'The ID of the RAM user to which you want to assign the roles.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@133******', 'title' => ''], ], [ 'name' => 'RoleIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the role to be assigned. If you want to assign multiple roles to the specified RAM user, separate the IDs of the roles with semicolons (;). If you leave this parameter empty, the roles assigned to the specified RAM user are revoked.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1;2', - ], + 'schema' => ['description' => 'The ID of the role to be assigned. If you want to assign multiple roles to the specified RAM user, separate the IDs of the roles with semicolons (;). If you leave this parameter empty, the roles assigned to the specified RAM user are revoked.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1;2', 'title' => ''], ], ], 'responses' => [ @@ -1127,44 +461,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-*******', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '57609587-DFA2-*******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-*******\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>57609587-DFA2-41EC-****-*********</RequestId>\\n<Code>200</Code>\\n<Message>sucess</Message>","errorExample":""}]', 'title' => 'AuthorizeRole', + 'summary' => 'Grant permissions to RAM roles.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AuthorizeApplication' => [ - 'summary' => 'Grants a Resource Access Management (RAM) user the permissions on a specified application.', - 'path' => '/pop/v5/account/authorize_app', - 'methods' => [ - 'post', - 'delete', - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeRole'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:AuthorizeRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-*******\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>57609587-DFA2-41EC-****-*********</RequestId>\\n<Code>200</Code>\\n<Message>sucess</Message>","errorExample":""}]', + ], + 'BindEcsSlb' => [ + 'summary' => 'Binds a Server Load Balancer (SLB) instance to an application that is deployed in an Elastic Compute Service (ECS) cluster.', + 'path' => '/pop/v5/app/slb/bind_slb', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1172,33 +509,52 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'TargetUserId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the RAM user to be authorized. The value of the parameter is in the `sub-account name@primary account UID` format.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@133434434****', - ], + 'schema' => ['description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d', 'title' => ''], ], [ - 'name' => 'AppIds', + 'name' => 'SlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can specify multiple IDs. Separate multiple IDs with semicolons (;). If you leave this parameter empty, the permissions on the application are revoked.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5fdf50e8-*****;696-******', - ], + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-uf6j54m3a****cj01jx8', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port for the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vServer group for the SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'rsp-2ze****6l*****', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The listener protocol for the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tcp', 'title' => ''], + ], + [ + 'name' => 'DeployGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance group whose application you want to bind. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).', 'type' => 'string', 'required' => false, 'example' => '577f4c50-16ee-43d8-****-****', 'title' => ''], + ], + [ + 'name' => 'VServerGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the vServer group.', 'type' => 'string', 'required' => false, 'example' => '****/31405/internet-test-ack-test****/default/clusterid', 'title' => ''], + ], + [ + 'name' => 'ListenerHealthCheckUrl', + 'in' => 'query', + 'schema' => ['description' => 'The health check URL.', 'type' => 'string', 'required' => false, 'example' => '/_ehc.html', 'title' => ''], + ], + [ + 'name' => 'VForwardingUrlRule', + 'in' => 'query', + 'schema' => ['description' => 'The forwarding rule of the SLB listener.', 'type' => 'string', 'required' => false, 'example' => 'example.com/forwarding', 'title' => ''], ], ], 'responses' => [ @@ -1206,44 +562,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'E3DA95D3-**********', - ], + 'ChangeOrderId' => ['description' => 'The change process ID for this operation.', 'type' => 'string', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E3DA95D3-**********\\"\\n}","type":"json"}]', - 'title' => 'AuthorizeApplication', - 'requestParamsDescription' => ' ', + 'errorCodes' => [], + 'title' => 'BindEcsSlb', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AuthorizeResourceGroup' => [ - 'summary' => 'Grants a Resource Access Management (RAM) user the permissions on a resource group.', - 'path' => '/pop/v5/account/authorize_res_group', - 'methods' => [ - 'post', - 'delete', - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindEcsSlb'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ConfigApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","type":"json"}]', + 'extraInfo' => ' ', + ], + 'BindK8sSlb' => [ + 'summary' => 'Attaches a Server Load Balancer (SLB) instance to an application in a Container Service for Kubernetes cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1251,35 +610,89 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'TargetUserId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the RAM user to be authorized.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@13333********', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c', 'title' => ''], ], [ - 'name' => 'ResourceGroupIds', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. You can call the ListResourceGroup operation to query the resource group ID. For more information, see [ListResourceGroup](~~62055~~).'."\n" - ."\n" - .'You can specify multiple resource group IDs. Separate multiple resource group IDs with semicolons (;).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '461;462', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-f554-****-****-a947b5cde6ee', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The type of the SLB instance.'."\n" + ."\n" + .'- internet: an internet-facing SLB instance.'."\n" + ."\n" + .'- intranet: an internal-facing SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet', 'title' => ''], + ], + [ + 'name' => 'SlbId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SLB instance. If you do not specify this parameter, EDAS automatically purchases a new SLB instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'lb-2ze1quax9t****iz82bjt', 'title' => ''], + ], + [ + 'name' => 'SlbProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend protocol for the SLB instance. Valid values: TCP, HTTP, and HTTPS.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'TCP', 'title' => ''], + ], + [ + 'name' => 'TargetPort', + 'in' => 'query', + 'schema' => ['description' => 'The backend port. This port is also the service port of the application. The value must be an integer from 1 to 65,535.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8080', 'title' => ''], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => ['description' => 'The frontend port. The value must be an integer from 1 to 65,535.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'ServicePortInfos', + 'in' => 'query', + 'schema' => ['description' => 'The information about the service ports. Use this parameter to configure multiple listeners or use protocols other than TCP.'."\n" + .'This parameter must be a JSON array. Example:'."\n" + .'\\[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809\\_16c185d6fa2\\_1914500329\\_-xxxxxxx","targetPort":8181,"loadBalancerProtocol":"HTTPS"}]'."\n" + ."\n" + .'- port: Required. The frontend port. The value must be an integer from 1 to 65,535. Each port number must be unique.'."\n" + ."\n" + .'- targetPort: Required. The backend port. The value must be an integer from 1 to 65,535.'."\n" + ."\n" + .'- loadBalancerProtocol: Required. The frontend protocol. Valid values: TCP and HTTPS. For HTTP, use TCP.'."\n" + ."\n" + .'- certId: Required if you use the HTTPS protocol. You can purchase a certificate in the SLB console.'."\n" + ."\n" + .'> This parameter is used to configure multiple listeners. You must use it with the appId, clusterId, type, and slbId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-988as","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}]', 'title' => ''], + ], + [ + 'name' => 'Specification', + 'in' => 'query', + 'schema' => ['description' => 'The specification of the SLB instance.'."\n" + ."\n" + .'- slb.s1.small'."\n" + ."\n" + .'- slb.s2.small'."\n" + ."\n" + .'- slb.s2.medium'."\n" + ."\n" + .'- slb.s3.small'."\n" + ."\n" + .'- slb.s3.medium'."\n" + ."\n" + .'- slb.s3.large', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small', 'title' => ''], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling algorithm. If you do not specify this parameter, \\`rr\\` is used. Valid values:'."\n" + ."\n" + .'- wrr: weighted round-robin. Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- rr: round-robin. Requests are distributed to backend servers in sequence.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], ], ], 'responses' => [ @@ -1287,41 +700,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57609587-DFA2-**********', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', 'title' => ''], + 'Code' => ['description' => 'The response code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4823-bhjf-23u4-****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-**********\\"\\n}","type":"json"}]', - 'title' => 'AuthorizeResourceGroup', + 'title' => 'BindK8sSlb', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteUserDefineRegion' => [ - 'path' => '/pop/v5/user_region_def', - 'methods' => [ - 'delete', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindK8sSlb'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:SLBPurchase', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","type":"json"}]', + ], + 'BindSlb' => [ + 'path' => '/pop/app/bind_slb_json', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1329,149 +747,135 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the custom namespace. You can call the ListUserDefineRegion operation to query the ID. For more information, see [ListUserDefineRegion](~~149377~~).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '2564', - ], + 'schema' => ['description' => 'The ID of the Enterprise Distributed Application Service (EDAS) application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-*********', 'title' => ''], ], [ - 'name' => 'RegionTag', + 'name' => 'SlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the custom namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'regiontag', - ], + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-wz96ph63r************', 'title' => ''], + ], + [ + 'name' => 'SlbIp', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.16*.*.*', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The network type of the SLB instance. Valid values:'."\n" + ."\n" + .'- internet: an Internet-facing instance.'."\n" + ."\n" + .'- intranet: an internal-facing instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'intranet', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'default' => '0', 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vServer group for the internal-facing SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1234-1sda-321d-****', - ], - 'RegionDefine' => [ - 'description' => 'The custom namespace.'."\n", + 'Code' => ['description' => 'The response code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'example' => 'bind slb success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '23DR4FDXXXXXXXXXX', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'BelongRegion' => [ - 'description' => 'The ID of the region to which the custom namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RegionName' => [ - 'description' => 'The name of the custom namespace.'."\n", - 'type' => 'string', - 'example' => 'test_region', - ], - 'Description' => [ - 'description' => 'The description of the custom namespace.'."\n", - 'type' => 'string', - 'example' => 'logic region', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the custom namespace belongs.'."\n", - 'type' => 'string', - 'example' => '11727****22398', - ], - 'Id' => [ - 'description' => 'The unique identifier of the custom namespace.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8848', - ], - 'RegionId' => [ - 'description' => 'The ID of the custom namespace. The ID cannot be changed after the custom namespace is created. The format is `region ID:custom namespace ID`.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], + 'VServerGroupId' => ['description' => 'The ID of the internal vServer group.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the internal SLB instance.', 'type' => 'string', 'example' => 'lb-wz96ph63r************', 'title' => ''], + 'ExtSlbIp' => ['description' => 'The IP address of the Internet-facing SLB instance.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'SlbPort' => ['description' => 'The listener port of the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ExtSlbName' => ['description' => 'The name of the Internet-facing SLB instance.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'ExtSlbId' => ['description' => 'The ID of the Internet-facing SLB instance.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'ExtVServerGroupId' => ['description' => 'The ID of the vServer group for the Internet-facing SLB instance.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'SlbName' => ['description' => 'The name of the internal SLB instance.', 'type' => 'string', 'example' => 'test**********', 'title' => ''], + 'SlbIp' => ['description' => 'The IP address of the internal SLB instance.', 'type' => 'string', 'example' => '192.16*.*.*', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1234-1sda-321d-****\\",\\n \\"RegionDefine\\": {\\n \\"BelongRegion\\": \\"cn-beijing\\",\\n \\"RegionName\\": \\"test_region\\",\\n \\"Description\\": \\"logic region\\",\\n \\"UserId\\": \\"11727****22398\\",\\n \\"Id\\": 8848,\\n \\"RegionId\\": \\"cn-beijing:test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RegionDefine>\\n <Description>test</Description>\\n <RegionName>test_region</RegionName>\\n <BelongRegion>cn-beijing</BelongRegion>\\n <RegionId>cn-beijing:test</RegionId>\\n <Id>8683</Id>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n</RegionDefine>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteUserDefineRegion', - 'summary' => 'Deletes a specified custom namespace.', + 'title' => 'BindSlb', + 'summary' => 'Calls the BindSlb operation to attach a Server Load Balancer (SLB) instance to a specified application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCluster' => [ - 'summary' => 'Deletes an Elastic Compute Service (ECS) cluster or cancels the import of a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/resource/cluster', - 'methods' => [ - 'delete', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindSlb'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"bind slb success\\",\\n \\"RequestId\\": \\"23DR4FDXXXXXXXXXX\\",\\n \\"Data\\": {\\n \\"VServerGroupId\\": \\"“”\\",\\n \\"SlbId\\": \\"lb-wz96ph63r************\\",\\n \\"ExtSlbIp\\": \\"“”\\",\\n \\"SlbPort\\": 80,\\n \\"ExtSlbName\\": \\"“”\\",\\n \\"ExtSlbId\\": \\"“”\\",\\n \\"ExtVServerGroupId\\": \\"“”\\",\\n \\"SlbName\\": \\"test**********\\",\\n \\"SlbIp\\": \\"192.16*.*.*\\"\\n }\\n}","type":"json"}]', + ], + 'ChangeDeployGroup' => [ + 'path' => '/pop/v5/changeorder/co_change_group', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8b96ade0-0a07-****-af9d-5ed83640d076', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-**********', 'title' => ''], ], [ - 'name' => 'Mode', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the cluster ID. Valid values:'."\n" - ."\n" - .'* 0: specifies the ID of the cluster in Enterprise Distributed Application Service (EDAS).'."\n" - .'* 1: specifies the ID of the ACK cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The Elastic Compute Container (ECC) ID of the ECS instance whose group you want to change. Call the ListApplicationEcc operation to query the ECC ID of an application. For more information, see [ListApplicationEcc](~~199277~~).'."\n" + ."\n" + .'> You can change the group for only one ECS instance at a time.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0cf49a6c-95a8-4aa8******', 'title' => ''], + ], + [ + 'name' => 'GroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the application group, such as \\`group\\_a\\` and \\`group\\_b\\`. The GroupName for the default group is `_DEFAULT_GROUP`. The name can be up to 64 characters long.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'ForceStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to force the change when the deployment package version of the ECC is different from the deployment package version of the application group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -1479,148 +883,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Indicates whether the cluster is deleted. Valid values:'."\n" - ."\n" - .'* true: The cluster is deleted.'."\n" - .'* false: The cluster is not deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '856D4438-****-4EA9-****-894628C0434E', - ], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The ID of the change flow.', 'type' => 'string', 'example' => '435f-regfr4********************', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F9E4-FDS4-****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"856D4438-****-4EA9-****-894628C0434E\\"\\n}","errorExample":""},{"type":"xml","example":"<Data>true</Data>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteCluster', + 'errorCodes' => [], + 'title' => 'ChangeDeployGroup', + 'summary' => 'Call the ChangeDeployGroup operation to change the group of an ECS instance in an application deployed in an ECS cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListAliyunRegion' => [ - 'summary' => 'Queries Alibaba Cloud regions supported by Enterprise Distributed Application Service (EDAS).', - 'path' => '/pop/v5/resource/region_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeDeployGroup'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionEntity' => [ - 'description' => 'The details of the regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'China East 1 (Hangzhou)', - ], - 'Id' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionEntityList\\": {\\n \\"RegionEntity\\": [\\n {\\n \\"Name\\": \\"China East 1 (Hangzhou)\\",\\n \\"Id\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RegionEntityList>\\n <RegionEntity>\\n <Name>China East 1 (Hangzhou)</Name>\\n <Id>cn-hangzhou</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>China North 1 (Qingdao)</Name>\\n <Id>cn-qingdao</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>China North 2 (Beijing)</Name>\\n <Id>cn-beijing</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>China South 1 (Shenzhen)</Name>\\n <Id>cn-shenzhen</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>China East 2 (Shanghai)</Name>\\n <Id>cn-shanghai</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>Asia Pacific SE 1 (Singapore)</Name>\\n <Id>ap-southeast-1</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>Hong Kong (China)</Name>\\n <Id>cn-hongkong</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>Australia(Sydney)</Name>\\n <Id>ap-southeast-2</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>America(Virginia)</Name>\\n <Id>us-east-1</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>China North 3</Name>\\n <Id>cn-zhangjiakou</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>Germany (Frankfurt)</Name>\\n <Id>eu-central-1</Id>\\n </RegionEntity>\\n <RegionEntity>\\n <Name>public</Name>\\n <Id>public</Id>\\n </RegionEntity>\\n</RegionEntityList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListAliyunRegion', - 'requestParamsDescription' => 'No request parameters.'."\n", - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"435f-regfr4********************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"F9E4-FDS4-****************\\"\\n}","type":"json"}]', ], - 'QueryMigrateRegionList' => [ - 'path' => '/pop/v5/resource/migrate_region_select', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ContinuePipeline' => [ + 'summary' => 'Manually confirms the release of the next batch.', + 'path' => '/pop/v5/changeorder/pipeline_batch_confirm', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'PipelineId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:test', - ], + 'schema' => ['description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the ID of the change process that corresponds to a specific batch. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5648dbd7-df13********************', 'title' => ''], + ], + [ + 'name' => 'Confirm', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to release the next batch. Valid values:'."\n" + ."\n" + .'- true: releases the next batch.'."\n" + ."\n" + .'- false: does not release the next batch.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -1628,300 +955,192 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionEntity' => [ - 'description' => 'The namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'Beta', - ], - 'RegionNo' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:beta', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionEntityList\\": {\\n \\"RegionEntity\\": [\\n {\\n \\"RegionName\\": \\"Beta\\",\\n \\"RegionNo\\": \\"cn-beijing:beta\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RegionEntityList>\\n <RegionEntity>\\n <RegionName>Beta</RegionName>\\n <RegionNo>cn-beijing:beta</RegionNo>\\n </RegionEntity>\\n <RegionEntity>\\n <RegionName>AllFlow</RegionName>\\n <RegionNo>cn-beijing:AllFlow</RegionNo>\\n </RegionEntity>\\n <RegionEntity>\\n <RegionName>doc-test</RegionName>\\n <RegionNo>cn-beijing:doc</RegionNo>\\n </RegionEntity>\\n <RegionEntity>\\n <RegionName>test_region</RegionName>\\n <RegionNo>cn-beijing:test</RegionNo>\\n </RegionEntity>\\n</RegionEntityList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'QueryMigrateRegionList', - 'summary' => 'Queries the namespaces to which an instance can be migrated.', + 'title' => 'ContinuePipeline', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListCluster' => [ - 'summary' => 'Queries clusters.', - 'path' => '/pop/v5/resource/cluster_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ContinuePipeline'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', + ], + 'ConvertK8sResource' => [ + 'path' => '/pop/v5/oam/k8s_resource_convert', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace. You can call the ListUserDefineRegion operation to query the namespace ID. For more information, see [ListUserDefineRegion](~~149377~~).'."\n" - ."\n" - .'* If this parameter is left empty, the clusters in the default namespace are queried.'."\n" - .'* If this parameter is specified, the clusters in the specified namespace are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The resource type. Only deployment is supported.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'default' => '', 'title' => '', 'example' => 'deployment'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ResourceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. You can call the ListResourceGroup operation to query the resource group ID. For more information, see [ListResourceGroup](~~62055~~).'."\n" - ."\n" - .'* If this parameter is left empty, the clusters in the default resource group are queried.'."\n" - .'* If this parameter is specified, the clusters in the specified resource group are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '461', - ], + 'schema' => ['description' => 'The name of the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'deployment-to-convert'], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => 'The namespace.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'default' => '', 'title' => '', 'example' => 'default'], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'b07c8192-****-adf4f7447720'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de****', - ], - 'ClusterList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Cluster' => [ - 'description' => 'The clusters.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID'."\n", - 'type' => 'string', - 'example' => 'vpc-23727****', - ], - 'OversoldFactor' => [ - 'description' => 'The CPU overcommit ratio that is supported by a Docker cluster. Valid values:'."\n" - ."\n" - .'* 1: 1:1, which means that CPU resources are not overcommitted.'."\n" - .'* 2: 1:2, which means that CPU resources are overcommitted by 1:2.'."\n" - .'* 4: 1:4, which means that CPU resources are overcommitted by 1:4.'."\n" - .'* 8: 1:8, which means that CPU resources are overcommitted by 1:8.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => 'The timestamp when the cluster was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1533820823203', - ], - 'MemUsed' => [ - 'description' => 'The size of used memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'IaasProvider' => [ - 'description' => 'The provider of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the cluster was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1502888064561', - ], - 'CpuUsed' => [ - 'description' => 'The number of used CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3072', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CsClusterId' => [ - 'description' => 'The ID of the cluster in Container Service for Kubernetes (ACK).'."\n", - 'type' => 'string', - 'example' => 'c2ce************b9203a9', - ], - 'NetworkMode' => [ - 'description' => 'The network type of the cluster. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2: virtual private cloud (VPC)'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'Test'."\n", - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: regular Docker cluster'."\n" - .'* 1: Swarm cluster'."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 3: self-managed Kubernetes cluster in Enterprise Distributed Application Service (EDAS)'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n" - .'* 5: ACK cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => '461', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster-test', - ], - 'NodeNum' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster in EDAS.'."\n", - 'type' => 'string', - 'example' => 'b98b5919-c111-4dad-9f74-7233********', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'convert success'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'BA938591-*********-9690-BFD3F4DD7A93'], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de****\\",\\n \\"ClusterList\\": {\\n \\"Cluster\\": [\\n {\\n \\"VpcId\\": \\"vpc-23727****\\",\\n \\"OversoldFactor\\": 1,\\n \\"UpdateTime\\": 1533820823203,\\n \\"MemUsed\\": 200,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1502888064561,\\n \\"CpuUsed\\": 1,\\n \\"Mem\\": 3072,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"Cpu\\": 2,\\n \\"CsClusterId\\": \\"c2ce************b9203a9\\",\\n \\"NetworkMode\\": 1,\\n \\"Description\\": \\"测试集群\\",\\n \\"ClusterType\\": 2,\\n \\"ResourceGroupId\\": \\"461\\",\\n \\"ClusterName\\": \\"cluster-test\\",\\n \\"NodeNum\\": 2,\\n \\"ClusterId\\": \\"b98b5919-c111-4dad-9f74-7233********\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ClusterList>\\n <Cluster>\\n <OversoldFactor>1</OversoldFactor>\\n <Description>测试集群</Description>\\n <ResourceGroupId>461</ResourceGroupId>\\n <NodeNum>2</NodeNum>\\n <ClusterId>b98b5919-c111-4dad-9f74-7233********</ClusterId>\\n <CreateTime>1502888064561</CreateTime>\\n <Cpu>2</Cpu>\\n <NetworkMode>1</NetworkMode>\\n <ClusterType>2</ClusterType>\\n <CsClusterId>c2ce************b9203a9</CsClusterId>\\n <MemUsed>200</MemUsed>\\n <Mem>3072</Mem>\\n <VpcId>vpc-23727****</VpcId>\\n <UpdateTime>1533820823203</UpdateTime>\\n <ClusterName>cluster-test</ClusterName>\\n <IaasProvider>ALIYUN</IaasProvider>\\n <RegionId>cn-beijing</RegionId>\\n <CpuUsed>1</CpuUsed>\\n </Cluster>\\n</ClusterList>\\n<RequestId>1053-08e4-47a5-b2ab-5c0323de****</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListCluster', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetCluster' => [ - 'path' => '/pop/v5/resource/cluster', - 'methods' => [ - 'get', + 'title' => 'ConvertK8sResource', + 'summary' => 'Converts a Deployment resource into an application.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConvertK8sResource'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"convert success\\",\\n \\"RequestId\\": \\"BA938591-*********-9690-BFD3F4DD7A93\\"\\n}","type":"json"}]', + ], + 'CreateApplicationScalingRule' => [ + 'path' => '/pop/v1/eam/scale/application_scaling_rule', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS). You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5439271a-015b-433d-****-d76db49****', - ], + 'schema' => ['description' => 'The application ID. To get this ID, call the [ListApplication](~~149390~~) operation.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Auto Scaling rule. The name must start with a lowercase letter. It can contain lowercase letters, digits, and hyphens (-). The name must be 1 to 32 characters long.', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the Auto Scaling rule. Only the **trigger** type is supported.', 'type' => 'string', 'required' => false, 'example' => 'trigger', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the Auto Scaling rule.'."\n" + ."\n" + .'- **true**: enables the rule.'."\n" + ."\n" + .'- **false**: disables the rule.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleMetric', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleTimer', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleTrigger', + 'in' => 'query', + 'schema' => ['description' => 'The trigger policy. Set this parameter to a JSON string of the ScalingRuleTriggerDTO object. For more information about the format, see Additional information about request parameters.', 'type' => 'string', 'required' => false, 'example' => 'ScalingRuleTriggerDTO{......}', 'title' => ''], + ], + [ + 'name' => 'ScalingBehaviour', + 'in' => 'query', + 'schema' => ['description' => 'The configuration for custom scaling behaviors. For more information about the data structure, see the example.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "scaleUp": {'."\n" + .' "stabilizationWindowSeconds": "0",'."\n" + .' "selectPolicy": "Max",'."\n" + .' "policies": ['."\n" + .' {'."\n" + .' "type": "Pods",'."\n" + .' "value": 5,'."\n" + .' "periodSeconds": 15'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "scaleDown": {'."\n" + .' "stabilizationWindowSeconds": "300",'."\n" + .' "selectPolicy": "Max",'."\n" + .' "policies": ['."\n" + .' {'."\n" + .' "type": "Percent",'."\n" + .' "value": 200,'."\n" + .' "periodSeconds": 15'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}', 'title' => ''], ], ], 'responses' => [ @@ -1929,442 +1148,435 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The detailed information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'd76db491', - ], - 'Cluster' => [ - 'description' => 'The information about the cluster.'."\n", + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'AppScalingRule' => [ + 'description' => 'The Auto Scaling rule.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-xxxxz1mlwpb****', - ], - 'OversoldFactor' => [ - 'description' => 'The overcommit ratio supported by a Docker cluster. Valid values:'."\n" - ."\n" - .'* 1: 1:1, which means that resources are not overcommitted.'."\n" - .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" - .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" - .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'UpdateTime' => [ - 'description' => 'The time when the cluster was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1570708232145', - ], - 'MemUsed' => [ - 'description' => 'The size of used memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'IaasProvider' => [ - 'description' => 'The provider of Infrastructure as a Service (IaaS) resources used in the cluster.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'CreateTime' => [ - 'description' => 'The time when the cluster was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1570708232145', - ], - 'CpuUsed' => [ - 'description' => 'The number of used CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the cluster resides.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CsClusterId' => [ - 'description' => 'The ID of the Container Service for Kubernetes (ACK) cluster.'."\n", - 'type' => 'string', - 'example' => 'c2ce62869f4d4466b920312315f05****', - ], - 'NetworkMode' => [ - 'description' => 'The network type of the cluster. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2: virtual private cloud (VPC)'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'Test'."\n", - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: regular Docker cluster'."\n" - .'* 1: Swarm cluster'."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 3: self-managed Kubernetes cluster in EDAS'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n" - .'* 5: ACK cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ClusterTest', - ], - 'NodeNum' => [ - 'description' => 'The number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ClusterImportStatus' => [ - 'description' => 'The import status of the cluster. Valid values:'."\n" - ."\n" - .'* 1: The cluster is imported.'."\n" - .'* 2: The cluster fails to be imported.'."\n" - .'* 3: The cluster is being imported.'."\n" - .'* 4: The cluster is deleted.'."\n" - .'* 0: The cluster is not imported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'UpdateTime' => ['description' => 'The UNIX timestamp when the Auto Scaling rule was updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'CreateTime' => ['description' => 'The UNIX timestamp when the Auto Scaling rule was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application for the Auto Scaling rule.', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + 'LastDisableTime' => ['description' => 'The UNIX timestamp when the Auto Scaling rule was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'The state of the Auto Scaling rule.'."\n" + ."\n" + .'- **true**: enabled'."\n" + ."\n" + .'- **false**: disabled', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the rule. Only trigger is supported.', 'type' => 'string', 'example' => 'trigger', 'title' => ''], + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleName' => ['description' => 'The name of the Auto Scaling rule.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + 'Metric' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Metrics' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricType' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '5439271a-015b-433d-befb-d76d****', + 'Trigger' => [ + 'description' => 'The trigger configuration.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'The minimum number of replicas. The value cannot be less than 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of replicas. The value cannot exceed 1,000.', 'type' => 'integer', 'format' => 'int32', 'example' => '122', 'title' => ''], + 'Triggers' => [ + 'description' => 'A list of triggers.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of triggers.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the trigger. Valid values: cron and app\\_metric.', 'type' => 'string', 'example' => 'cron', 'title' => ''], + 'MetaData' => ['description' => 'The metadata of the trigger.', 'type' => 'string', 'example' => '{"dryRun":true}', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'SubClusterType' => [ - 'title' => 'K8S类型集群的子类型:ManagedKubernetes为阿里云ACK集群类型,'."\n" - .'Ask为阿里云ASK集群类型,'."\n" - .'ExternalKubernetes为外部集群类型', - 'description' => 'The subtype of the Kubernetes cluster. Valid values: ManagedKubernetes, Ask, and ExternalKubernetes. ManagedKubernetes refers to the ACK cluster. Ask refers to the Serverless Kubernetes (ASK) cluster. ExternalKubernetes refers to the external cluster.'."\n", - 'type' => 'string', - 'example' => 'ManagedKubernetes', - 'enum' => [ - 'ManagedKubernetes', - 'Ask', + 'Behaviour' => [ + 'description' => 'The scaling behavior.', + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'description' => 'The configuration of the scale-out behavior.', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for scale-out events. Unit: seconds. Valid values: 0 to 3600. Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scale-out step size. Valid values: Max, Min, and Disable.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'description' => 'The policy configuration.', + 'type' => 'array', + 'items' => [ + 'description' => 'The policy configuration.', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The period in which the policy is checked for execution. Unit: seconds. Valid values: 0 to 1800.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The type of the policy. Valid values: Pods and Percent.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value for the scaling behavior policy. This must be an integer greater than 0. If the policy type is Pods, the value specifies the number of pods. If the policy type is Percent, the value specifies a percentage, which can exceed 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleDown' => [ + 'description' => 'The configuration of the scale-in behavior.', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for scale-in events. Unit: seconds. Valid values: 0 to 3600. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scale-in step size. Valid values: Max, Min, and Disable.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'description' => 'The policy configuration.', + 'type' => 'array', + 'items' => [ + 'description' => 'The policy configuration.', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The period in which the policy is checked for execution. Unit: seconds. Valid values: 0 to 1800.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The type of the policy. Valid values: Pods and Percent.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value for the scaling behavior policy. This must be an integer greater than 0. If the policy type is Pods, the value specifies the number of pods. If the policy type is Percent, the value specifies a percentage, which can exceed 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d76db491\\",\\n \\"Cluster\\": {\\n \\"VpcId\\": \\"vpc-xxxxz1mlwpb****\\",\\n \\"OversoldFactor\\": 2,\\n \\"UpdateTime\\": 1570708232145,\\n \\"MemUsed\\": 1024,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1570708232145,\\n \\"CpuUsed\\": 2,\\n \\"Mem\\": 2048,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Cpu\\": 4,\\n \\"CsClusterId\\": \\"c2ce62869f4d4466b920312315f05****\\",\\n \\"NetworkMode\\": 2,\\n \\"Description\\": \\"测试\\",\\n \\"ClusterType\\": 2,\\n \\"ClusterName\\": \\"ClusterTest\\",\\n \\"NodeNum\\": 4,\\n \\"ClusterImportStatus\\": 0,\\n \\"ClusterId\\": \\"5439271a-015b-433d-befb-d76d****\\",\\n \\"SubClusterType\\": \\"ManagedKubernetes\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<Cluster>\\n <MemUsed>2048</MemUsed>\\n <Mem>2048</Mem>\\n <NetworkMode>2</NetworkMode>\\n <UpdateTime>1570708232145</UpdateTime>\\n <NodeNum>2</NodeNum>\\n <VpcId>vpc-bp19z1mlwpbjx3e9mwefe</VpcId>\\n <OversoldFactor>1</OversoldFactor>\\n <Cpu>2</Cpu>\\n <ClusterId>5439271a-015b-433d-befb-d76db4911b7c</ClusterId>\\n <ClusterName>GTSDemoTesting</ClusterName>\\n <CreateTime>1561444573420</CreateTime>\\n <RegionId>cn-hangzhou</RegionId>\\n <CpuUsed>2</CpuUsed>\\n <ClusterType>2</ClusterType>\\n <IaasProvider>ALIYUN</IaasProvider>\\n</Cluster>","errorExample":""}]', - 'title' => 'GetCluster', - 'summary' => 'Queries a specific cluster.', - 'requestParamsDescription' => ' ', + 'title' => 'CreateApplicationScalingRule', + 'summary' => 'Call the CreateApplicationScalingRule operation to create an Auto Scaling rule for an application.', + 'requestParamsDescription' => '## Additional information about request parameters'."\n" + ."\n" + .'```'."\n" + .'public class ScalingRuleTriggerDTO {'."\n" + .' /**'."\n" + .' * The maximum number of instances. The value cannot exceed 1,000.'."\n" + .' */'."\n" + .' Integer maxReplicas;'."\n" + .' /**'."\n" + .' * The minimum number of instances. The value cannot be less than 0.'."\n" + .' */'."\n" + .' Integer minReplicas;'."\n" + ."\n" + .' /**'."\n" + .' * A list of triggers. Multiple triggers are supported.'."\n" + .' */'."\n" + .' List<Trigger> triggers;'."\n" + ."\n" + .' @Data'."\n" + .' @ToString'."\n" + .' @Builder'."\n" + .' @AllArgsConstructor'."\n" + .' @NoArgsConstructor'."\n" + .' public static class Trigger {'."\n" + .' /**'."\n" + .' * The type of the trigger. Valid values: cron (scheduled) and app_metric (application monitoring).'."\n" + .' */'."\n" + .' String type;'."\n" + ."\n" + .' /**'."\n" + .' * The name of the trigger. The name must start with a letter and can contain digits, letters, hyphens (-), and underscores (_). The name can be up to 30 characters long.'."\n" + .' */'."\n" + .' String name;'."\n" + ."\n" + .' /**'."\n" + .' The metadata of the trigger. This is a JSON map that contains string-to-string key-value pairs. The supported metadata varies based on the trigger type.'."\n" + .' 1. cron'."\n" + .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" + .' * period: The interval. Valid values: daily, weekly, and monthly.'."\n" + .' * dryRun: If this is set to false, the system monitors and performs scaling activities. If this is set to true, the system only monitors the metrics.'."\n" + .' * timerInDay: The scaling cycle for each day. This parameter specifies when to start maintaining a specific number of replicas.'."\n" + .' * timerInWeek: The day of the week in a cron expression. For example, Fri.'."\n" + ."\n" + .' 2. app_metric'."\n" + .' {\\"metricName\\":\\"arms_appstat.incall_QPS\\",\\"dryRun\\":\\"false\\",\\"targetValAvg\\":\\"true\\",\\"targetAverageValue\\":\\"100\\"}'."\n" + .' '."\n" + .' * metricName:'."\n" + .' * arms_appstat.incall_QPS (queries per second (QPS))'."\n" + .' * arms_appstat.incall_rt (response time)'."\n" + .' * arms_appstat.system_CPU (CPU usage)'."\n" + .' * arms_appstat.system_MEM (memory usage)'."\n" + .' * dryRun: This parameter has the same meaning as the dryRun parameter for cron triggers.'."\n" + .' * targetValAvg: Specifies whether to average the metric values. Set this to true for QPS and false for other metrics.'."\n" + .' * targetAverageValue/targetValue: Use targetAverageValue if targetValAvg is true. Use targetValue if targetValAvg is false.'."\n" + .' */'."\n" + .' String metadata;'."\n" + .' }'."\n" + .'}'."\n" + .'```', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListVpc' => [ - 'path' => '/pop/v5/vpc_list', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 2,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', + ], + 'CreateConfigTemplate' => [ + 'summary' => 'Creates a configuration template.', + 'path' => '/pop/v5/config_template', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the configuration template. The name can be up to 64 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'my-template'], + ], + [ + 'name' => 'Format', + 'in' => 'formData', + 'schema' => ['description' => 'The data format of the configuration template. Valid values:'."\n" + ."\n" + .'- JSON: JSON format'."\n" + ."\n" + .'- XML: XML format'."\n" + ."\n" + .'- YAML: YAML format'."\n" + ."\n" + .'- Properties: .properties format'."\n" + ."\n" + .'- KeyValue: key-value pairs'."\n" + ."\n" + .'- Custom: custom format', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'JSON'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => 'The description of the configuration template. The description can be up to 255 characters in length.', 'type' => 'string', 'example' => 'My configuration template', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Content', + 'in' => 'formData', + 'schema' => ['description' => 'The content of the configuration template. The value must be in the format that is specified by the Format parameter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The ID of the request.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The information about VPCs.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The name of the VPC.', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'VpcList' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'D16979DC-4D42-****************'], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => [ + 'title' => '', + 'description' => 'The data returned.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'VpcEntity' => [ - 'description' => 'Indicates whether the VPC is available. Valid values:'."\n" - .'- true: The VPC is available.'."\n" - .'- false: The VPC is unavailable.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.', - 'type' => 'string', - 'example' => 'vpc-wz9pcq3jofczwpujq****', - ], - 'VpcName' => [ - 'description' => 'The number of ECS instances associated with the VPC.', - 'type' => 'string', - 'example' => 'edas-default-vpc4', - ], - 'Expired' => [ - 'description' => 'The region ID of the VPC.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => 'GET /pop/v5/vpc_list HTTP/1.1'."\n" - .'Common request headers'."\n", - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'EcsNum' => [ - 'description' => 'This operation uses only common request headers. For more information, see [Common parameters for API calls](~~123488~~). ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => 'No request parameters. ', - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - ], - ], - ], + 'Id' => ['description' => 'The ID of the template.', 'type' => 'integer', 'format' => 'int64', 'example' => '125122', 'title' => ''], ], + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"VpcList\\": {\\n \\"VpcEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9pcq3jofczwpujq****\\",\\n \\"VpcName\\": \\"edas-default-vpc4\\",\\n \\"Expired\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"EcsNum\\": 0,\\n \\"RegionId\\": \\"cn-shenzhen\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<VpcList>\\n <VpcEntity>\\n <VpcName>public_auto_test_vpc_</VpcName>\\n <Expired>false</Expired>\\n <RegionId>cn-shenzhen</RegionId>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <EcsNum>2</EcsNum>\\n <VpcId>vpc-wz90fbqjyyvxznxpy****</VpcId>\\n </VpcEntity>\\n <VpcEntity>\\n <VpcName>edas-default-vpc2</VpcName>\\n <Expired>false</Expired>\\n <RegionId>cn-shenzhen</RegionId>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <EcsNum>8</EcsNum>\\n <VpcId>vpc-wz90iikh8t4kdlwlj****</VpcId>\\n </VpcEntity>\\n</VpcList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListVpc', - 'summary' => 'Queries virtual private clouds (VPCs). This operation is applicable to Elastic Compute Service (ECS) clusters and Kubernetes clusters.', - 'requestParamsDescription' => 'The message returned.', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'QueryRegionConfig' => [ - 'summary' => 'Queries the configurations of different regions that are supported by Enterprise Distributed Application Service (EDAS).', - 'path' => '/pop/v5/region_config', - 'methods' => [ - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message ', 'errorMessage' => 'You are not authorized to perform the operation. ', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Id\\": 125122\\n }\\n}","type":"json"}]', + 'title' => 'CreateConfigTemplate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateConfigTemplate'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'CreateIDCImportCommand' => [ + 'summary' => 'Generates a command that is used to import instances to a hybrid cloud Elastic Compute Service (ECS) cluster.', + 'path' => '/pop/v5/create_idc_import_command', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster ID. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', 'title' => ''], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionConfig' => [ - 'description' => 'The information about region configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'No' => [ - 'description' => 'The serial number of the region. This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AddressServerHost' => [ - 'description' => 'The domain name of Address Server.'."\n", - 'type' => 'string', - 'example' => '****.edas.aliyun.com', - ], - 'Tag' => [ - 'description' => 'The tag of the region. The value is fixed to `ALIYUN_SHARE`.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN_SHARE', - ], - 'AgentInstallScript' => [ - 'description' => 'The installation path of the script for EDAS Agent.'."\n", - 'type' => 'string', - 'example' => 'http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh', - ], - 'FileServerType' => [ - 'description' => 'The type of the file server.'."\n", - 'type' => 'string', - 'example' => 'oss', - ], - 'Name' => [ - 'description' => 'The configured name of the region.'."\n", - 'type' => 'string', - 'example' => 'China (Beijing)'."\n", - ], - 'ImageId' => [ - 'description' => 'The ID of the official image.'."\n", - 'type' => 'string', - 'example' => 'm-2zea4hx8f9zxqah2****', - ], - 'Id' => [ - 'description' => 'The configured ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'FileServerConfig' => [ - 'description' => 'The information about the file server.'."\n", - 'type' => 'object', - 'properties' => [ - 'InternalUrl' => [ - 'description' => 'The internal endpoint of the file server.'."\n", - 'type' => 'string', - 'example' => 'oss-cn-beijing-****.aliyuncs.com', - ], - 'PublicUrl' => [ - 'description' => 'The public endpoint of the file server.'."\n", - 'type' => 'string', - 'example' => 'oss-cn-beijing.aliyuncs.com', - ], - 'VpcUrl' => [ - 'description' => 'The virtual private cloud (VPC) endpoint of the file server.'."\n", - 'type' => 'string', - 'example' => 'v*****-oss-cn-beijing.aliyuncs.com', - ], - 'Bucket' => [ - 'description' => 'The Object Storage Service (OSS) bucket of the file server.'."\n", - 'type' => 'string', - 'example' => 'edas-bj', - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The generated import command.', 'type' => 'string', 'example' => 'wget -q -O /tmp/install.sh http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/install.sh && sh /tmp/install.sh -idcToken xxxx-xxxxx-xxxxx-xxxxxxx -edasId xxxxxxxxxxxxxx', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionConfig\\": {\\n \\"No\\": 1,\\n \\"AddressServerHost\\": \\"****.edas.aliyun.com\\",\\n \\"Tag\\": \\"ALIYUN_SHARE\\",\\n \\"AgentInstallScript\\": \\"http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh\\",\\n \\"FileServerType\\": \\"oss\\",\\n \\"Name\\": \\"华北2\\",\\n \\"ImageId\\": \\"m-2zea4hx8f9zxqah2****\\",\\n \\"Id\\": \\"cn-beijing\\",\\n \\"FileServerConfig\\": {\\n \\"InternalUrl\\": \\"oss-cn-beijing-****.aliyuncs.com\\",\\n \\"PublicUrl\\": \\"oss-cn-beijing.aliyuncs.com\\",\\n \\"VpcUrl\\": \\"v*****-oss-cn-beijing.aliyuncs.com\\",\\n \\"Bucket\\": \\"edas-bj\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RegionConfig>\\n <Name>华北2</Name>\\n <ImageId>m-2zea****qah2as71</ImageId>\\n <FileServerType>oss</FileServerType>\\n <FileServerConfig>\\n <InternalUrl>oss-cn-****-internal.aliyuncs.com</InternalUrl>\\n <PublicUrl>oss-cn-****.aliyuncs.com</PublicUrl>\\n <Bucket>edas-bj</Bucket>\\n <VpcUrl>****-oss-cn-beijing.aliyuncs.com</VpcUrl>\\n </FileServerConfig>\\n <Tag>ALIYUN_SHARE</Tag>\\n <AddressServerHost>addr-bj-****.edas.aliy*un.com</AddressServerHost>\\n <Id>cn-beijing</Id>\\n <No>0</No>\\n <AgentInstallScript>http://edas-****-cn-qingdao-***.aliyuncs.com/****.sh</AgentInstallScript>\\n</RegionConfig>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'QueryRegionConfig', - 'requestParamsDescription' => 'No request parameters.'."\n", + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ], + ], + 'title' => 'CreateIDCImportCommand', + 'description' => '## Description'."\n" + ."\n" + .'You must call the CreateIDCImportCommand operation first to generate a command used to import hybrid cloud ECS instances to a hybrid cloud ECS cluster. Then, run this command on the instances to import the instances to the cluster.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListApplicationEcu' => [ - 'path' => '/pop/v5/resource/ecu_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateIDCImportCommand'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"wget -q -O /tmp/install.sh http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/install.sh && sh /tmp/install.sh -idcToken xxxx-xxxxx-xxxxx-xxxxxxx -edasId xxxxxxxxxxxxxx\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\"\\n}","type":"json"}]', + ], + 'CreateK8sConfigMap' => [ + 'summary' => 'Creates a Kubernetes ConfigMap.', + 'path' => '/pop/v5/k8s/acs/k8s_config_map', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application whose ECUs you want to query. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'b07c8192-****-adf4f7447720', 'title' => ''], ], [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the microservices namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:***wei', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-configmap', 'title' => ''], + ], + [ + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => 'The data of the ConfigMap. The value must be a JSON array string.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', 'title' => ''], ], ], 'responses' => [ @@ -2372,785 +1584,167 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'EcuInfoList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => 'The information about ECUs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8**********', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1599803995894', - ], - 'IpAddr' => [ - 'description' => 'The internal IP address allocated to the ECU.'."\n", - 'type' => 'string', - 'example' => '192.168.XXX.XXX', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542692376066', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.'."\n", - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Elastic Compute Service (ECS) instance.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.'."\n", - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed. Valid values:'."\n" - ."\n" - .'* true: Docker is installed.'."\n" - .'* false: Docker is not installed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online. Valid values:'."\n" - ."\n" - .'* true: The ECU is online.'."\n" - .'* false: The ECU is offline.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => 'The size of available memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-h', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D16979DC-4D42-**************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"EcuInfoList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8**********\\",\\n \\"UpdateTime\\": 1599803995894,\\n \\"IpAddr\\": \\"192.168.XXX.XXX\\",\\n \\"AvailableCpu\\": 1,\\n \\"CreateTime\\": 1542692376066,\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"Mem\\": 500,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Cpu\\": 1,\\n \\"AppId\\": \\"e809****-43d7-4c6b-8e01-b0d9d1db****\\",\\n \\"DockerEnv\\": true,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 200,\\n \\"ZoneId\\": \\"cn-beijing-h\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListApplicationEcuResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <RequestId>b197-40ab-9155-7ca7</RequestId>\\n <EcuInfoList>\\n <VpcId>vpc-2zef6ob8**********</VpcId>\\n <UpdateTime>1599803995894</UpdateTime>\\n <IpAddr>192.123.XX.XX</IpAddr>\\n <AvailableCpu>1</AvailableCpu>\\n <CreateTime>1542692376066</CreateTime>\\n <UserId>****_common_****@aliyun.com</UserId>\\n <InstanceId>i-2zej4i2jdf*********</InstanceId>\\n <Mem>500</Mem>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>0de2ebdb-9490-4fc4-be41***************</EcuId>\\n <Cpu>1</Cpu>\\n <AppId>e809****-43d7-4c6b-8e01-b0d9d1db****</AppId>\\n <DockerEnv>true</DockerEnv>\\n <Online>true</Online>\\n <AvailableMem>200</AvailableMem>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <Name>test</Name>\\n <HeartbeatTime>1573281040819</HeartbeatTime>\\n </EcuInfoList>\\n</ListApplicationEcuResponse>","errorExample":""}]', - 'title' => 'ListApplicationEcu', - 'summary' => 'Queries elastic compute units (ECUs).', - 'requestParamsDescription' => '* If AppId is set, the ECUs of the specified application will be queried.'."\n" - .'* If AppId is not set, the ECUs in the current region will be queried.'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListResourceGroup' => [ - 'path' => '/pop/v5/resource/reg_group_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', + 'title' => 'CreateK8sConfigMap', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sConfigMap'], + ], ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The content that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ResourceGroupList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ResGroupEntity' => [ - 'description' => 'For more information about how to define a resource group, see ResGroupEntity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the resource group.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the resource group was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'Description' => [ - 'description' => 'The description of the resource group.'."\n", - 'type' => 'string', - 'example' => 'QqLZDA3pBZ', - ], - 'AdminUserId' => [ - 'description' => 'The UID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => '****@aliyun.com', - ], - 'CreateTime' => [ - 'description' => 'The time when the resource group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1557890594376', - ], - 'Name' => [ - 'description' => 'The name of the resource group.'."\n", - 'type' => 'string', - 'example' => 'TIa2LGixyD', - ], - 'Id' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8592', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the resource group belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - 'ecsList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcsEntity' => [ - 'description' => 'The Elastic Compute Service (ECS) instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the ECS instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The unique ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-bp13evu4aayj2t1er****', - ], - 'SgId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-m5eajgzn6b8sg9mv****', - ], - 'Status' => [ - 'description' => 'The status of the ECS instance. Valid values:'."\n" - ."\n" - .'* Pending: The ECS instance is being created.'."\n" - .'* Running: The ECS instance is running.'."\n" - .'* Starting: The ECS instance is being started.'."\n" - .'* Stopping: The ECS instance is being stopped.'."\n" - .'* Stopped: The ECS instance is stopped.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'PrivateIp' => [ - 'description' => 'The private IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'Expired' => [ - 'description' => 'Indicates whether the ECS instance has expired. Valid values:'."\n" - ."\n" - .'* true: The ECS instance has expired.'."\n" - .'* false: The ECS instance has not expired.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'UserId' => [ - 'description' => 'The ID of the user account.'."\n", - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'HostName' => [ - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'example' => 'iZm5e853hvvrodnvqus****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-m5e853hvvrodnvqu****', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'ch-hangzhou', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => 'The private IP address.'."\n", - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'GroupId' => [ - 'description' => 'The ID of the resource group in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'example' => '64189****', - ], - 'Eip' => [ - 'description' => 'The elastic IP address (EIP).'."\n", - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'Description' => [ - 'description' => 'The description of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'betabjmixcoud_01', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao-h', - ], - 'SerialNum' => [ - 'description' => 'The serial number of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '98b480b8-458b-4ff3-84b9-cf7097c5****', - ], - 'PublicIp' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'EcuEntity' => [ - 'description' => 'The elastic compute unit (ECU) that corresponds to the ECS instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-2ze1ram356umxs598****', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'IpAddr' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1557890594376', - ], - 'UserId' => [ - 'description' => 'The ID of the user associated with the ECU.'."\n", - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing ', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the elastic compute unit (ECU). You can run the `dmidecode` command on the ECS instance to query the ECU ID.'."\n", - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed. Valid values:'."\n" - ."\n" - .'* true: Docker is installed.'."\n" - .'* false: Docker is not installed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online. Valid values:'."\n" - ."\n" - .'* true: The ECU is online.'."\n" - .'* false: The ECU is offline.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => 'The size of the available memory.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-b', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - 'VpcEntity' => [ - 'description' => 'The VPCs.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the VPC.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'VpcName' => [ - 'description' => 'The name of the VPC.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'VpcId' => [ - 'description' => 'The unique ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp13evu42t1er****', - ], - 'Description' => [ - 'description' => 'The description of the VPC.'."\n", - 'type' => 'string', - 'example' => '""', - ], - 'Expired' => [ - 'description' => 'Indicates whether the VPC has expired. Valid values:'."\n" - ."\n" - .'* true: The VPC has expired.'."\n" - .'* false: The VPC has not expired.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cidrblock' => [ - 'description' => 'The IPv4 CIDR block of the vSwitch.'."\n", - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'UserId' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'EcsNum' => [ - 'description' => 'The number of ECS instances that run in the VPC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - ], - ], - ], - ], - ], - ], - ], - 'SlbList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlbEntity' => [ - 'description' => 'The Server Load Balancer (SLB) instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about SLB instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'SlbId' => [ - 'description' => 'The unique ID of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-2zebf1fpbpkc7dnro****', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-m5e666n89m2bx8jar****', - ], - 'VswitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-mktkxkhah14****', - ], - 'Expired' => [ - 'description' => 'Indicates whether the SLB instance has expired. Valid values:'."\n" - ."\n" - .'* true: The SLB instance has expired.'."\n" - .'* false: The SLB instance has not expired.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'UserId' => [ - 'description' => 'The UID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => '****@aliyun.com', - ], - 'AddressType' => [ - 'description' => 'The type of the IP address of the SLB instance. Valid values:'."\n" - ."\n" - .'* Internet: Users can connect to the SLB instance over the Internet.'."\n" - .'* Intranet: Users can connect to the SLB instance over the internal network.'."\n", - 'type' => 'string', - 'example' => 'Intranet', - ], - 'NetworkType' => [ - 'description' => 'The network type of the SLB instance. Valid values:'."\n" - ."\n" - .'* Classic network'."\n" - .'* VPC'."\n", - 'type' => 'string', - 'example' => 'vpc', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'GroupId' => [ - 'description' => 'The ID of the group to which the SLB instance belongs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '64189****', - ], - 'Address' => [ - 'description' => 'The IP address of the SLB instance.'."\n", - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'SlbName' => [ - 'description' => 'The name of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'a9315af59b4cd11e9a18c00163e1****', - ], - 'SlbStatus' => [ - 'description' => 'The status of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ResourceGroupList\\": {\\n \\"ResGroupEntity\\": [\\n {\\n \\"UpdateTime\\": 1573281040827,\\n \\"Description\\": \\"QqLZDA3pBZ\\",\\n \\"AdminUserId\\": \\"****@aliyun.com\\",\\n \\"CreateTime\\": 1557890594376,\\n \\"Name\\": \\"TIa2LGixyD\\",\\n \\"Id\\": 8592,\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ecsList\\": {\\n \\"EcsEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp13evu4aayj2t1er****\\",\\n \\"SgId\\": \\"sg-m5eajgzn6b8sg9mv****\\",\\n \\"Status\\": \\"Running\\",\\n \\"PrivateIp\\": \\"192.168.xx.xxx\\",\\n \\"Expired\\": true,\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"HostName\\": \\"iZm5e853hvvrodnvqus****\\",\\n \\"InstanceId\\": \\"i-m5e853hvvrodnvqu****\\",\\n \\"Mem\\": 1,\\n \\"RegionId\\": \\"ch-hangzhou\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.xx.xxx\\",\\n \\"GroupId\\": \\"64189****\\",\\n \\"Eip\\": \\"192.168.xxx.xx\\",\\n \\"Description\\": \\"test\\",\\n \\"InstanceName\\": \\"betabjmixcoud_01\\",\\n \\"ZoneId\\": \\"cn-qingdao-h\\",\\n \\"SerialNum\\": \\"98b480b8-458b-4ff3-84b9-cf7097c5****\\",\\n \\"PublicIp\\": \\"192.168.xx.xxx\\",\\n \\"EcuEntity\\": {\\n \\"VpcId\\": \\"vpc-2ze1ram356umxs598****\\",\\n \\"UpdateTime\\": 1573281040827,\\n \\"IpAddr\\": \\"192.168.xxx.xx\\",\\n \\"AvailableCpu\\": 1,\\n \\"CreateTime\\": 1557890594376,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"Mem\\": 200,\\n \\"RegionId\\": \\"cn-beijing \\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Cpu\\": 2,\\n \\"DockerEnv\\": true,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 200,\\n \\"ZoneId\\": \\"cn-beijing-b\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n },\\n \\"VpcEntity\\": {\\n \\"Status\\": \\"Running\\",\\n \\"VpcName\\": \\"test\\",\\n \\"VpcId\\": \\"vpc-bp13evu42t1er****\\",\\n \\"Description\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Expired\\": true,\\n \\"Cidrblock\\": \\"192.168.xx.xxx\\",\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"EcsNum\\": 1,\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n }\\n ]\\n },\\n \\"SlbList\\": {\\n \\"SlbEntity\\": [\\n {\\n \\"SlbId\\": \\"lb-2zebf1fpbpkc7dnro****\\",\\n \\"VpcId\\": \\"vpc-m5e666n89m2bx8jar****\\",\\n \\"VswitchId\\": \\"vsw-mktkxkhah14****\\",\\n \\"Expired\\": true,\\n \\"UserId\\": \\"****@aliyun.com\\",\\n \\"AddressType\\": \\"Intranet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"GroupId\\": 0,\\n \\"Address\\": \\"192.168.xxx.xx\\",\\n \\"SlbName\\": \\"a9315af59b4cd11e9a18c00163e1****\\",\\n \\"SlbStatus\\": \\"active\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>b197-40ab-9155-7ca7</RequestId>\\n<Message>success</Message>\\n<ResourceGroupList>\\n <ResGroupEntity>\\n <Description>QqLZDA3pBZ</Description>\\n <CreateTime>1557890594376</CreateTime>\\n <UpdateTime>1573281040827</UpdateTime>\\n <AdminUserId>117274586608****</AdminUserId>\\n <RegionId>cn-qingdao</RegionId>\\n <Id>8592</Id>\\n <ecsList>\\n <EcsEntity>\\n <Status>Running</Status>\\n <VpcEntity>\\n <Status>Running</Status>\\n <Description>\\"\\"</Description>\\n <VpcId>vpc-bp13evu4aayj2t1er****</VpcId>\\n <UserId>****_common_****@aliyun.com</UserId>\\n <EcsNum>1</EcsNum>\\n <Expired>true</Expired>\\n <Cidrblock>130.3</Cidrblock>\\n <VpcName>test</VpcName>\\n <RegionId>cn-qingdao</RegionId>\\n </VpcEntity>\\n <Description>\\"\\"</Description>\\n <ZoneId>cn-qingdao-h</ZoneId>\\n <InnerIp>192.168.xx.xxx</InnerIp>\\n <PublicIp>130.30.xx.xxx</PublicIp>\\n <InstanceId>i-m5e853hvvrodnvqu****</InstanceId>\\n <SgId>sg-m5eajgzn6b8sg9mv****</SgId>\\n <Cpu>2</Cpu>\\n <Expired>true</Expired>\\n <Eip>130.30.xx.xxx</Eip>\\n <GroupId>0</GroupId>\\n <InstanceName>betabjmixcoud_01</InstanceName>\\n <SerialNum>98b480b8-458b-4ff3-84b9-cf7097c5****</SerialNum>\\n <Mem>1</Mem>\\n <VpcId>vpc-bp13evu4aayj2t1er****</VpcId>\\n <PrivateIp>192.168.xx.xxx</PrivateIp>\\n <UserId>****_common_****@aliyun.com</UserId>\\n <EcuEntity>\\n <IpAddr>192.168.xxx.xx</IpAddr>\\n <ZoneId>cn-beijing-b</ZoneId>\\n <InstanceId>i-2zej4i2jdf*********</InstanceId>\\n <CreateTime>1557890594376</CreateTime>\\n <Cpu>2</Cpu>\\n <EcuId>0de2ebdb-9490-4fc4-be41***************</EcuId>\\n <AvailableMem>200</AvailableMem>\\n <HeartbeatTime>1573281040819</HeartbeatTime>\\n <Name>test</Name>\\n <Mem>200</Mem>\\n <VpcId>vpc-2ze1ram356umxs598****</VpcId>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <UpdateTime>1573281040827</UpdateTime>\\n <RegionId>cn-beijing</RegionId>\\n <Online>true</Online>\\n <AvailableCpu>1</AvailableCpu>\\n <DockerEnv>true</DockerEnv>\\n </EcuEntity>\\n <RegionId>ch-hangzhou</RegionId>\\n <HostName>iZm5e853hvvrodnvqus****</HostName>\\n </EcsEntity>\\n </ecsList>\\n <SlbList>\\n <SlbEntity>\\n <SlbId>lb-2zebf1fpbpkc7dnro****</SlbId>\\n <VpcId>641897243</VpcId>\\n <Address>192.168.xxx.xx</Address>\\n <NetworkType>vpc</NetworkType>\\n <UserId>641897243</UserId>\\n <Expired>true</Expired>\\n <RegionId>cn-beijing</RegionId>\\n <AddressType>Intranet</AddressType>\\n <VswitchId>641897243</VswitchId>\\n <SlbName>a9315af59b4cd11e9a18c00163e1****</SlbName>\\n <GroupId>641897243</GroupId>\\n <SlbStatus>active</SlbStatus>\\n </SlbEntity>\\n </SlbList>\\n <Name>TIa2LGixyD</Name>\\n </ResGroupEntity>\\n</ResourceGroupList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListResourceGroup', - 'summary' => 'Queries resource groups.', - 'requestParamsDescription' => 'No request parameters.'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","type":"json"}]', ], - 'ListTagResources' => [ - 'summary' => 'Queries the tags that are added to resources.', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateK8sIngressRule' => [ + 'summary' => 'Creates an Ingress.', + 'path' => '/pop/v5/k8s/acs/k8s_ingress', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **application**: Enterprise Distributed Application Service (EDAS) application'."\n" - .'* **cluster**: EDAS cluster'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'schema' => ['description' => 'The ID of the Kubernetes cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'ResourceIds', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the resources. You can specify up to 20 IDs. Set this parameter to a JSON array.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The key-value pairs that specify the tags.'."\n" - ."\n" - .'* You can add up to 20 tags to a resource.'."\n" - .'* The key cannot start with **aliyun** or **acs:** and cannot contain **http://** or **https://**.'."\n" - .'* The tag key or tag value can be up to 128 characters in length, and can contain letters, digits, hyphens (-), commas (,), asterisks (\\*), forward slashes (/), question marks (?), and colons (:).'."\n" - .'* Set this parameter to a JSON array.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', - ], + 'schema' => ['description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-ingress-rule', 'title' => ''], ], [ - 'name' => 'ResourceRegionId', + 'name' => 'IngressConf', 'in' => 'query', - 'schema' => [ - 'description' => 'The region in which the resource resides.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The routing rules of the Ingress. Set this parameter to a JSON string in the following format:'."\n" + ."\n" + .' {'."\n" + .' "rules": ['."\n" + .' {'."\n" + .' "host": "abc.com",'."\n" + .' "secretName": "tls-secret",'."\n" + .' "paths": ['."\n" + .' {'."\n" + .' "path": "/path",'."\n" + .' "backend": {'."\n" + .' "servicePort": 80,'."\n" + .' "serviceName": "xxx"'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'* rules: the list of routing rules.'."\n" + .'* host: the domain name to be accessed.'."\n" + .'* secretName: the name of the Secret that stores the information about the Transport Layer Security (TLS) certificate. The certificate is required if you need to use the HTTPS protocol.'."\n" + .'* paths: the list of paths to be accessed.'."\n" + .'* path: the path to be accessed.'."\n" + .'* backend: the configuration of the backend service. You can specify a service that is created in the Enterprise Distributed Application Service (EDAS) console.'."\n" + .'* serviceName: the name of the backend service.'."\n" + .'* servicePort: the port of the backend service.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', 'title' => ''], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => 'The annotations.'."\n", 'type' => 'string', 'required' => false, 'example' => '{\\"alb.ingress.kubernetes.io/rewrite-target\\":\\"/consumer-echo/test\\"}', 'title' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => 'The labels.'."\n", 'type' => 'string', 'required' => false, 'example' => '{\\"test-labels\\":\\"test-value\\"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The object that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => 'The information about resource tags.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value of the resource.'."\n", - 'type' => 'string', - 'example' => 'value1', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::EDAS::APPLICATION', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], - 'TagKey' => [ - 'description' => 'The tag key of the resource.'."\n", - 'type' => 'string', - 'example' => 'key1', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', - 'errorMessage' => 'The instance does not exist.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"value1\\",\\n \\"ResourceType\\": \\"ALIYUN::EDAS::APPLICATION\\",\\n \\"ResourceId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\",\\n \\"TagKey\\": \\"key1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx</RequestId>\\n<TagResources>\\n <TagResource>\\n <ResourceId>000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877</ResourceId>\\n <TagKey>key1</TagKey>\\n <ResourceType>ALIYUN::EDAS::APPLICATION</ResourceType>\\n <TagValue>value1</TagValue>\\n </TagResource>\\n</TagResources>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListTagResources', + 'staticInfo' => [], + 'title' => 'CreateK8sIngressRule', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'TagResources' => [ - 'summary' => 'Creates tags and adds the tags to resources at a time.', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sIngressRule'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'CreateK8sSecret' => [ + 'summary' => 'Creates a Kubernetes Secret.', + 'path' => '/pop/v5/k8s/acs/k8s_secret', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3158,63 +1752,55 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **application**: Enterprise Distributed Application Service (EDAS) application'."\n" - .'* **cluster**: EDAS cluster'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee', 'title' => ''], ], [ - 'name' => 'ResourceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the resources. You can specify up to 20 IDs in the format of a JSON array.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-secret', 'title' => ''], ], [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key-value pairs. When you set this parameter, take note of the following limits:'."\n" - ."\n" - .'* You can add up to 20 tags to a resource.'."\n" - .'* The tag key cannot start with **aliyun** or **acs:**. It cannot contain **http://** or **https://**.'."\n" - .'* The tag key or tag value can be up to 128 characters in length, and can contain letters, digits, hyphens (-), commas (,), asterisks (\\*), forward slashes (/), question marks (?), and colons (:).'."\n" - .'* Set this parameter to a JSON array.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ResourceRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region in which the resource resides.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'Type', + 'in' => 'formData', + 'schema' => ['description' => 'The Secret type. Valid values:'."\n" + ."\n" + .'- Opaque: user-defined data'."\n" + ."\n" + .'- kubernetes.io/tls: Transport Layer Security (TLS) certificate', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Opaque', 'title' => ''], + ], + [ + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => 'The data of the Secret. The value must be a JSON array that contains the following information:'."\n" + ."\n" + .'- Key: Secret key'."\n" + ."\n" + .'- Value: Secret value', 'type' => 'string', 'required' => false, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', 'title' => ''], + ], + [ + 'name' => 'CertId', + 'in' => 'formData', + 'schema' => ['description' => 'The certificate ID provided by Alibaba Cloud Certificate Management Service.', 'type' => 'string', 'required' => false, 'example' => '6651483', 'title' => ''], + ], + [ + 'name' => 'CertRegionId', + 'in' => 'formData', + 'schema' => ['description' => 'The region in which the certificate is stored.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'Base64Encoded', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether the data has been encoded in Base64. Valid values: true and false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -3222,50 +1808,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4D9F-DR94-FD****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', - 'errorMessage' => 'The instance does not exist.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877</RequestId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'TagResources', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => 'Removes one or more tags from one or more resources.', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'delete', + 'title' => 'CreateK8sSecret', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sSecret'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\"\\n}","type":"json"}]', + ], + 'CreateK8sService' => [ + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3273,204 +1856,161 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ResourceRegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region in which the resource resides.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **application**: Enterprise Distributed Application Service (EDAS) application'."\n" - .'* **cluster**: EDAS cluster'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'schema' => ['description' => 'The name of the Kubernetes Service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http', 'title' => ''], ], [ - 'name' => 'ResourceIds', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the resources from which you want to remove tags. You can specify up to 20 IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["f5ad6ff7-xxxx-xxxx-xxxx-2axxxx82xxxx"]', - ], + 'schema' => ['description' => 'The type of the Kubernetes Service. Set the value to ClusterIP.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ClusterIP', 'title' => ''], ], [ - 'name' => 'TagKeys', + 'name' => 'ServicePorts', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that you want to remove. You can specify up to 20 tags. Set this parameter to a JSON array.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["tagKey1","tagKey2"]', - ], + 'schema' => ['description' => 'The port mapping of the Kubernetes Service. Set this parameter to a JSON array. The following parameters are included in the configurations:'."\n" + ."\n" + .'* **protocol**: the protocol used by the Service. Valid values: TCP and UDP. This parameter is mandatory.'."\n" + .'* **port**: the frontend service port. Valid values: 1 to 65535. This parameter is mandatory.'."\n" + .'* **targetPort**: the backend container port. Valid values: 1 to 65535. This parameter is mandatory.'."\n" + ."\n" + .'Example: `[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', 'title' => ''], ], [ - 'name' => 'DeleteAll', + 'name' => 'ExternalTrafficPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all existing tags from the specified resources. Default value: false. Valid values:'."\n" - ."\n" - .'* **true**: removes all existing tags from the specified resources.'."\n" - .'* **false**: does not remove all existing tags from the specified resources.'."\n" - ."\n" - .'> All existing tags of a resource are removed only if the **tagKeys** parameter is left empty and the **DeleteAll** parameter is set to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The policy used for external traffic management. Valid values:'."\n" + ."\n" + .'* Local: The network traffic can be routed to pods on the node where the Service is deployed.'."\n" + .'* Cluster: The network traffic can be routed to pods on other nodes in the cluster.'."\n" + ."\n" + .'Default value: Local.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned content.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], + 'ChangeOrderId' => ['description' => 'The change process ID.'."\n", 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', - 'errorMessage' => 'The instance does not exist.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UntagResources', - 'requestParamsDescription' => ' ', + 'title' => 'CreateK8sService', + 'summary' => 'Creates an application service in a Kubernetes cluster.', + 'requestParamsDescription' => '> '."\n" + ."\n" + .'* The nodePort value must be unique within a cluster.'."\n" + ."\n" + .'* When you configure multi-port mappings for a Kubernetes Service, you cannot map a service port to multiple container ports by using the same protocol.'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateIDCImportCommand' => [ - 'summary' => 'Generates a command that is used to import instances to a hybrid cloud Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/create_idc_import_command', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NamespaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-****-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeleteApplication' => [ + 'summary' => 'Call the DeleteApplication operation to delete an application instance.', + 'path' => '/pop/v5/changeorder/co_delete_app', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The cluster ID. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '3616cdca-*********'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The generated import command.'."\n", - 'type' => 'string', - 'example' => 'wget -q -O /tmp/install.sh http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/install.sh && sh /tmp/install.sh -idcToken xxxx-xxxxx-xxxxx-xxxxxxx -edasId xxxxxxxxxxxxxx', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], + 'Code' => ['description' => 'The status of the call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'ChangeOrderId' => ['description' => 'The ID of the change flow.', 'type' => 'string', 'title' => '', 'example' => '0b8e3c0b-5818-430*************'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '34DFE9FDV****************'], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"wget -q -O /tmp/install.sh http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/install.sh && sh /tmp/install.sh -idcToken xxxx-xxxxx-xxxxx-xxxxxxx -edasId xxxxxxxxxxxxxx\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>b197-40ab-9155-7ca7</RequestId>\\n<Data>wget -q -O /root/install.sh http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/install.sh && sh /root/install.sh -idcToken xxxx-xxxxx-xxxxx-xxxxxxx -edasId xxxxxxxxxxxxxx</Data>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'CreateIDCImportCommand', - 'description' => '## Description'."\n" - ."\n" - .'You must call the CreateIDCImportCommand operation first to generate a command used to import hybrid cloud ECS instances to a hybrid cloud ECS cluster. Then, run this command on the instances to import the instances to the cluster.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"0b8e3c0b-5818-430*************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34DFE9FDV****************\\"\\n}","type":"json"}]', + 'title' => 'DeleteApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteClusterMember' => [ - 'summary' => 'Removes an Elastic Compute Service (ECS) instance from a cluster.', - 'path' => '/pop/v5/resource/cluster_member', - 'methods' => [ - 'delete', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplication'], + ], ], + ], + 'DeleteApplicationScalingRule' => [ + 'path' => '/pop/v1/eam/scale/application_scaling_rule', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3478,33 +2018,17 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '52984524-****-****-85f2-a34b0e5bb521', - 'docRequired' => true, - ], + 'schema' => ['description' => 'The ID of the application. Call the [ListApplication](~~149390~~) operation to obtain the application ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], ], [ - 'name' => 'ClusterMemberId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The member ID of the ECS instance that you want to remove from the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-2zej4i2jdf3****jigng', - 'docRequired' => true, - ], + 'schema' => ['description' => 'The name of the scaling rule.', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger', 'title' => ''], ], ], 'responses' => [ @@ -3512,71 +2036,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Indicates whether the request is successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '5d6fa0bc-cc3**********', 'title' => ''], + 'Code' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\"\\n}","errorExample":""},{"type":"xml","example":"<Data>ok</Data>\\n<Code>200</Code>\\n<Message>success</Message>","errorExample":""}]', - 'title' => 'DeleteClusterMember', + 'title' => 'DeleteApplicationScalingRule', + 'summary' => 'Deletes an Auto Scaling rule for an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteEcu' => [ - 'summary' => 'Deletes an Elastic Compute Unit (ECU).', - 'path' => '/pop/v5/resource/delete_ecu', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\"\\n}","type":"json"}]', + ], + 'DeleteCluster' => [ + 'summary' => 'Deletes an Elastic Compute Service (ECS) cluster or cancels the import of a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/pop/v5/resource/cluster', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'EcuId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the ECU to be deleted.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5c0b8c82-4ba9-****-****-130a34ffa534', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8b96ade0-0a07-****-af9d-5ed83640d076', 'title' => ''], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => ['description' => 'The type of the cluster ID. Valid values:'."\n" + ."\n" + .'- 0: specifies the ID of the cluster in Enterprise Distributed Application Service (EDAS).'."\n" + ."\n" + .'- 1: specifies the ID of the ACK cluster.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ @@ -3584,624 +2103,257 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The returned data that indicates whether the ECU is deleted. A value of `OK` indicates that the ECU is deleted.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'fb08fd29-b197-40ab-****-****', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the cluster is deleted. Valid values:'."\n" + ."\n" + .'- true: The cluster is deleted.'."\n" + ."\n" + .'- false: The cluster is not deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '856D4438-****-4EA9-****-894628C0434E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"OK\\",\\n \\"RequestId\\": \\"fb08fd29-b197-40ab-****-****\\"\\n}","errorExample":""},{"type":"xml","example":"<Data>OK</Data>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteEcu', + 'title' => 'DeleteCluster', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListClusterMembers' => [ - 'path' => '/pop/v5/resource/cluster_member_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"856D4438-****-4EA9-****-894628C0434E\\"\\n}","type":"json"}]', + ], + 'DeleteClusterMember' => [ + 'path' => '/pop/v5/resource/cluster_member', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. If you do not specify this parameter, the first page is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of ECS instances to return on each page. If you do not specify this parameter, all ECS instances in the specified cluster are returned on one page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '52984524-****-****-85f2-a34b0e5bb521', 'title' => ''], ], [ - 'name' => 'EcsList', + 'name' => 'ClusterMemberId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The member ID of the ECS instance that you want to remove from the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2zej4i2jdf3****jigng', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ClusterMemberPage' => [ - 'description' => 'The information about the ECS instances in the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the returned page. If this parameter is not returned, the first page is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of ECS instances returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => 'The total number of pages returned when all ECS instances are returned based on the specified PageSize parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ClusterMemberList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ClusterMember' => [ - 'description' => 'The list of ECS instances in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about ECS instances in the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the ECS instance. Valid values:'."\n" - ."\n" - .'* 1: The instance is running.'."\n" - .'* 0: The instance is being converted.'."\n" - .'* \\-1: The instance fails to be converted.'."\n" - .'* \\-2: The instance is offline.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => 'The timestamp when the ECS instance was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041113', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the elastic compute unit (ECU). You can run the `dmidecode` command on the ECS instance to query the ECU ID.'."\n", - 'type' => 'string', - 'example' => '70ed3f59-b476-49aa-be09-9e6c375d****', - ], - 'EcsId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4i2jdf3ntwhj****', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the ECS instance was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281038175', - ], - 'ClusterMemberId' => [ - 'description' => 'The ID of the ECS instance in the cluster.'."\n", - 'type' => 'string', - 'example' => 'adb03eeb-3adf-4d7e-afe1-03d1ad45****', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', - ], - 'PrivateIp' => [ - 'title' => 'ECS私网IP', - 'description' => 'The private IP address for the ECS instance.'."\n", - 'type' => 'string', - 'example' => '172.16.XX.XX', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the request is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ClusterMemberPage\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 5,\\n \\"ClusterMemberList\\": {\\n \\"ClusterMember\\": [\\n {\\n \\"Status\\": 1,\\n \\"UpdateTime\\": 1573281041113,\\n \\"EcuId\\": \\"70ed3f59-b476-49aa-be09-9e6c375d****\\",\\n \\"EcsId\\": \\"i-2zej4i2jdf3ntwhj****\\",\\n \\"CreateTime\\": 1573281038175,\\n \\"ClusterMemberId\\": \\"adb03eeb-3adf-4d7e-afe1-03d1ad45****\\",\\n \\"ClusterId\\": \\"52984524-6d48-4bbd-85f2-a34b0e5b****\\",\\n \\"PrivateIp\\": \\"172.16.XXX.XXX\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClusterMembersResponse>\\n <Message>success</Message>\\n <RequestId>b197-40ab-9155-****</RequestId>\\n <ClusterMemberPage>\\n <ClusterMemberList>\\n <ClusterMember>\\n <Status>1</Status>\\n <ClusterId>52984524-6d48-4bbd-85f2-a34b0e5b****</ClusterId>\\n <CreateTime>1573281038175</CreateTime>\\n <UpdateTime>1573281041113</UpdateTime>\\n <EcuId>70ed3f59-b476-49aa-be09-9e6c375d****</EcuId>\\n <ClusterMemberId>adb03eeb-3adf-4d7e-afe1-03d1ad45****</ClusterMemberId>\\n <EcsId>i-2zej4i2jdf3ntwhj****</EcsId>\\n </ClusterMember>\\n </ClusterMemberList>\\n <PageSize>10</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>5</TotalSize>\\n </ClusterMemberPage>\\n <Code>200</Code>\\n</ListClusterMembersResponse>","errorExample":""}]', - 'title' => 'ListClusterMembers', - 'summary' => 'Queries Elastic Compute Service (ECS) instances in a cluster.', + 'title' => 'DeleteClusterMember', + 'summary' => 'Removes an Elastic Compute Service (ECS) instance from a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListEcuByRegion' => [ - 'path' => '/pop/v5/resource/ecu_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterMember'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\"\\n}","type":"json"}]', + ], + 'DeleteConfigTemplate' => [ + 'path' => '/pop/v5/config_template', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:tdy218.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing or cn-beijing:tdy218'."\n", - ], - ], - [ - 'name' => 'Act', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => 'Set the value to `pop-query`.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'pop-query', - ], + 'schema' => ['title' => '', 'description' => 'The ID of the configuration template.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '555'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '00000000-0000-0000-****', - ], - 'EcuEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => 'The information about ECUs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details about ECUs.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) in which the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'vpc-2zew8mi6gqbo5wf****', - ], - 'UpdateTime' => [ - 'description' => 'The timestamp when the ECU was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572867895575', - ], - 'IpAddr' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '192.168.xxx.xxx', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPU cores for the ECU.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572539283168', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'edas@aliyun-****.com', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECU.'."\n", - 'type' => 'string', - 'example' => 'i-2ze82h8f4zcn449y****', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => 'The ID of the region in which the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.'."\n", - 'type' => 'string', - 'example' => 'c96c494c-1b91-4456-bbb3-b5afcd16****', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed. Valid values:'."\n" - ."\n" - .'* true: Docker is installed.'."\n" - .'* false: Docker is not installed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online. Valid values:'."\n" - ."\n" - .'* true: The ECU is online.'."\n" - .'* false: The ECU is offline.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AvailableMem' => [ - 'description' => 'The size of available memory for the ECU. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8192', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone in which the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-a', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'worker-k8s-for', - ], - 'HeartbeatTime' => [ - 'description' => 'The timestamp when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572867865221', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D16979DC-4D42-************'], + 'Code' => ['title' => '', 'description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '', 'description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success'], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"00000000-0000-0000-****\\",\\n \\"EcuEntityList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zew8mi6gqbo5wf****\\",\\n \\"UpdateTime\\": 1572867895575,\\n \\"IpAddr\\": \\"192.168.xxx.xxx\\",\\n \\"AvailableCpu\\": 4,\\n \\"CreateTime\\": 1572539283168,\\n \\"UserId\\": \\"edas@aliyun-****.com\\",\\n \\"InstanceId\\": \\"i-2ze82h8f4zcn449y****\\",\\n \\"Mem\\": 0,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"c96c494c-1b91-4456-bbb3-b5afcd16****\\",\\n \\"Cpu\\": 0,\\n \\"DockerEnv\\": true,\\n \\"Online\\": false,\\n \\"AvailableMem\\": 8192,\\n \\"ZoneId\\": \\"cn-beijing-a\\",\\n \\"Name\\": \\"worker-k8s-for\\",\\n \\"HeartbeatTime\\": 1572867865221\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<EcuEntityList>\\n <EcuEntity>\\n <AvailableMem>8192</AvailableMem>\\n <Mem>0</Mem>\\n <AvailableCpu>4</AvailableCpu>\\n <InstanceId>i-2ze82h8f4zcn449y****</InstanceId>\\n <Online>false</Online>\\n <UpdateTime>1572867895575</UpdateTime>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <ZoneId>cn-beijing-a</ZoneId>\\n <VpcId>vpc-2zew8mi6gqbo5wf3r****</VpcId>\\n <IpAddr>192.168.0.115</IpAddr>\\n <Name>worker-k8s-for-cs</Name>\\n <Cpu>0</Cpu>\\n <HeartbeatTime>1572867865221</HeartbeatTime>\\n <CreateTime>1572539283168</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>c96c494c-1b91-4456-bbb3-b5afcd16****</EcuId>\\n <DockerEnv>true</DockerEnv>\\n </EcuEntity>\\n <EcuEntity>\\n <AvailableMem>2048</AvailableMem>\\n <Mem>0</Mem>\\n <AvailableCpu>2</AvailableCpu>\\n <InstanceId>i-2zej4i2jdf3ntwh****</InstanceId>\\n <Online>true</Online>\\n <UpdateTime>1573281041150</UpdateTime>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2zef6ob8mrlzv8x3q****</VpcId>\\n <IpAddr>192.168.0.154</IpAddr>\\n <Name>product_test004</Name>\\n <Cpu>0</Cpu>\\n <HeartbeatTime>1573281041143</HeartbeatTime>\\n <CreateTime>1573281041143</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>cfe7f474-3861-453e-b236-887d4932****</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuEntity>\\n</EcuEntityList>","errorExample":""}]', - 'title' => 'ListEcuByRegion', - 'summary' => 'Queries the available elastic compute units (ECUs) in a specified namespace.', - 'description' => '## Terms'."\n" - ."\n" - .'* **Namespace**: the logical concept that is used to isolate resources such as clusters, ECS instances, and applications, and microservices published in EDAS. This concept involves the default namespace and custom namespaces. Each region has a default namespace and supports multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources and microservices.'."\n" - .'* **Elastic compute unit (ECU)**: After an ECS instance is imported to a cluster, the instance becomes an ECU.'."\n" - .'* **Elastic compute container (ECC)**: After you deploy an application to an ECU in a cluster, the ECU becomes an ECC.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListConvertableEcu' => [ - 'path' => '/pop/v5/resource/convertable_ecu_list', - 'methods' => [ - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message ', 'errorMessage' => 'You are not authorized to perform the operation. ', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteConfigTemplate', + 'summary' => 'Deletes a configuration template.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteConfigTemplate'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteDeployGroup' => [ + 'summary' => 'Deletes an instance group for an application.', + 'path' => '/pop/v5/deploy_group', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'clusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-b31*************', 'title' => ''], + ], + [ + 'name' => 'GroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'InstanceList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instance' => [ - 'description' => 'The ECS instances that can be imported to the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about ECS instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8m************', - ], - 'Status' => [ - 'description' => 'The state of the instance. Valid values:'."\n" - ."\n" - .'* Pending: The instance is being created.'."\n" - .'* Running: The instance is running.'."\n" - .'* Starting: The instance is being started.'."\n" - .'* Stopping: The instance is being stopped.'."\n" - .'* Stopped: The instance is stopped.'."\n", - 'type' => 'string', - 'example' => ' Running', - ], - 'PrivateIp' => [ - 'description' => 'The private IP address of the ECS instance. This parameter is valid only when the ECS instance is deployed in a VPC.'."\n", - 'type' => 'string', - 'example' => '192.XX.XX.123', - ], - 'Expired' => [ - 'description' => 'Indicates whether the ECS instance has expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-2ze7s2v0b***********', - ], - 'Mem' => [ - 'description' => 'The size of memory for the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the ECS instance is located.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VpcName' => [ - 'description' => 'The name of the VPC.'."\n", - 'type' => 'string', - 'example' => 'jianwei-test', - ], - 'EcuId' => [ - 'description' => 'The ID of the elastic compute units (ECU).'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores of the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => 'The private IP address of the ECS instance. This parameter is valid only when the ECS instance is deployed in a VPC.'."\n", - 'type' => 'string', - 'example' => '192.168.13.xx', - ], - 'Eip' => [ - 'description' => 'The elastic IP address (EIP) associated with the ECS instance. The EIP can be changed.'."\n", - 'type' => 'string', - 'example' => '13.xx.xxx.xx', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'worker-k8s', - ], - 'PublicIp' => [ - 'description' => 'The public IP address of the ECS instance. This IP address can be used only by the ECS instance.'."\n", - 'type' => 'string', - 'example' => '13.xx.xx.xxx', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The data that is returned.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4D9F-DR94-FD****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"InstanceList\\": {\\n \\"Instance\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8m************\\",\\n \\"Status\\": \\" Running\\",\\n \\"PrivateIp\\": \\"192.XX.XX.123\\",\\n \\"Expired\\": false,\\n \\"InstanceId\\": \\"i-2ze7s2v0b***********\\",\\n \\"Mem\\": 4096,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VpcName\\": \\"jianwei-test\\",\\n \\"EcuId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.13.xx\\",\\n \\"Eip\\": \\"13.xx.xxx.xx\\",\\n \\"InstanceName\\": \\"worker-k8s\\",\\n \\"PublicIp\\": \\"13.xx.xx.xxx\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<InstanceList>\\n <Instance>\\n <Status> Running</Status>\\n <VpcName>test</VpcName>\\n <Cpu>2</Cpu>\\n <InnerIp/>\\n <Mem>4096</Mem>\\n <RegionId>cn-beijing</RegionId>\\n <Expired>false</Expired>\\n <InstanceId>i-2ze7s2v0b789k60p****</InstanceId>\\n <PrivateIp>192.168.0.86</PrivateIp>\\n <Eip/>\\n <VpcId>vpc-2zef6ob8mrlzv8x3q****</VpcId>\\n <InstanceName>worker-k8s</InstanceName>\\n </Instance>\\n</InstanceList>","errorExample":""}]', - 'title' => 'ListConvertableEcu', - 'summary' => 'Queries the Elastic Compute Service (ECS) instances that can be imported to a specified cluster. This operation is applicable to ECS clusters.', + 'title' => 'DeleteDeployGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListEcsNotInCluster' => [ - 'path' => '/pop/v5/resource/ecs_not_in_cluster', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDeployGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"1\\",\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\"\\n}","type":"json"}]', + ], + 'DeleteEcu' => [ + 'path' => '/pop/v5/resource/delete_ecu', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'NetworkMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The network type. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2: virtual private cloud (VPC)'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], - ], - [ - 'name' => 'VpcId', + 'name' => 'EcuId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VPC. This parameter is required if the NetworkMode parameter is set to 2.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-2zef6ob8****v8x3q46kp', - ], + 'schema' => ['description' => 'The unique ID of the ECU to be deleted.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5c0b8c82-4ba9-****-****-130a34ffa534', 'title' => ''], ], ], 'responses' => [ @@ -4209,740 +2361,333 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'EcsEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcsEntity' => [ - 'description' => 'The information about ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', - ], - 'Status' => [ - 'description' => 'The status of the ECS instance. Valid values:'."\n" - ."\n" - .'* **Pending**: The ECS instance is being created.'."\n" - .'* **Running**: The ECS instance is running.'."\n" - .'* **Starting**: The ECS instance is being started.'."\n" - .'* **Stopping**: The ECS instance is being stopped.'."\n" - .'* **Stopped**: The ECS instance is stopped.'."\n", - 'type' => 'string', - 'example' => ' Running', - ], - 'PrivateIp' => [ - 'description' => 'The private IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '192.168.*.**', - ], - 'Expired' => [ - 'description' => 'Indicates whether the ECS instance has expired. Valid values:'."\n" - ."\n" - .'* **true**: The ECS instance has expired.'."\n" - .'* **false**: The ECS instance has not expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-2ze7s2v0b***********', - ], - 'Mem' => [ - 'description' => 'The size of memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the ECS instance is located.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VpcName' => [ - 'description' => 'The name of the VPC.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => 'The private IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '192.168.20.113', - ], - 'Eip' => [ - 'description' => 'The elastic IP address (EIP) associated with the ECS instance.'."\n", - 'type' => 'string', - 'example' => '139.30.xxx.xx', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****', - ], - 'PublicIp' => [ - 'description' => 'The public IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '131.30.xxx.xx', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The returned data that indicates whether the ECU is deleted. A value of `OK` indicates that the ECU is deleted.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'fb08fd29-b197-40ab-****-****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"EcsEntityList\\": {\\n \\"EcsEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8mrlzv8x3q****\\",\\n \\"Status\\": \\" Running\\",\\n \\"PrivateIp\\": \\"192.168.*.**\\",\\n \\"Expired\\": false,\\n \\"InstanceId\\": \\"i-2ze7s2v0b***********\\",\\n \\"Mem\\": 4096,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VpcName\\": \\"test\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.20.113\\",\\n \\"Eip\\": \\"139.30.xxx.xx\\",\\n \\"InstanceName\\": \\"worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****\\",\\n \\"PublicIp\\": \\"131.30.xxx.xx\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>b197-40ab-9155-****</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>\\n<EcsEntityList>\\n <EcsEntity>\\n <Status> Running</Status>\\n <InstanceName>worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****</InstanceName>\\n <InnerIp>192.168.20.113</InnerIp>\\n <Mem>4096</Mem>\\n <VpcId>vpc-2zef6ob8mrlzv8x3q****</VpcId>\\n <PrivateIp>192.168.*.**</PrivateIp>\\n <PublicIp>131.30.xxx.xx</PublicIp>\\n <InstanceId>i-2ze7s2v0b***********</InstanceId>\\n <Cpu>2</Cpu>\\n <Expired>false</Expired>\\n <VpcName>test</VpcName>\\n <RegionId>cn-beijing</RegionId>\\n <Eip>139.30.xxx.xx</Eip>\\n </EcsEntity>\\n</EcsEntityList>","errorExample":""}]', - 'title' => 'ListEcsNotInCluster', - 'summary' => 'Queries all Elastic Compute Service (ECS) instances that have not been imported to clusters.', + 'title' => 'DeleteEcu', + 'summary' => 'Deletes an Elastic Compute Unit (ECU).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryMigrateEcuList' => [ - 'path' => '/pop/v5/resource/migrate_ecu_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEcu'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteEcu', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"OK\\",\\n \\"RequestId\\": \\"fb08fd29-b197-40ab-****-****\\"\\n}","type":"json"}]', + ], + 'DeleteK8sApplication' => [ + 'summary' => 'Deletes an application from a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_apps', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: `cn-beijing:test`.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: `cn-beijing`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou or cn-hangzhou:test'."\n", - ], + 'schema' => ['description' => 'The ID of the application that you want to delete. You can call the ListApplication operation to query the application ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dbac7e3c-****-49bc-b6de-ffc550018b45', 'title' => ''], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to forcibly delete the application and disable application deletion protection.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'EcuEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => 'The information about ECUs that can be migrated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8m************', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041109', - ], - 'IpAddr' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '192.168.0.150', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPUs. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041101', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECU.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4i2jd***********', - ], - 'Mem' => [ - 'description' => 'The total size of memory.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.'."\n", - 'type' => 'string', - 'example' => '70ed3f59-b476-49aa-****-************', - ], - 'Cpu' => [ - 'description' => 'The CPU quota set by the system. Unit: cores. The value 0 indicates that no quota is set by the system.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed. Valid values:'."\n" - ."\n" - .'* true: Docker is installed.'."\n" - .'* false: Docker is not installed.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online. Valid values:'."\n" - ."\n" - .'* true: The ECU is online.'."\n" - .'* false: The ECU is offline.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => 'The size of available memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone where the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'cn-bei****-*', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'product_test003', - ], - 'HeartbeatTime' => [ - 'description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041101', - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process for this operation. If an instance on which the application is deployed is running or a Server Load Balancer (SLB) instance is bound to the application, this operation generates a change process ID and deletes the application. You can call the GetChangeOrderInfo operation to query the progress of this operation. You can determine whether the operation is successful based on the value of the Code parameter.'."\n", 'type' => 'string', 'example' => '0a34531a-****-49dc-8e7f-0cbbbfa12cf0', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"EcuEntityList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8m************\\",\\n \\"UpdateTime\\": 1573281041109,\\n \\"IpAddr\\": \\"192.168.0.150\\",\\n \\"AvailableCpu\\": 2,\\n \\"CreateTime\\": 1573281041101,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"InstanceId\\": \\"i-2zej4i2jd***********\\",\\n \\"Mem\\": 0,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"70ed3f59-b476-49aa-****-************\\",\\n \\"Cpu\\": 0,\\n \\"DockerEnv\\": false,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 2048,\\n \\"ZoneId\\": \\"cn-bei****-*\\",\\n \\"Name\\": \\"product_test003\\",\\n \\"HeartbeatTime\\": 1573281041101\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<EcuEntityList>\\n <EcuEntity>\\n <AvailableMem>2048</AvailableMem>\\n <Mem>0</Mem>\\n <AvailableCpu>2</AvailableCpu>\\n <InstanceId>i-2zej4i2jdf3ntw****</InstanceId>\\n <Online>true</Online>\\n <UpdateTime>1573281041109</UpdateTime>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2zef6ob8mrlzv8x3****</VpcId>\\n <IpAddr>192.168.0.150</IpAddr>\\n <Name>product_test003</Name>\\n <Cpu>0</Cpu>\\n <HeartbeatTime>1573281041101</HeartbeatTime>\\n <CreateTime>1573281041101</CreateTime>\\n <RegionId>test_region</RegionId>\\n <EcuId>70ed3f59-b476-49aa-be09-9e6c37****</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuEntity>\\n</EcuEntityList>","errorExample":""}]', - 'title' => 'QueryMigrateEcuList', - 'summary' => 'Queries the elastic compute units (ECUs) that can be migrated.', + 'title' => 'DeleteK8sApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListScaleOutEcu' => [ - 'path' => '/pop/v5/resource/scale_out_ecu_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"0a34531a-****-49dc-8e7f-0cbbbfa12cf0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323******\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>0a34531a-****-49dc-8e7f-0cbbbfa12cf0</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeleteK8sConfigMap' => [ + 'summary' => 'Deletes a Kubernetes ConfigMap.', + 'path' => '/pop/v5/k8s/acs/k8s_config_map', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:test.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '51e37e91-6403-423a-9913-f236aa7a6a50', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. Specify this parameter if you want to query the available ECUs in the cluster.'."\n" - ."\n" - .'> Specify at least one of the ClusterId and AppId parameters as the query parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '52984524-6d48-4bbd-******************', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-configmap', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the application. Specify this parameter if you want to query the available ECUs in the cluster where the application is deployed.'."\n" - ."\n" - .'> Specify at least one of the ClusterId and AppId parameters as the query parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'b93024fd-8a9d-4ef7-99f1-5f0d65cc****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-************', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'DeleteK8sConfigMap', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sConfigMap'], + ], + ], + 'ramActions' => [ [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group. Specify this parameter if you want to query the available ECUs in the cluster where the instance group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-486f-****-****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\"\\n}","type":"json"}]', + ], + 'DeleteK8sIngressRule' => [ + 'path' => '/pop/v5/k8s/acs/k8s_ingress', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'Cpu', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of CPU cores based on which you want to query the available ECUs in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'Mem', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of available memory based on which you want to query the available ECUs in the cluster. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'InstanceNum', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of ECUs that you want to query. If this parameter is not specified, all the ECUs that meet the query conditions are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-ingress-rule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AF860D6C-ACE3-4429-9D54-3BD15A******', - ], - 'EcuInfoList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuInfo' => [ - 'description' => 'The ECUs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about ECUs.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) where the ECU is located.'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8**********', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECU was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'IpAddr' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPU cores for the ECU.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.'."\n", - 'type' => 'string', - 'example' => '1172****6608****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECU.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the ECU is located.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.'."\n", - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online. If the ECU is online, its corresponding ECS instance is managed in EDAS. Valid values:'."\n" - ."\n" - .'* true: The ECU is online.'."\n" - .'* false: The ECU is offline.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed. Valid values:'."\n" - ."\n" - .'* true: Docker is installed.'."\n" - .'* false: Docker is not installed.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AvailableMem' => [ - 'description' => 'The size of available memory for the ECU. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '111', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone where the ECU resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-h', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"AF860D6C-ACE3-4429-9D54-3BD15A******\\",\\n \\"EcuInfoList\\": {\\n \\"EcuInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8**********\\",\\n \\"UpdateTime\\": 1573281040827,\\n \\"IpAddr\\": \\"192.168.XX.XX\\",\\n \\"AvailableCpu\\": 2,\\n \\"CreateTime\\": 1573281040819,\\n \\"UserId\\": \\"1172****6608****\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Online\\": true,\\n \\"DockerEnv\\": false,\\n \\"AvailableMem\\": 111,\\n \\"ZoneId\\": \\"cn-beijing-h\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<EcuInfoList>\\n <EcuInfo>\\n <AvailableMem>2048</AvailableMem>\\n <InstanceId>i-2zej4i2jdf*********</InstanceId>\\n <AvailableCpu>2</AvailableCpu>\\n <Online>true</Online>\\n <UpdateTime>1573281040827</UpdateTime>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2zef6ob8**********</VpcId>\\n <IpAddr>192.168.*.**</IpAddr>\\n <HeartbeatTime>1573281040819</HeartbeatTime>\\n <CreateTime>1573281040819</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>0de2ebdb-9490-4fc4-be41***************</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuInfo>\\n <EcuInfo>\\n <AvailableMem>2048</AvailableMem>\\n <InstanceId>i-2zej4i2j*********</InstanceId>\\n <AvailableCpu>2</AvailableCpu>\\n <Online>true</Online>\\n <UpdateTime>1573281041362</UpdateTime>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2ze************</VpcId>\\n <IpAddr>192.168.0.**</IpAddr>\\n <HeartbeatTime>1573281041355</HeartbeatTime>\\n <CreateTime>1573281041355</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>6f9cb7fd-bb*****************</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuInfo>\\n <EcuInfo>\\n <AvailableMem>2048</AvailableMem>\\n <InstanceId>i-2*******e</InstanceId>\\n <AvailableCpu>2</AvailableCpu>\\n <Online>true</Online>\\n <UpdateTime>1573281041109</UpdateTime>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2zef6ob********p</VpcId>\\n <IpAddr>192.168.0.***</IpAddr>\\n <HeartbeatTime>1573281041101</HeartbeatTime>\\n <CreateTime>1573281041101</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>70ed3f59-b476-49aa***********</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuInfo>\\n <EcuInfo>\\n <AvailableMem>2048</AvailableMem>\\n <InstanceId>i-2z********</InstanceId>\\n <AvailableCpu>2</AvailableCpu>\\n <Online>true</Online>\\n <UpdateTime>1573281041150</UpdateTime>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2ze************</VpcId>\\n <IpAddr>192.168.0.**</IpAddr>\\n <HeartbeatTime>1573281041143</HeartbeatTime>\\n <CreateTime>1573281041143</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>cfe7f474-386******************</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuInfo>\\n <EcuInfo>\\n <AvailableMem>2048</AvailableMem>\\n <InstanceId>i-2zej4i*********</InstanceId>\\n <AvailableCpu>2</AvailableCpu>\\n <Online>true</Online>\\n <UpdateTime>1573281041300</UpdateTime>\\n <ZoneId>cn-beijing-h</ZoneId>\\n <VpcId>vpc-2zef**********</VpcId>\\n <IpAddr>192.168.0.***</IpAddr>\\n <HeartbeatTime>1573281041292</HeartbeatTime>\\n <CreateTime>1573281041292</CreateTime>\\n <RegionId>cn-beijing</RegionId>\\n <EcuId>f6917537-******************</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </EcuInfo>\\n</EcuInfoList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListScaleOutEcu', - 'summary' => 'Queries elastic compute units (ECUs) available for scaling out an application in a specified cluster or the cluster where the application is deployed. This operation is applicable to Elastic Compute Service (ECS) clusters.', - 'description' => '## Terms'."\n" - ."\n" - .'* **Namespace**: the logical concept that is used to isolate resources such as clusters, ECS instances, and applications, and microservices published in EDAS. This concept involves the default namespace and custom namespaces. Each region has a default namespace and supports multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources and microservices.'."\n" - .'* **Elastic compute unit (ECU)**: After an ECS instance is imported to a cluster, the instance becomes an ECU.'."\n" - .'* **Elastic compute container (ECC)**: After you deploy an application to an ECU in a cluster, the ECU becomes an ECC.'."\n", + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'staticInfo' => [], + 'title' => 'DeleteK8sIngressRule', + 'summary' => 'Deletes an ingress.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListSlb' => [ - 'path' => '/pop/v5/slb_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sIngressRule'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteK8sSecret' => [ + 'summary' => 'Deletes a Kubernetes Secret.', + 'path' => '/pop/v5/k8s/acs/k8s_secret', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'VpcId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1f90rfybszjogyw****', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2b3a1013-31c7-433b-8fe7-3895d838b824', 'title' => ''], ], [ - 'name' => 'AddressType', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the IP addresses. Valid values:'."\n" - ."\n" - .'* Internet: Users can connect to the SLB instance over the Internet.'."\n" - .'* Intranet: Users can connect to the SLB instance over the internal network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - ], + 'schema' => ['description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-secret', 'title' => ''], ], [ - 'name' => 'SlbType', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SLB instance. Valid values:'."\n" - ."\n" - .'* clb: Classic Load Balancer (CLB)'."\n" - .'* alb: Application Load Balancer (ALB)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'clb', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'SlbList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlbEntity' => [ - 'description' => 'The list of SLB instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of the SLB instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'SlbId' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-2ze055t3xv7s8****', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1f90rfybszjogyw****', - ], - 'VswitchId' => [ - 'description' => 'The ID of the vSwitch in the VPC.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp156w1gpbv0o50hs****', - ], - 'Expired' => [ - 'description' => 'Indicates whether the SLB instance has expired. Valid values:'."\n" - ."\n" - .'* true: The SLB instance has expired.'."\n" - .'* false: The SLB instance has not expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => 'edas_****_**st@aliyun-****.com', - ], - 'AddressType' => [ - 'description' => 'The type of the IP addresses. Valid values:'."\n" - ."\n" - .'* internet: Users can connect to the SLB instance over the Internet.'."\n" - .'* intranet: Users can connect to the SLB instance over the internal network.'."\n", - 'type' => 'string', - 'example' => 'internet', - ], - 'NetworkType' => [ - 'description' => 'The type of the network.'."\n", - 'type' => 'string', - 'example' => 'classic', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'GroupId' => [ - 'description' => 'The ID of the resource group in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Address' => [ - 'description' => 'The IP address of the SLB instance.'."\n", - 'type' => 'string', - 'example' => '39.176.XX.XX', - ], - 'SlbName' => [ - 'description' => 'The name of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'adce', - ], - 'SlbStatus' => [ - 'description' => 'The status of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - 'Tags' => [ - 'description' => 'The tag of the SLB instance.'."\n", - 'type' => 'string', - 'example' => '[{"tagKey":"tag","tagValue":"value"}]', - ], - 'Reusable' => [ - 'description' => 'Indicates whether Kubernetes applications can be reused. Valid values:'."\n" - ."\n" - .'* true: Kubernetes applications can be reused.'."\n" - .'* false: Kubernetes applications cannot be reused.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-*************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"SlbList\\": {\\n \\"SlbEntity\\": [\\n {\\n \\"SlbId\\": \\"lb-2ze055t3xv7s8****\\",\\n \\"VpcId\\": \\"vpc-bp1f90rfybszjogyw****\\",\\n \\"VswitchId\\": \\"vsw-bp156w1gpbv0o50hs****\\",\\n \\"Expired\\": false,\\n \\"UserId\\": \\"edas_****_**st@aliyun-****.com\\",\\n \\"AddressType\\": \\"internet\\",\\n \\"NetworkType\\": \\"classic\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"GroupId\\": 0,\\n \\"Address\\": \\"39.176.XX.XX\\",\\n \\"SlbName\\": \\"adce\\",\\n \\"SlbStatus\\": \\"active\\",\\n \\"Tags\\": \\"[{\\\\\\"tagKey\\\\\\":\\\\\\"tag\\\\\\",\\\\\\"tagValue\\\\\\":\\\\\\"value\\\\\\"}]\\",\\n \\"Reusable\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>b197-40ab-9155-7ca7</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>\\n<SlbList>\\n <SlbEntity>\\n <SlbId>lb-2ze055t3xv7s8****</SlbId>\\n <VpcId>vpc-bp1f90rfybszjogyw****</VpcId>\\n <Address>39.XX.XX.176</Address>\\n <NetworkType>classic</NetworkType>\\n <UserId>edas_****_**st@aliyun-****.com</UserId>\\n <Expired>false</Expired>\\n <RegionId>cn-beijing</RegionId>\\n <AddressType>internet</AddressType>\\n <VswitchId>vsw-bp156w1gpbv0o50hs****</VswitchId>\\n <SlbName>adce</SlbName>\\n <GroupId>0</GroupId>\\n <SlbStatus>active</SlbStatus>\\n </SlbEntity>\\n</SlbList>","errorExample":""}]', - 'title' => 'ListSlb', - 'summary' => 'Queries Server Load Balancer (SLB) instances.', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'BindSlb' => [ - 'summary' => 'Binds a Server Load Balancer (SLB) instance to an application in Enterprise Distributed Application Service (EDAS).', - 'path' => '/pop/app/bind_slb_json', - 'methods' => [ - 'post', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteK8sSecret', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sSecret'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\"\\n}","type":"json"}]', + ], + 'DeleteK8sService' => [ + 'summary' => 'Deletes an application service from a Kubernetes cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4950,82 +2695,98 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EDAS application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-*********', - ], + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd***a286-781659d9f54c', 'title' => ''], ], [ - 'name' => 'SlbId', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-wz96ph63r************', + 'description' => 'The content that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.'."\n", 'type' => 'string', 'example' => 'b4b37bde-a125-43fc-****-741f7f4a9ae3', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9041389c-*****-459c-8253-724bca7f51f0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'DeleteK8sService', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sService'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SlbIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '192.16*.*.*', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-43fc-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"9041389c-*****-459c-8253-724bca7f51f0\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>9041389c-*****-459c-8253-724bca7f51f0</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-43fc-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeleteLogPath' => [ + 'summary' => 'Deletes resources associated with a log directory. This operation is suitable for applications deployed on Alibaba Cloud Elastic Compute Service (ECS) instances or container orchestration clusters from other cloud providers.', + 'path' => '/pop/v5/log/popListLogDirs', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SLB instance. Valid values:'."\n" - ."\n" - .'* internet: Internet-facing SLB instance'."\n" - .'* intranet: internal-facing SLB instance'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'intranet', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => false], + 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener port for the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - 'default' => '0', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'Path', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group for the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6******', - ], + 'schema' => ['description' => 'The absolute path of the log directory that you want to remove. The value must start and end with a forward slash (`/`) and must contain `/log` or `/logs`. The following directories are the default log directories in Enterprise Distributed Application Service (EDAS):'."\n" + ."\n" + .'- /home/admin/edas-container/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-7.0.59/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-production-7.0.59.3/logs/'."\n" + ."\n" + .'- /home/admin/taobao-tomcat-production-7.0.70/logs/'."\n" + ."\n" + .'- /home/admin/edas-agent/logs/', 'type' => 'string', 'required' => false, 'example' => '/temp/log/', 'title' => ''], ], ], 'responses' => [ @@ -5033,93 +2794,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'bind slb success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '23DR4FDXXXXXXXXXX', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group for the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'SlbId' => [ - 'description' => 'The ID of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-wz96ph63r************', - ], - 'ExtSlbIp' => [ - 'description' => 'The IP address of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'SlbPort' => [ - 'description' => 'The listener port for the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ExtSlbName' => [ - 'description' => 'The name of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'ExtSlbId' => [ - 'description' => 'The ID of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'ExtVServerGroupId' => [ - 'description' => 'The ID of the vServer group for the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'SlbName' => [ - 'description' => 'The name of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'test**********', - ], - 'SlbIp' => [ - 'description' => 'The IP address of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '192.16*.*.*', - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3616cdca-4f92-4413**********', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"bind slb success\\",\\n \\"RequestId\\": \\"23DR4FDXXXXXXXXXX\\",\\n \\"Data\\": {\\n \\"VServerGroupId\\": \\"“”\\",\\n \\"SlbId\\": \\"lb-wz96ph63r************\\",\\n \\"ExtSlbIp\\": \\"“”\\",\\n \\"SlbPort\\": 80,\\n \\"ExtSlbName\\": \\"“”\\",\\n \\"ExtSlbId\\": \\"“”\\",\\n \\"ExtVServerGroupId\\": \\"“”\\",\\n \\"SlbName\\": \\"test**********\\",\\n \\"SlbIp\\": \\"192.16*.*.*\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Data>\\n <SlbPort>80</SlbPort>\\n <SlbId>lb-wz96ph63r************</SlbId>\\n <SlbIp>192.168.*.*</SlbIp>\\n <SlbName>test*********</SlbName>\\n</Data>\\n<Message>bind slb success</Message>\\n<Code>200</Code>","errorExample":""}]', + 'errorCodes' => [], + 'title' => 'DeleteLogPath', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertCluster' => [ - 'summary' => 'Creates a cluster.', - 'path' => '/pop/v5/resource/cluster', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLogPath'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageAppLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","type":"json"}]', + ], + 'DeleteRole' => [ + 'summary' => 'Deletes a Resource Access Management (RAM) role.', + 'path' => '/pop/v5/account/delete_role', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5127,105 +2842,72 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom namespace. The ID is in the `physical region ID:custom namespace identifier` format. Example: `cn-hangzhou:test`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:td****', - ], - ], - [ - 'name' => 'ClusterName', + 'name' => 'RoleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '****_product_test2', - ], + 'schema' => ['description' => 'The ID of the RAM role.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '99999999', 'title' => ''], ], - [ - 'name' => 'ClusterType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 3: self-managed Kubernetes cluster in Enterprise Distributed Application Service (EDAS)'."\n" - .'* 5: Kubernetes cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', + 'description' => 'The content that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '042F329B-F518-4CC1-****-**********', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'NetworkMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the cluster. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2: virtual private cloud (VPC)'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], + ], + 'title' => 'DeleteRole', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRole'], ], + ], + 'ramActions' => [ [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VPC. This parameter is required if you set the NetworkMode parameter to 2.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"042F329B-F518-4CC1-****-**********\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>delete successfully</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeleteServiceGroup' => [ + 'summary' => 'Deletes a service group.', + 'path' => '/pop/v5/service/serviceGroups', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OversoldFactor', - 'in' => 'query', - 'schema' => [ - 'description' => '**This parameter is deprecated.** The CPU overcommit ratio supported by a Docker cluster. Valid values:'."\n" - ."\n" - .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" - .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" - .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'IaasProvider', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The provider of Infrastructure as a Service (IaaS) resources that are used in the cluster.'."\n" - ."\n" - .'When you use Alibaba Cloud, set the value to `ALIYUN`. The value is case-sensitive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN', - 'default' => 'ALIYUN', - 'enum' => [ - 'ALIYUN', - 'IDC', - ], - ], + 'schema' => ['description' => 'The ID of the service group that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '789d9cda-74b1-****-****-05e21a0a7661', 'title' => ''], ], ], 'responses' => [ @@ -5233,102 +2915,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Cluster' => [ - 'description' => 'The information about the cluster that was created.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', - ], - 'OversoldFactor' => [ - 'description' => '**This parameter is deprecated.** The CPU overcommit ratio supported by the Docker cluster. Valid values:'."\n" - ."\n" - .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" - .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" - .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NetworkMode' => [ - 'description' => 'The network type of the cluster. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2\\. VPC'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'IaasProvider' => [ - 'description' => 'The provider of the IaaS resources that are used in the cluster.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 2: ECS cluster'."\n" - .'* 3: self-managed Kubernetes cluster in EDAS'."\n" - .'* 5: Kubernetes cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => '****_product_test2', - ], - 'ClusterId' => [ - 'description' => 'The ID of cluster.'."\n", - 'type' => 'string', - 'example' => '8705ad13-5d86-47fc-b68f-257b59ed****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region in which the cluster resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F38****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Cluster\\": {\\n \\"VpcId\\": \\"vpc-2zef6ob8mrlzv8x3q****\\",\\n \\"OversoldFactor\\": 1,\\n \\"NetworkMode\\": 2,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"ClusterType\\": 2,\\n \\"ClusterName\\": \\"****_product_test2\\",\\n \\"ClusterId\\": \\"8705ad13-5d86-47fc-b68f-257b59ed****\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InsertClusterResponse>\\n<Message>success</Message>\\n<RequestId>b197-40ab-9155-****</RequestId>\\n<Cluster>\\n <OversoldFactor>1</OversoldFactor>\\n <VpcId>vpc-2zef6ob8mrlzv8x3q****</VpcId>\\n <ClusterId>8705ad13-5d86-47fc-b68f-257b59ed****</ClusterId>\\n <ClusterName>****_product_test2</ClusterName>\\n <RegionId>cn-beijing</RegionId>\\n <ClusterType>2</ClusterType>\\n <NetworkMode>2</NetworkMode>\\n <IaasProvider>ALIYUN</IaasProvider>\\n</Cluster>\\n<Code>200</Code>\\n</InsertClusterResponse>","errorExample":""}]', - 'title' => 'InsertCluster', + 'title' => 'DeleteServiceGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertClusterMember' => [ - 'summary' => 'Imports Elastic Compute Service (ECS) instances into an ECS cluster.', - 'path' => '/pop/v5/resource/cluster_member', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServiceGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteServiceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F38****\\"\\n}","type":"json"}]', + ], + 'DeleteSwimmingLane' => [ + 'summary' => 'Deletes a lane.', + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5336,98 +2962,56 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'clusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster into which you want to import ECS instances.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', - ], - ], - [ - 'name' => 'instanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance that you want to import into the cluster. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2ze7s2v0b789k60p****', - ], - ], - [ - 'name' => 'password', + 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The logon password of the ECS instance that you want to import into the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'YourPassword', - ], + 'schema' => ['description' => 'The ID of the lane.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '241', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The data returned for the request.'."\n", - 'type' => 'string', - 'example' => 'Transform submit success!', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '01B49A88-B06F-423B-A5EF-E5C0A89******', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the lane is deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4264F69C-686C-4107-B493-0599C8d1****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"Transform submit success!\\",\\n \\"RequestId\\": \\"01B49A88-B06F-423B-A5EF-E5C0A89******\\"\\n}","errorExample":""},{"type":"xml","example":"<InsertClusterMemberResponse>\\n <RequestId>01B49A88-B06F-423B-A5EF-E5C0A892709D</RequestId>\\n <Data>Transform submit success!</Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n</InsertClusterMemberResponse>","errorExample":""}]', - 'title' => 'InsertClusterMember', - 'description' => '##'."\n" - ."\n" - .'If you call this operation to import an ECS instance, the operating system of the ECS instance is reinstalled. After the operating system is reinstalled, all original data of the ECS instance is deleted. In addition, you must set a logon password for the ECS instance. Make sure that no important data exists on the ECS instance that you want to import or data has been backed up for the ECS instance.'."\n" - ."\n" - .'> We recommend that you call the InstallAgent operation instead of this operation. For more information, see [InstallAgent](~~127023~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InstallAgent' => [ - 'summary' => 'Uses the Cloud Assistant provided by Elastic Compute Service (ECS) to install Enterprise Distributed Application Service (EDAS) Agent and imports ECS instances to EDAS.', - 'path' => '/pop/v5/ecss/install_agent', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1,\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8d1****\\"\\n}","type":"json"}]', + 'title' => 'DeleteSwimmingLane', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSwimmingLane'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteUserDefineRegion' => [ + 'path' => '/pop/v5/user_region_def', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5435,147 +3019,79 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', - ], - ], - [ - 'name' => 'InstanceIds', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance. Separate multiple IDs with commas (,). Example: instanceId1,instanceId2.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2ze7s2v0b789k60pk1af', - ], + 'schema' => ['description' => 'The unique ID of the custom namespace. You can call the ListUserDefineRegion operation to query the ID. For more information, see [ListUserDefineRegion](~~149377~~).'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '2564', 'title' => ''], ], [ - 'name' => 'DoAsync', + 'name' => 'RegionTag', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is discontinued.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => 'The tag of the custom namespace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'regiontag', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'ExecutionResultList' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1234-1sda-321d-****', 'title' => ''], + 'RegionDefine' => [ + 'description' => 'The custom namespace.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'ExecutionResult' => [ - 'description' => 'The execution result.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the installation command.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'FinishedTime' => [ - 'description' => 'The time when the installation was complete.'."\n", - 'type' => 'string', - 'example' => '20**-11-10T07:02:17Z', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-2ze7s2v0b789k*******', - ], - 'InvokeRecordStatus' => [ - 'description' => 'The state of the installation.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'Success' => [ - 'description' => 'Indicates whether the installation was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], + 'BelongRegion' => ['description' => 'The ID of the region to which the custom namespace belongs.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'RegionName' => ['description' => 'The name of the custom namespace.'."\n", 'type' => 'string', 'example' => 'test_region', 'title' => ''], + 'Description' => ['description' => 'The description of the custom namespace.'."\n", 'type' => 'string', 'example' => 'logic region', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account to which the custom namespace belongs.'."\n", 'type' => 'string', 'example' => '11727****22398', 'title' => ''], + 'Id' => ['description' => 'The unique identifier of the custom namespace.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '8848', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the custom namespace. The ID cannot be changed after the custom namespace is created. The format is `region ID:custom namespace ID`.'."\n", 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"ExecutionResultList\\": {\\n \\"ExecutionResult\\": [\\n {\\n \\"Status\\": \\"OK\\",\\n \\"FinishedTime\\": \\"20**-11-10T07:02:17Z\\",\\n \\"InstanceId\\": \\"i-2ze7s2v0b789k*******\\",\\n \\"InvokeRecordStatus\\": \\"Finished\\",\\n \\"Success\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ExecutionResultList>\\n <ExecutionResult>\\n <InvokeRecordStatus>Finished</InvokeRecordStatus>\\n <Status>OK</Status>\\n <FinishedTime>2019-11-10T07:02:17Z</FinishedTime>\\n <InstanceId>i-2ze7s2v0b789k60pk1af</InstanceId>\\n <Success>true</Success>\\n </ExecutionResult>\\n</ExecutionResultList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'InstallAgent', - 'description' => 'If you call this operation to import an ECS instance into EDAS, the operating system of the ECS instance is not reinstalled. We recommend that you call this operation to import ECS instances into EDAS.'."\n", + 'title' => 'DeleteUserDefineRegion', + 'summary' => 'Deletes a specified custom namespace.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## Additional considerations'."\n" - ."\n" - .'To call this operation, you may encounter a timeout issue when you connect to OpenAPI Developer Portal from a client. The default timeout period is 10 seconds. To resolve this issue, before you call this operation, you must set the timeout period for reading the data returned by OpenAPI Developer Portal. We recommend that you set the timeout period to 30 seconds. This is because the time limit for service processing between OpenAPI Developer Portal and the server is 30 seconds.'."\n" - ."\n" - .'* If you use EDAS SDK for Java and call this operation in the client code, you can set the read timeout period in the following way:'."\n" - ."\n" - .'```java'."\n" - .'InstallAgentRequest request = new InstallAgentRequest();'."\n" - .'request.setSysReadTimeout(30000); // The timeout period for the client to wait for OpenAPI Developer Portal to return data. Unit: milliseconds.'."\n" - .'request.setClusterId(clusterId);'."\n" - .'........'."\n" - .'```'."\n" - ."\n" - .'* If you use EDAS SDK for Python and call this operation in the client code, you can set the read timeout period in the following way:'."\n" - ."\n" - .'```python'."\n" - .'request = InstallAgentRequest()'."\n" - .'request.set_read_timeout(30000)'."\n" - .'request.set_ClusterId(clusterId)'."\n" - .'```'."\n", - ], - 'TransformClusterMember' => [ - 'summary' => 'Imports or migrates one or more Elastic Compute Service (ECS) instances to a cluster.', - 'path' => '/pop/v5/resource/transform_cluster_member', - 'methods' => [ - 'post', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteUserDefineRegion'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:DeleteNamespace', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1234-1sda-321d-****\\",\\n \\"RegionDefine\\": {\\n \\"BelongRegion\\": \\"cn-beijing\\",\\n \\"RegionName\\": \\"test_region\\",\\n \\"Description\\": \\"logic region\\",\\n \\"UserId\\": \\"11727****22398\\",\\n \\"Id\\": 8848,\\n \\"RegionId\\": \\"cn-beijing:test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RegionDefine>\\n <Description>test</Description>\\n <RegionName>test_region</RegionName>\\n <BelongRegion>cn-beijing</BelongRegion>\\n <RegionId>cn-beijing:test</RegionId>\\n <Id>8683</Id>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n</RegionDefine>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeployApplication' => [ + 'summary' => 'Deploys an application in an Elastic Compute Service (ECS) cluster.', + 'path' => '/pop/v5/changeorder/co_deploy', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5583,99 +3099,182 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance that you want to import or migrate. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'* An instance may not belong to a cluster, but an instance can belong to only one cluster at most.'."\n" - .'* The ECS instances and the destination cluster must be in the same virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2ze7s2v0b789k60p****', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~423162~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-********************', 'title' => ''], ], [ - 'name' => 'TargetClusterId', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a****', - ], + 'schema' => ['description' => 'The version of the application deployment package. The value can be up to 64 characters in length. We recommend that you use a timestamp.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'Password', + 'name' => 'Desc', 'in' => 'query', - 'schema' => [ - 'description' => 'The logon password of the ECS instance that you want to import or migrate to the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Hello****', - ], + 'schema' => ['description' => 'The description of the application deployment.', 'type' => 'string', 'required' => false, 'example' => 'Deploy by edas pop api', 'title' => ''], + ], + [ + 'name' => 'DeployType', + 'in' => 'query', + 'schema' => ['description' => 'The deployment mode of the application. Valid values: `url` and `image`. The image value is deprecated. You can deploy an application to a Swarm cluster only by using an image.\\`\\`', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'URL', 'title' => ''], + ], + [ + 'name' => 'WarUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the application deployment package. The package can be a WAR or JAR package. This parameter is required if you set the **DeployType** parameter to `url`. We recommend that you specify the URL of an application deployment package that is stored in an Object Storage Service (OSS) bucket.', 'type' => 'string', 'required' => false, 'example' => 'https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war', 'title' => ''], + ], + [ + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the application image that is used to deploy the application in a Swarm cluster. We recommend that you use an image that is stored in Alibaba Cloud Container Registry. This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance group to which the application is deployed. You can call the ListDeployGroup operation to query the ID of the instance group. For more information, see [ListDeployGroup](~~423184~~).'."\n" + ."\n" + .'Set the parameter to `all` if you want to deploy the application to all instance groups.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'all', 'title' => ''], + ], + [ + 'name' => 'Batch', + 'in' => 'query', + 'schema' => ['description' => 'The number of batches per instance group.'."\n" + ."\n" + .'- If you specify an ID when you set the GroupId parameter, the application is deployed to the specified instance group. The minimum number of batches that can be specified is 1. The maximum number of batches is the maximum number of ECS instances in the Normal state in the instance group. The actual value falls in the range of \\[1, specified number]. The specified number of batches equals the number of ECS instances in the specified instance group.'."\n" + ."\n" + .'- If you set the GroupId parameter to all, the application is deployed to all instance groups. The minimum number of batches that can be specified is 1. The maximum number of batches is the number of ECS instances in the instance group that has the largest number of ECS instances in the Normal state.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => 'The wait time between deployment batches for the application. Unit: minutes.'."\n" + ."\n" + .'- Default value: 0. If no wait time between deployment batches is needed, set this parameter to 0.'."\n" + ."\n" + .'- Maximum value: 5.'."\n" + ."\n" + .'If many deployment batches are needed, we recommend that you specify a small value for this parameter. Otherwise, the application deployment is time-consuming.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'AppEnv', + 'in' => 'query', + 'schema' => ['description' => 'The environment variables of the application. Specify each environment variable by using two key-value pairs. Example: `{"name":"x","value":"y"},{"name":"x2","value":"y2"}`. The `keys` of the two key-value pairs are `name` and `value`.', 'type' => 'string', 'required' => false, 'example' => '[{\\"name\\":\\"env_name_1\\", \\"value\\":\\"env_value_1\\"}, {\\"name\\":\\"env_name_2\\",\\"value\\":\\"env_value_2\\"}]', 'title' => ''], + ], + [ + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'The build package number of EDAS Container.'."\n" + ."\n" + .'- You do not need to set the parameter if you do not need to change the EDAS Container version during the deployment.'."\n" + ."\n" + .'- Set the parameter if you need to update the EDAS Container version of the application during the deployment.'."\n" + ."\n" + .'You can query the build package number by using one of the following methods:'."\n" + ."\n" + .'- Call the ListBuildPack operation. For more information, see [ListBuildPack](~~149391~~).'."\n" + ."\n" + .'- Obtain the value in the **Build package number** column of the [Release notes for EDAS Container](~~92614~~) topic. For example, `59` indicates `EDAS Container 3.5.8`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '59', 'title' => ''], + ], + [ + 'name' => 'ComponentIds', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the components used by the application. The parameter is not applicable to High-Speed Framework (HSF) applications. You can call the ListComponents operation to query the component IDs. For more information, see [ListComponents](~~423223~~).'."\n" + ."\n" + .'- If you have specified the component IDs when you create the application, you do not need to set the parameter when you deploy the application.'."\n" + ."\n" + .'- Set the parameter if you need to update the component versions for the application during the deployment.'."\n" + ."\n" + .'Valid values for common application components:'."\n" + ."\n" + .'- 4: Apache Tomcat 7.0.91'."\n" + ."\n" + .'- 7: Apache Tomcat 8.5.42'."\n" + ."\n" + .'- 5: OpenJDK 1.8.x'."\n" + ."\n" + .'- 6: OpenJDK 1.7.x'."\n" + ."\n" + .'For more information, see the Common application parameters section of the [InsertApplication](~~423185~~) topic.', 'type' => 'string', 'required' => false, 'example' => '7', 'title' => ''], + ], + [ + 'name' => 'ReleaseType', + 'in' => 'query', + 'schema' => ['description' => 'The mode in which the deployment batches are triggered. Valid values:'."\n" + ."\n" + .'- 0: automatic.'."\n" + ."\n" + .'- 1: You must manually trigger the next batch. You can manually click **Proceed to Next Batch** in the console or call the ContinuePipeline operation to proceed to the next batch. We recommend that you choose the automatic mode when you call an API operation to deploy the application. For more information, see [ContinuePipeline](~~126990~~).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'Gray', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether canary release is selected as the deployment method. Valid values:'."\n" + ."\n" + .'- true: Canary release is selected.'."\n" + ."\n" + .' - To implement a canary release, specify the GroupId parameter, which specifies the ID of the instance group for the canary release.'."\n" + ."\n" + .' - Canary release can be selected as the deployment method for only one batch.'."\n" + ."\n" + .' - After the canary release is complete, the application is released in regular mode. The Batch parameter specifies the number of batches.'."\n" + ."\n" + .'- false: Single-batch release or phased release is selected.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'TrafficControlStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The canary release policy. For more information about canary release policies, see [DeployK8sApplication](~~423212~~).', 'type' => 'string', 'required' => false, 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '`Transform submit success!` is returned if the request is successful.'."\n", - 'type' => 'string', - 'example' => 'Transform submit success!', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The change process ID of the application deployment.', 'type' => 'string', 'example' => 'adf86823-055b-48a4-a59f-fa5582******', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'd6834ee9-5045-*************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"Transform submit success!\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","errorExample":""},{"type":"xml","example":"<TransformClusterMemberResponse>\\n<Message>success</Message>\\n<RequestId>b197-40ab-9155-****</RequestId>\\n<Data>Transform submit success!</Data>\\n<Code>200</Code>\\n</TransformClusterMemberResponse>","errorExample":""}]', - 'description' => '## Limits'."\n" - ."\n" - .'When you call this operation to import an ECS instance, the operating system of the ECS instance is reinstalled. After the operating system is reinstalled, all data of the ECS instance is deleted. You must set a logon password for the ECS instance. Make sure that no important data exists on or data has been backed up for the ECS instance that you want to import.'."\n", + 'title' => 'DeployApplication', + 'description' => '> To deploy an application in a Container Service for Kubernetes (ACK) cluster that is imported into Enterprise Distributed Application Service (EDAS), call the DeployK8sApplication operation provided by EDAS. For more information, see [](~~149420~~)DeployK8sApplication.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'MigrateEcu' => [ - 'summary' => 'Migrates an elastic compute unit (ECU) to the default cluster in a specified namespace.', - 'path' => '/pop/v5/resource/migrate_ecu', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"adf86823-055b-48a4-a59f-fa5582******\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d6834ee9-5045-*************\\"\\n}","type":"json"}]', + ], + 'DeployK8sApplication' => [ + 'path' => '/pop/v5/k8s/acs/k8s_apps', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5683,99 +3282,594 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2zej4i2jdf3ntwhj****', - ], + 'schema' => ['description' => 'The script to execute before stopping the container. Example: `{"tcpSocket":{"host":"", "port":8080}}`.'."\n" + .'To delete this configuration, set the parameter to `{}`. If you do not set this parameter, the configuration is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{'."\n" + .' "exec":{'."\n" + .' "command":['."\n" + .' "ls",'."\n" + .' "/"'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `region ID:custom namespace ID` format. Example: cn-beijing:tdy218.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:test_region', - ], + 'schema' => ['description' => 'The environment variables for the deployment. The value must be a JSON array of objects. Three types of environment variables are supported: regular, Kubernetes ConfigMap, and Kubernetes Secret. The format for a regular environment variable is as follows:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'A ConfigMap environment variable injects the value of a specified key from a ConfigMap into the container\'s environment variables. The format is as follows:'."\n" + ."\n" + .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" + ."\n" + .'A Secret environment variable injects the value of a specified key from a Secret into the container\'s environment variables. The format is as follows:'."\n" + ."\n" + .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" + ."\n" + .'> To clear this configuration, set the parameter to an empty JSON array \\`\\[]\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]'], + ], + [ + 'name' => 'ImageTag', + 'in' => 'query', + 'schema' => ['description' => 'The image tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'latest'], + ], + [ + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => 'The minimum interval for a phased release of pods. For more information, see [minReadySeconds](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => 'The container startup command.'."\n" + ."\n" + .'> To clear this configuration, set the parameter to an empty string `""`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ls'], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The application ID. Obtain the ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc'], + ], + [ + 'name' => 'PostStart', + 'in' => 'query', + 'schema' => ['description' => 'The script to execute after the container starts. Example: `{"exec":{"command":["cat","/etc/group"]}}`. To delete this configuration, set the parameter to `{}`. If you do not set this parameter, the configuration is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{'."\n" + .' "exec":{'."\n" + .' "command":['."\n" + .' "ls",'."\n" + .' "/"'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], + ], + [ + 'name' => 'Readiness', + 'in' => 'query', + 'schema' => ['description' => 'The readiness probe for the container. If the probe fails, traffic from the Kubernetes service is not routed to the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}`. To delete this configuration, set the parameter to `""` or `{}`. If you do not set this parameter, the configuration is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}'], + ], + [ + 'name' => 'Liveness', + 'in' => 'query', + 'schema' => ['description' => 'The liveness probe for the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`. To delete this configuration, set the parameter to `""` or `{}`. If you do not set this parameter, the configuration is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + ], + [ + 'name' => 'Args', + 'in' => 'query', + 'schema' => ['description' => 'The arguments for the container startup command. The value must be a JSON array of strings, such as `["Argument 1", "Argument 2"]`. To clear the arguments, set the parameter to an empty JSON array `"[]"`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["args1","args2"]'], + ], + [ + 'name' => 'Replicas', + 'in' => 'query', + 'schema' => ['description' => 'The number of application instances. The minimum value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + ], + [ + 'name' => 'Image', + 'in' => 'query', + 'schema' => ['description' => 'The full URL of the image. This parameter overwrites the ImageTag parameter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1'], + ], + [ + 'name' => 'CpuLimit', + 'in' => 'query', + 'schema' => ['description' => 'The CPU limit for the application instance during runtime. Unit: cores. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + ], + [ + 'name' => 'MemoryLimit', + 'in' => 'query', + 'schema' => ['description' => 'The memory limit for the application instance during runtime. Unit: MB. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'CpuRequest', + 'in' => 'query', + 'schema' => ['description' => 'The CPU quota to request for the application instance during runtime. Setting this parameter is recommended.'."\n" + .'Unit: cores. A value of 0 means no limit.'."\n" + ."\n" + .'> If you set this parameter, also set the CpuLimit parameter. The value of CpuRequest must be less than or equal to the value of CpuLimit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'MemoryRequest', + 'in' => 'query', + 'schema' => ['description' => 'The memory quota to request for the application instance during runtime. Setting this parameter is recommended. Unit: MB. A value of 0 means no request.'."\n" + ."\n" + .'> If you set this parameter, also set the MemoryLimit parameter. The value of MemoryRequest must be less than or equal to the value of MemoryLimit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'NasId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Apsara File Storage NAS (NAS) file system to mount. The NAS file system must be in the same region as the cluster. It must have an available mount target quota, or its mount target must be on a vSwitch in the VPC. If you do not set this parameter but the \\`mountDescs\\` field exists, a NAS file system is automatically purchased and mounted to a vSwitch in the VPC by default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'dfs23****'], + ], + [ + 'name' => 'MountDescs', + 'in' => 'query', + 'schema' => ['description' => 'The mount configurations, which are a serialized JSON string. Example: `[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]`. In this example, \\`nasPath\\` is the file storage path and \\`mountPath\\` is the path in the container to which the file system is mounted.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]'], + ], + [ + 'name' => 'StorageType', + 'in' => 'query', + 'schema' => ['description' => 'The storage type of the NAS file system. Valid values:'."\n" + ."\n" + .'- General-purpose NAS: \\`Capacity\\` and \\`Performance\\`'."\n" + ."\n" + .'- Extreme NAS: \\`standard\\` and \\`advance\\`'."\n" + ."\n" + .'Currently, only the \\`Performance\\` type is supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Performance'], + ], + [ + 'name' => 'LocalVolume', + 'in' => 'query', + 'schema' => ['description' => 'The configuration for mounting a host file to a container. Example: `[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]`. In this example, \\`nodePath\\` is the host path, \\`mountPath\\` is the path in the container, and \\`type\\` is the mount type.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]'], + ], + [ + 'name' => 'PackageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the deployment package. Configure this parameter for applications deployed using a FatJar or WAR package.'."\n" + ."\n" + .'> The Java or Python SDK for EDAS POP API must be version 2.44.0 or later.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + ], + [ + 'name' => 'PackageVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version number of the deployment package. This parameter is required for WAR and FatJar packages. You can define the meaning of the version number.'."\n" + ."\n" + .'> The Java or Python SDK for EDAS POP API must be version 2.44.0 or later.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '20200720'], + ], + [ + 'name' => 'JDK', + 'in' => 'query', + 'schema' => ['description' => 'The JDK version on which the deployment package depends. Valid values: Open JDK 7, Open JDK 8, or Custom OpenJDK. This parameter is not supported for image-based deployments. If you use Custom OpenJDK, you must also configure the \\`UserBaseImageUrl\\` field.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Open JDK 8'], + ], + [ + 'name' => 'WebContainer', + 'in' => 'query', + 'schema' => ['description' => 'The Tomcat version on which the deployment package depends. This parameter applies to Spring Cloud and Dubbo applications deployed using WAR packages. It is not supported for image-based deployments.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'apache-tomcat-7.0.91'], + ], + [ + 'name' => 'EdasContainerVersion', + 'in' => 'query', + 'schema' => ['description' => 'The EDAS Container version on which the deployment package depends. This parameter applies to HSF applications deployed using WAR packages. It is not supported for image-based deployments.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '3.5.9'], + ], + [ + 'name' => 'UriEncoding', + 'in' => 'query', + 'schema' => ['description' => 'The URI encoding format. Supported formats: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" + ."\n" + .'> If you do not set this parameter in the application configuration, the default Tomcat value is used.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'GBK'], + ], + [ + 'name' => 'UseBodyEncoding', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable \\`useBodyEncodingForURI\\`.'."\n" + ."\n" + .'> If you do not set this parameter in the application configuration, the default value \\`false\\` is used.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + ], + [ + 'name' => 'UpdateStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The phased release policy.'."\n" + ."\n" + .'- Example 1: Phased release with one canary instance, followed by two batches, automatic batching, and a 1-minute interval.'."\n" + .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- Example 2: Phased release with one canary instance, followed by two batches and manual batching.'."\n" + .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- Example 3: Phased release in two batches, with automatic batching and a 0-minute interval.'."\n" + .' `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}'], + ], + [ + 'name' => 'McpuRequest', + 'in' => 'query', + 'schema' => ['description' => 'The minimum CPU resource requirement. Unit: cores. A value of 0 means no limit.'."\n" + ."\n" + .'> If you set this parameter, you must also set the \\`CpuLimit\\` parameter. The value must be less than or equal to the value of \\`CpuLimit\\`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '4'], + ], + [ + 'name' => 'McpuLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum CPU that can be used. Unit: cores. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'VolumesStr', + 'in' => 'query', + 'schema' => ['description' => 'The data volumes.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'PackageVersionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment package version.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2bcc********'], + ], + [ + 'name' => 'ChangeOrderDesc', + 'in' => 'query', + 'schema' => ['description' => 'The description of the change record.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Upgrade'], + ], + [ + 'name' => 'RuntimeClassName', + 'in' => 'query', + 'schema' => ['description' => 'The container runtime type:'."\n" + ."\n" + .'- \\`runc\\`: regular container runtime.'."\n" + ."\n" + .'- \\`runv\\`: sandboxed container.'."\n" + ."\n" + .'This parameter applies only to clusters that use sandboxed containers.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'runc'], + ], + [ + 'name' => 'DeployAcrossZones', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to distribute application instances across multiple zones. \\`true\\` indicates yes, and other values indicate no.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'BatchTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for a single batch release. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '60'], + ], + [ + 'name' => 'EnableAhas', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to connect to Application High Availability Service (AHAS).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'WebContainerConfig', + 'in' => 'query', + 'schema' => ['description' => 'The Tomcat container configuration. Set to `""` or `"{}"` to delete the configuration:'."\n" + ."\n" + .'- \\`useDefaultConfig\\`: Specifies whether to use a custom configuration. If \\`true\\`, the custom configuration is not used. If \\`false\\`, the custom configuration is used. If you do not use a custom configuration, the following parameter settings do not take effect.'."\n" + ."\n" + .'- \\`contextInputType\\`: The access path of the application.'."\n" + ."\n" + .' - \\`war\\`: You do not need to enter a custom path. The access path is the name of the WAR package.'."\n" + ."\n" + .' - \\`root\\`: You do not need to enter a custom path. The access path is \\`/\\`.'."\n" + ."\n" + .' - \\`custom\\`: You need to enter a custom path in the \\`contextPath\\` parameter below.'."\n" + ."\n" + .'- \\`contextPath\\`: The custom path. This parameter is required only when \\`contextInputType\\` is set to \\`custom\\`.'."\n" + ."\n" + .'- \\`httpPort\\`: The port number. The valid range is 1024 to 65535. Ports smaller than 1024 require root permissions. Because the container is configured with administrator permissions, specify a port number greater than 1024. If you do not configure this, the default port is 8080.'."\n" + ."\n" + .'- \\`maxThreads\\`: The size of the connection pool. The default value is 400.'."\n" + ."\n" + .' > This configuration greatly affects application performance. Configure it under professional guidance.'."\n" + ."\n" + .'- \\`uriEncoding\\`: The encoding format for Tomcat. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312. If you do not set this, the default is ISO-8859-1.'."\n" + ."\n" + .'- \\`useBodyEncoding\\`: Specifies whether to use BodyEncoding for URLs.'."\n" + ."\n" + .'- \\`useAdvancedServerXml\\`: Specifies whether to use advanced configuration to customize the \\`server.xml\\` file. If the preceding parameter types and values do not meet your needs, you can use the advanced settings to directly edit the Tomcat \\`Server.xml\\` file.'."\n" + ."\n" + .'- \\`serverXml\\`: The content of the custom \\`server.xml\\` text file in the advanced configuration. This takes effect when \\`useAdvancedServerXml\\` is \\`true\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}'], + ], + [ + 'name' => 'JavaStartUpConfig', + 'in' => 'query', + 'schema' => ['description' => 'The Java startup parameters. You can configure memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom settings. Correctly configuring these parameters helps reduce GC overhead, shorten server response time, and improve throughput. The parameter is a JSON string. \\`original\\` is the configuration value, and \\`startup\\` is the startup parameter. The system automatically concatenates all \\`startup\\` values as the Java startup parameters for the application. Set to `""` or `"{}"` to delete the configuration.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}'], + ], + [ + 'name' => 'SlsConfigs', + 'in' => 'query', + 'schema' => ['description' => 'The Logstore configuration. Set to `""` or `"{}"` to delete the configuration:'."\n" + ."\n" + .'- \\`Configs\\`:'."\n" + ."\n" + .' - \\`type\\`: The collection type. \\`file\\` for file type, \\`stdout\\` for standard output type.'."\n" + ."\n" + .' - \\`Logstore\\`: The name of the Logstore. Make sure the Logstore name is unique within the same cluster. The name must follow these rules:'."\n" + ."\n" + .' - It can only contain lowercase letters, numbers, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .' - It must start and end with a lowercase letter or a number.'."\n" + ."\n" + .' - The name must be 3 to 63 characters long. If left empty, the system generates a name automatically.'."\n" + ."\n" + .' - \\`LogDir\\`: If the type is standard output, the collection path is \\`stdout.log\\`. If the type is file, this is the path of the file to collect. Wildcards are supported. The collection path must match the regular expression: `^/(.+)/(.*)^/$`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]'], + ], + [ + 'name' => 'DeployAcrossNodes', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to distribute application instances across multiple nodes. \\`true\\` indicates yes, and other values indicate no.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'TrafficControlStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The traffic control policy for phased release.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}'], + ], + [ + 'name' => 'PvcMountDescs', + 'in' => 'query', + 'schema' => ['description' => 'Configures Kubernetes PersistentVolumeClaim (PVC) mounts. This lets you mount a Kubernetes PVC volume to a specified container directory. The parameters for \\`PvcMountDescs\\` are as follows:'."\n" + ."\n" + .'- \\`pvcName\\`: The name of the PVC volume. The PVC volume must already exist and be in the Bound state.'."\n" + ."\n" + .'- \\`mountPaths\\`: A list of mount directories. You can configure multiple mount directories. Each mount directory supports the following two parameters:'."\n" + ."\n" + .' - \\`mountPath\\`: The mount path. An absolute path in the container that starts with a forward slash (/).'."\n" + ."\n" + .' - \\`readOnly\\`: The mount mode. \\`true\\` for read-only, \\`false\\` for read-write. The default is \\`false\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]'], + ], + [ + 'name' => 'ConfigMountDescs', + 'in' => 'query', + 'schema' => ['description' => 'Configures Kubernetes ConfigMap and Secret mounts. This lets you mount a ConfigMap or Secret to a specified container directory. The parameters for \\`ConfigMountDescs\\` are as follows:'."\n" + ."\n" + .'- \\`name\\`: The name of the ConfigMap or Secret.'."\n" + ."\n" + .'- \\`type\\`: The configuration type. \\`ConfigMap\\` and \\`Secret\\` are supported.'."\n" + ."\n" + .'- \\`mountPath\\`: The mount path. An absolute path in the container that starts with a forward slash (/).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '['."\n" + .' {'."\n" + .' "name": "nginx-config",'."\n" + .' "type": "ConfigMap",'."\n" + .' "mountPath": "/etc/nginx"'."\n" + .' },'."\n" + .' {'."\n" + .' "name": "tls-secret",'."\n" + .' "type": "Secret",'."\n" + .' "mountPath": "/etc/ssh"'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'EnvFroms', + 'in' => 'query', + 'schema' => ['description' => 'Configures environment variables of the Kubernetes \\`EnvFrom\\` type. This mounts a specified ConfigMap or Secret to a directory. Each key corresponds to a file in the directory, and the file content is the value of the key.'."\n" + ."\n" + .'The parameters for \\`EnvFroms\\` are as follows.'."\n" + ."\n" + .'- \\`configMapRef\\`: A reference to a ConfigMap. This field includes the following parameter:'."\n" + ."\n" + .' - \\`name\\`: The name of the ConfigMap.'."\n" + ."\n" + .'- \\`secretRef\\`: A reference to a Secret. This field includes the following parameter:'."\n" + ."\n" + .' - \\`name\\`: The name of the Secret.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]'], + ], + [ + 'name' => 'EmptyDirs', + 'in' => 'query', + 'schema' => ['description' => 'Configures Kubernetes \\`emptyDir\\` mounts. This lets you mount an \\`emptyDir\\` volume to a specified container directory. The parameters for \\`EmptyDirs\\` are as follows:'."\n" + ."\n" + .'- \\`mountPath\\`: The container mount path. This is required.'."\n" + ."\n" + .'- \\`readOnly\\`: Specifies whether the volume is read-only. Optional. \\`true\\` for read-only, \\`false\\` for read-write. The default is \\`false\\`.'."\n" + ."\n" + .'- \\`subPathExpr\\`: The subdirectory expression. Optional.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]'], + ], + [ + 'name' => 'CustomAffinity', + 'in' => 'query', + 'schema' => ['description' => 'The pod affinity configuration. This takes effect only when both \\`DeployAcrossNodes\\` and \\`DeployAcrossZones\\` are \\`false\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"beta.kubernetes.io/arch","operator":"NotIn","values":["arm64","arm32"]}]}]},"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":5,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]},"podAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"namespaces":["default"],"topologyKey":"kubernetes.io/hostname","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"NotIn","values":["edas-test-app"]}]}}]},"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"namespaces":["default"],"topologyKey":"failure-domain.beta.kubernetes.io/zone","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"In","values":["edas-test-app-2"]}]}},"weight":15}]}}'], + ], + [ + 'name' => 'CustomTolerations', + 'in' => 'query', + 'schema' => ['description' => 'The pod scheduling toleration configuration. This takes effect only when both \\`DeployAcrossNodes\\` and \\`DeployAcrossZones\\` are \\`false\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}]'], + ], + [ + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'The build package number for EDAS Container:'."\n" + ."\n" + .'- If you do not need to change the EDAS Container version during deployment, you can leave this parameter unset.'."\n" + ."\n" + .'- To update the EDAS Container version of the target application during this deployment, you must set this parameter.'."\n" + ."\n" + .'You can obtain the number in two ways:'."\n" + ."\n" + .'- Call the ListBuildPack operation to query the list of container versions. For more information, see [ListBuildPack](~~423222~~).'."\n" + ."\n" + .'- Obtain it from the **Build Package Number** column in the [Version guide](~~92614~~) table. For example, `59` indicates `EDAS Container 3.5.8`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '59'], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => 'The annotations for the application pod.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}'], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => 'The labels for the application pod.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}'], + ], + [ + 'name' => 'EnableEmptyPushReject', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable empty push protection:'."\n" + ."\n" + .'- \\`true\\`: Enable empty push protection.'."\n" + ."\n" + .'- \\`false\\`: Do not enable empty push protection.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'EnableLosslessRule', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful start rule:'."\n" + ."\n" + .'- \\`true\\`: Enable the graceful start rule.'."\n" + ."\n" + .'- \\`false\\`: Do not enable the graceful start rule.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'LosslessRuleWarmupTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The service prefetch duration. Unit: seconds. The value ranges from 0 to 86400.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120'], + ], + [ + 'name' => 'LosslessRuleDelayTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The service registration latency. Unit: seconds. The value ranges from 0 to 86400.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'LosslessRuleFuncType', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The service prefetch curve. The value ranges from 0 to 20. The default is 2, which is suitable for general prefetch scenarios. This indicates that the traffic receiving curve of the service provider follows a quadratic curve during the prefetch period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'LosslessRuleAligned', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful rolling deployment mode to complete service registration before the readiness probe succeeds:'."\n" + ."\n" + .'- \\`true\\`: This switch provides a health check for the application on port 55199 and the \\`/health\\` path without intrusion. When service registration is complete, the interface returns 200. Otherwise, it returns 500.'."\n" + ."\n" + .'> If \\`LosslessRuleRelated\\` is also set to \\`true\\`, this interface checks whether service prefetch is complete.'."\n" + ."\n" + .'- \\`false\\`: Does not provide an interface for the application to check if service registration is complete.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'LosslessRuleRelated', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful rolling deployment mode to complete service prefetch before the readiness probe succeeds:'."\n" + ."\n" + .'- \\`true\\`: This switch provides a health check for the application on port 55199 and the \\`/health\\` path without intrusion. When service prefetch is complete, the interface returns 200. Otherwise, it returns 500.'."\n" + ."\n" + .'- \\`false\\`: Does not provide an interface for the application to check if service prefetch is complete.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'LimitEphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The upper limit of the temporary storage resource requirement. Unit: GB. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '4'], + ], + [ + 'name' => 'RequestsEphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The minimum temporary storage resource requirement. Unit: GB. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '2'], + ], + [ + 'name' => 'Sidecars', + 'in' => 'query', + 'schema' => ['description' => 'Sets a sidecar container for the application pod. The container configuration is in YAML format. The value is the base64-encoded YAML configuration of the sidecar container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'InitContainers', + 'in' => 'query', + 'schema' => ['description' => 'Sets an init container for the application pod. The container configuration is in YAML format. The value is the base64-encoded YAML configuration of the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'UserBaseImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'When using a custom JDK runtime, you must configure the base image address. This address must be publicly accessible. The EDAS server pulls this image to build the application image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'openjdk:8u302'], + ], + [ + 'name' => 'CanaryRuleId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the canary release rule policy.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'a8daf22e-****-968c7ff2ea34'], + ], + [ + 'name' => 'TerminateGracePeriod', + 'in' => 'query', + 'schema' => ['description' => 'The graceful stop timeout period for the application. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '120'], + ], + [ + 'name' => 'ImagePlatforms', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The target platform architecture for the image. This is valid when deploying with a WAR or JAR file. Examples:'."\n" + ."\n" + .'- To specify the x86-64 architecture: \\`linux/amd64\\`'."\n" + ."\n" + .'- To specify the ARM 64 architecture: \\`linux/arm64\\`'."\n" + ."\n" + .'- To build a dual-architecture image: \\`linux/amd64,linux/arm64\\`'."\n" + ."\n" + .'- If you do not enter a value, the default architecture is used.', 'type' => 'string', 'required' => false, 'example' => 'linux/arm64,linux/amd64'], + ], + [ + 'name' => 'Startup', + 'in' => 'query', + 'schema' => ['description' => 'The startup probe can be used to perform liveness checks on slow-starting containers to prevent them from being killed before they are up and running. Example: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}]}}.'."\n" + ."\n" + .'To delete this configuration, set the parameter to "" or {}. If you do not set this parameter, the configuration is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + ], + [ + 'name' => 'CustomAgentVersion', + 'in' => 'query', + 'schema' => ['description' => 'Sets the version of the custom Application Real-Time Monitoring Service (ARMS) agent to mount to the application.'."\n" + ."\n" + .'> This feature is available only to whitelisted users. To use this feature, submit a ticket to be added to the whitelist.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '3.1.4'], + ], + [ + 'name' => 'SecurityContext', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => 'Sets the \\`SecurityContext\\` property for the application pod container. The value is the base64-encoded YAML configuration of the \\`SecurityContext\\`.', 'required' => false, 'title' => '', 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true: The request is successful.'."\n" - .'* false: The request fails.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04B0ABAF-95F2-42B6-A7B1****', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to obtain it. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'title' => '', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c'], + 'Code' => ['description' => 'The status of the interface or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****'], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"04B0ABAF-95F2-42B6-A7B1****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>04B0ABAF-95F2-42B6-A7B1-8A832E863C92</RequestId>\\n<Data>true</Data>\\n<Code>200</Code>","errorExample":""}]', - 'description' => '## Limits'."\n" - ."\n" - .'We recommend that you do not call this operation. Instead, we recommend that you call the TransformClusterMember operation. For more information, see [TransformClusterMember](~~71514~~).'."\n" - ."\n" - .'When you call this operation to import an Elastic Compute Service (ECS) instance, the operating system of the ECS instance is reinstalled. After the operating system is reinstalled, all data of the ECS instance is deleted. You must set a logon password for the ECS instance. Make sure that no important data exists on or data has been backed up for the ECS instance that you want to import.'."\n" - ."\n" - .'## Terms'."\n" - ."\n" - .'* **Namespace**: the logical concept that is used to isolate resources and microservices in Enterprise Distributed Application Service (EDAS). The resources include clusters, ECS instances, and applications. You can use a default or custom namespace. Each region has a default namespace and supports multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources or microservices.'."\n" - .'* **ECU**: After an ECS instance is imported to a cluster, the instance becomes an ECU.'."\n" - .'* **Elastic compute container (ECC)**: After you deploy an application to an ECU in a cluster, the ECU becomes an ECC.'."\n", + 'title' => 'DeployK8sApplication', + 'summary' => 'Deploys an application in a Container Service for Kubernetes (ACK) cluster or a Serverless Kubernetes (ASK) cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SynchronizeResource' => [ - 'summary' => 'Synchronizes the basic Alibaba Cloud resources that belong to your account to Enterprise Distributed Application Service (EDAS). This operation is applicable to Elastic Compute Service (ECS) clusters.', - 'path' => '/pop/v5/resource/pop_sync_resource', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de*****\\"\\n}","type":"json"}]', + ], + 'DescribeAppInstanceList' => [ + 'path' => '/pop/v5/oam/app_instance_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5783,33 +3877,21 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Type', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource to be synchronized. Valid values: `ecs, slb, vpc, and all`. These values are case-sensitive.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ecs', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the ID of the application. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d', 'title' => ''], ], [ - 'name' => 'ResourceIds', + 'name' => 'WithNodeInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource. This parameter is required only when you set the Type parameter to `ecs`. If you specify multiple IDs, separate them with commas (,). You can synchronize up to 50 resources at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp17c***5q8x,i-bp1**5q8x', - ], + 'schema' => ['description' => 'Specifies whether to return the information about the node in which the pod resides.'."\n" + ."\n" + .'- `true`: returns the information about the node in which the pod resides'."\n" + ."\n" + .'- `false`: does not return the information about the node in which the pod resides', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -5817,163 +3899,290 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The data returned for the request.'."\n", - 'type' => 'string', - 'example' => 'PopSyncResource success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F8DFGED-K98***************', - ], - 'Success' => [ - 'description' => 'Indicates whether the resources are synchronized. Valid values:'."\n" - ."\n" - .'* **true**: The resources are synchronized.'."\n" - .'* **false**: The resources fail to be synchronized.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****', 'title' => ''], + 'InstanceList' => [ + 'description' => 'The application instances.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NodeLabels' => ['description' => 'The labels of the node. The value is a JSON string.', 'type' => 'string', 'example' => '{"alibabacloud.com/nodepool-id":"np0*5b9377fa907","beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"ecs.*","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"cn-hangzhou","failure-domain.beta.kubernetes.io/zone":"cn-hangzhou-b","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"cn-hangzhou*","kubernetes.io/os":"linux","node.kubernetes.io/instance-type":"ecs.*","topology.diskplugin.csi.alibabacloud.com/zone":"cn-hangzhou-b","topology.kubernetes.io/region":"cn-hangzhou","topology.kubernetes.io/zone":"cn-hangzhou-b"}', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the instance group to which the application is deployed.', 'type' => 'string', 'example' => '93fdd228-*****-ed2ae98de18d', 'title' => ''], + 'GroupName' => ['description' => 'The name of the instance group to which the application is deployed.', 'type' => 'string', 'example' => '_DEFAULT_GROUP', 'title' => ''], + 'Canary' => ['description' => 'Indicates whether the application was released in canary release mode.'."\n" + ."\n" + .'- `true`: The application was released in canary release mode.'."\n" + ."\n" + .'- `false`: The application was not released in canary release mode', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'NodeName' => ['description' => 'The name of the node.', 'type' => 'string', 'example' => 'cn-hangzhou.192.168.0.*', 'title' => ''], + 'PodRaw' => ['description' => 'The information about the pod. The value is a JSON string.', 'type' => 'string', 'example' => '{"metadata":{"name":"oambuild-group-1-*4xthz","generateName":"oambuild-group-*96-","namespace":"default","selfLink":"/api/v1/namespaces/default/pods/oambuild-grou*96-4xthz","uid":"7a23399c-*fe7ff4018","resourceVersion":"969614830","creationTimestamp":"2021-04-06T11:38:46Z","labels":{"ARMSApmAppId":"*","ARMSApmLicenseKey":"*"...', 'title' => ''], + 'Version' => ['description' => 'The deployment package version of the node.', 'type' => 'string', 'example' => '2021-04-06 19:37:42', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '93fdd228-*****-ed2ae98de18d', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"PopSyncResource success\\",\\n \\"RequestId\\": \\"F8DFGED-K98***************\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Data>PopSyncResource success</Data>\\n<Code>200</Code>\\n<Success>true</Success>","errorExample":""}]', - 'title' => 'SynchronizeResource', - 'description' => 'If you call this operation to synchronize ECS resource information, all instance data is synchronized from ECS. If you have more than 100 ECS instances, we recommend that you do not frequently call this operation.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'No permissions', 'description' => ''], + ['errorCode' => 'Edas.errorcode.ParameterMissing.AppId.message', 'errorMessage' => 'Application ID is missing.', 'description' => ''], + ], + ], + 'staticInfo' => [], + 'title' => 'DescribeAppInstanceList', + 'summary' => 'Queries Kubernetes application instances.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## Usage notes'."\n" - ."\n" - .'When you call this operation, you may encounter the timeout issue when you connect to the OpenAPI Developer Portal from a client. The default timeout period is 10 seconds. To resolve this issue, before you call this operation, you must manually set the timeout period for reading the data returned by the OpenAPI Developer Portal. We recommend that you set the timeout period to 30 seconds. This is because the time limit for service processing between the OpenAPI Developer Portal and the server is 30 seconds.'."\n" - ."\n" - .'* If you use EDAS SDK for Java and call this operation in the client code, you can set the read timeout period in the following way:'."\n" - ."\n" - .'<!---->'."\n" - ."\n" - .' SynchronizeResourceRequest request = new SynchronizeResourceRequest();'."\n" - .' request.setSysReadTimeout(30000); // The timeout period for the client to wait for OpenAPI Developer Portal to return data. Unit: milliseconds. '."\n" - .' request.setType("ecs");'."\n" - .' ........'."\n" - ."\n" - .'* If you use EDAS SDK for Python and call this operation in the client code, you can set the read timeout period in the following way:'."\n" - ."\n" - .'<!---->'."\n" - ."\n" - .' request = SynchronizeResourceRequest()'."\n" - .' request.set_read_timeout(30000)'."\n" - .' request.set_Type(\'ecs\')'."\n", - ], - 'UpdateK8sResource' => [ - 'summary' => 'Update Kubernetes resources.', - 'path' => '/pop/v5/oam/update_k8s_resource_config', - 'methods' => [ - 'post', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAppInstanceList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\",\\n \\"InstanceList\\": [\\n {\\n \\"NodeLabels\\": \\"{\\\\\\"alibabacloud.com/nodepool-id\\\\\\":\\\\\\"np0*5b9377fa907\\\\\\",\\\\\\"beta.kubernetes.io/arch\\\\\\":\\\\\\"amd64\\\\\\",\\\\\\"beta.kubernetes.io/instance-type\\\\\\":\\\\\\"ecs.*\\\\\\",\\\\\\"beta.kubernetes.io/os\\\\\\":\\\\\\"linux\\\\\\",\\\\\\"failure-domain.beta.kubernetes.io/region\\\\\\":\\\\\\"cn-hangzhou\\\\\\",\\\\\\"failure-domain.beta.kubernetes.io/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\",\\\\\\"kubernetes.io/arch\\\\\\":\\\\\\"amd64\\\\\\",\\\\\\"kubernetes.io/hostname\\\\\\":\\\\\\"cn-hangzhou*\\\\\\",\\\\\\"kubernetes.io/os\\\\\\":\\\\\\"linux\\\\\\",\\\\\\"node.kubernetes.io/instance-type\\\\\\":\\\\\\"ecs.*\\\\\\",\\\\\\"topology.diskplugin.csi.alibabacloud.com/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\",\\\\\\"topology.kubernetes.io/region\\\\\\":\\\\\\"cn-hangzhou\\\\\\",\\\\\\"topology.kubernetes.io/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\"}\\",\\n \\"GroupId\\": \\"93fdd228-*****-ed2ae98de18d\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"Canary\\": false,\\n \\"NodeName\\": \\"cn-hangzhou.192.168.0.*\\",\\n \\"PodRaw\\": \\"{\\\\\\"metadata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"oambuild-group-1-*4xthz\\\\\\",\\\\\\"generateName\\\\\\":\\\\\\"oambuild-group-*96-\\\\\\",\\\\\\"namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"selfLink\\\\\\":\\\\\\"/api/v1/namespaces/default/pods/oambuild-grou*96-4xthz\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"7a23399c-*fe7ff4018\\\\\\",\\\\\\"resourceVersion\\\\\\":\\\\\\"969614830\\\\\\",\\\\\\"creationTimestamp\\\\\\":\\\\\\"2021-04-06T11:38:46Z\\\\\\",\\\\\\"labels\\\\\\":{\\\\\\"ARMSApmAppId\\\\\\":\\\\\\"*\\\\\\",\\\\\\"ARMSApmLicenseKey\\\\\\":\\\\\\"*\\\\\\"...\\",\\n \\"Version\\": \\"2021-04-06 19:37:42\\",\\n \\"AppId\\": \\"93fdd228-*****-ed2ae98de18d\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeApplicationScalingRules' => [ + 'path' => '/pop/v1/eam/scale/application_scaling_rules', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '2e7059e9-2d********5e8ecac64ff', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the namespace to which the Kubernetes resource belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'app-namespace', - ], - ], - [ - 'name' => 'ResourceContent', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the resource in the YAML format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: demo-app namespace: app-namespace spec: replicas: 3 selector: matchLabels: cluster: abc template: # create pods using pod definition in this template metadata: labels: cluster: abc spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/edas-demo-image/consumer:1.0 imagePullPolicy: Always name: test-container ports: - containerPort: 80 env: - name: foo value: bar', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. Call the [ListApplication](~~149390~~) operation to get the application ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7638276F-****-****-884F-54CC0BC84A8D', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'AppScalingRules' => [ + 'description' => 'The Auto Scaling rules for the application.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of scaling rules returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of scaling rules.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Result' => [ + 'description' => 'The details of the Auto Scaling rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The UNIX timestamp when the scaling rule was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'CreateTime' => ['description' => 'The UNIX timestamp when the scaling rule was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application to which the scaling rule belongs.', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + 'LastDisableTime' => ['description' => 'The UNIX timestamp when the scaling rule was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the scaling rule is enabled.'."\n" + ."\n" + .'- **true**: The scaling rule is enabled.'."\n" + ."\n" + .'- **false**: The scaling rule is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the scaling rule. Only \\`trigger\\` is supported.', 'type' => 'string', 'example' => 'trigger', 'title' => ''], + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleName' => ['description' => 'The name of the scaling rule.', 'type' => 'string', 'example' => 'cpu-trigger', 'title' => ''], + 'Metric' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Metrics' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricType' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'asd', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Trigger' => [ + 'description' => 'The trigger configuration.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'The minimum number of replicas. The value cannot be less than 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of replicas. The value cannot exceed 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '122', 'title' => ''], + 'Triggers' => [ + 'description' => 'A list of trigger configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the trigger. Valid values: \\`cron\\` and \\`app\\_metric\\`.', 'type' => 'string', 'example' => 'cron', 'title' => ''], + 'MetaData' => ['description' => 'The metadata of the trigger.', 'type' => 'string', 'example' => '{"dryRun":true}', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger.', 'type' => 'string', 'example' => 'cron-trigger', 'title' => ''], + ], + 'description' => 'The trigger configuration.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Behaviour' => [ + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for a scale-out event. Unit: seconds. Valid values: 0 to 3600. Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scaling step size for scale-out events. Valid values: \\`Max\\`, \\`Min\\`, and \\`Disable\\`.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The execution interval. Unit: seconds. Valid values: 0 to 1800.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The type of the policy. Valid values: \\`Pods\\` and \\`Percent\\`.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value for the policy. The value must be an integer greater than 0. If \\`Type\\` is \\`Pods\\`, this parameter specifies the number of pods. If \\`Type\\` is \\`Percent\\`, this parameter specifies a percentage. The value can be greater than 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'description' => 'The policy configuration.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The policy configuration.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The configuration of the scale-out behavior.', + 'title' => '', + 'example' => '', + ], + 'ScaleDown' => [ + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for a scale-in event. Unit: seconds. Valid values: 0 to 3600. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scaling step size for scale-in events. Valid values: \\`Max\\`, \\`Min\\`, and \\`Disable\\`.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The execution interval. Unit: seconds. Valid values: 0 to 1800.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The type of the policy. Valid values: \\`Pods\\` and \\`Percent\\`.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value for the policy. The value must be an integer greater than 0. If \\`Type\\` is \\`Pods\\`, this parameter specifies the number of pods. If \\`Type\\` is \\`Percent\\`, this parameter specifies a percentage. The value can be greater than 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'description' => 'The policy configuration.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The policy configuration.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The configuration of the scale-in behavior.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The scaling behavior.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"7638276F-****-****-884F-54CC0BC84A8D\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>7638276F-****-****-884F-54CC0BC84A8D</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateK8sResource', - 'description' => '> You can update only Deployments.'."\n", + 'title' => 'DescribeApplicationScalingRules', + 'summary' => 'Call the DescribeApplicationScalingRules operation to query the scaling rules for an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sCluster' => [ - 'path' => '/pop/v5/k8s_clusters', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRules\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 20,\\n \\"Result\\": [\\n {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"asd\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cron-trigger\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 15,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeLocalitySetting' => [ + 'path' => '/pop/sp/applications/locality/setting', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5981,438 +4190,369 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionTag', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9999', - 'minimum' => '0', - 'example' => '1', - 'isFileTransferUrl' => false, - 'default' => '0', - ], + 'schema' => ['description' => 'The ID of the microservices namespace.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai:test', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'AppId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. To obtain the application ID, call the ListApplication operation. For more information, see [ListApplication](~~423162~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc190221-22b5-491c-a548-82f5fa1e3e26', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '10', - 'isFileTransferUrl' => false, - 'default' => '20', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code. A value of 200 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '1053-08e4-47a5-b2ab-5c0323de****', 'title' => ''], + 'Success' => ['description' => 'The result of the request.'."\n" + ."\n" + .'- `true`: The request was successful.'."\n" + ."\n" + .'- `false`: The request failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'Threshold' => ['description' => 'The threshold.', 'type' => 'number', 'format' => 'float', 'example' => '15', 'title' => ''], + 'Enabled' => ['description' => 'Indicates whether the feature is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => 'This parameter is not in use.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'DescribeLocalitySetting', + 'summary' => 'Queries the locality configuration.', + 'description' => '> Currently, only deployment resources can be modified.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'ClusterType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Kubernetes cluster. Valid values:'."\n" - ."\n" - .'* 5: ACK cluster'."\n" - .'* 7: self-managed Kubernetes cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '99', - 'minimum' => '0', - 'example' => '5', - 'default' => '5', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NamespaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Threshold\\": 15,\\n \\"Enabled\\": true\\n }\\n}","type":"json"}]', + ], + 'DisableApplicationScalingRule' => [ + 'path' => '/pop/v1/eam/scale/disable_application_scaling_rule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SubClusterType', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The subtype of the cluster. Valid values:'."\n" - ."\n" - .'* Ask: Serverless Kubernetes cluster'."\n" - .'* ManagedKubernetes: ACK cluster'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Ask', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'required' => false, 'example' => 'cron-trigger', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C3CE915C-0C83-4AA5-8D66-E8BEED62939E', - ], - 'ClusterPage' => [ - 'description' => 'The cluster data that is returned by page.'."\n", + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '5d6fa0bc-cc3**********', 'title' => ''], + 'AppScalingRule' => [ + 'description' => 'The information about the auto scaling policy.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The number of the returned page. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page. Default value: 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => 'The total number of pages that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', + 'UpdateTime' => ['description' => 'The time when the auto scaling policy was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the auto scaling policy was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application to which the auto scaling policy belongs.', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + 'LastDisableTime' => ['description' => 'The time when the auto scaling policy was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The auto scaling policy is enabled.'."\n" + ."\n" + .'- **false**: The auto scaling policy is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. The value is fixed to trigger.', 'type' => 'string', 'example' => 'trigger', 'title' => ''], + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleName' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'example' => 'cron-trigger', 'title' => ''], + 'Metric' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'Metrics' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricType' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'ClusterList' => [ + 'Trigger' => [ + 'description' => 'The configurations of the trigger.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Cluster' => [ - 'description' => 'The list of clusters.'."\n", + 'MinReplicas' => ['description' => 'The minimum number of replicas. The lower limit is 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of replicas. The upper limit is 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'Triggers' => [ + 'description' => 'The information about the trigger.', 'type' => 'array', 'items' => [ - 'description' => 'The object data of the cluster list.'."\n", 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-**z1mlwpbjx3e9m**', - ], - 'VswitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1uf97****xjxgip****', - ], - 'SubNetCidr' => [ - 'description' => 'The CIDR block of the subnet.'."\n", - 'type' => 'string', - 'example' => '172.20.0.0/16', - ], - 'Mem' => [ - 'description' => 'The total size of memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'RegionId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CsClusterStatus' => [ - 'description' => 'The state of the ACK cluster. Valid values:'."\n" - ."\n" - .'* initial: The cluster is being initialized.'."\n" - .'* failed: The cluster fails to be created.'."\n" - .'* running: The cluster is running.'."\n" - .'* updating: The cluster is being updated.'."\n" - .'* scaling: The cluster is being scaled out.'."\n" - .'* removing: Nodes are being removed from the cluster.'."\n" - .'* upgrading: The cluster is being upgraded.'."\n" - .'* deleting: The cluster is being deleted.'."\n" - .'* delete_failed: The cluster fails to be deleted.'."\n" - .'* deleted: The cluster is deleted. The deleted cluster is invisible to users.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'Cpu' => [ - 'description' => 'The total number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'NetworkMode' => [ - 'description' => 'The network type of the cluster. Valid values:'."\n" - ."\n" - .'* 1: classic network'."\n" - .'* 2: VPC'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CsClusterId' => [ - 'description' => 'The ID of the ACK cluster.'."\n", - 'type' => 'string', - 'example' => '2ce62869f4d4466b920312315f05****', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 5: ACK cluster or Serverless Kubernetes cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'NodeNum' => [ - 'description' => 'The number of nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '81453e4b-4df0-4592-****-b835a2ee****', - ], - 'ClusterImportStatus' => [ - 'title' => '', - 'description' => 'The import state of the cluster. Valid values:'."\n" - ."\n" - .'* 0: The cluster is not imported.'."\n" - .'* 1: The cluster is imported.'."\n" - .'* 2: The cluster fails to be imported.'."\n" - .'* 3: The cluster is being imported.'."\n" - .'* 4: The cluster is deleted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SubClusterType' => [ - 'description' => 'The subtype of the cluster. Valid values:'."\n" - ."\n" - .'* Ask: Serverless Kubernetes cluster'."\n" - .'* ManagedKubernetes: ACK cluster'."\n", - 'type' => 'string', - 'example' => 'Ask', - ], - 'ClusterStatus' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" - ."\n" - .'* 1: The cluster runs as expected.'."\n" - .'* 2: The cluster does not run as expected.'."\n" - .'* 3: The cluster is offline.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'Type' => ['description' => 'The type of the trigger. Valid values: cron and app\\_metric.', 'type' => 'string', 'example' => 'cron', 'title' => ''], + 'MetaData' => ['description' => 'The metadata of the trigger.', 'type' => 'string', 'example' => '{"dryRun":true}', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger.', 'type' => 'string', 'example' => 'cron-trigger', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"C3CE915C-0C83-4AA5-8D66-E8BEED62939E\\",\\n \\"ClusterPage\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 5,\\n \\"ClusterList\\": {\\n \\"Cluster\\": [\\n {\\n \\"VpcId\\": \\"vpc-**z1mlwpbjx3e9m**\\",\\n \\"VswitchId\\": \\"vsw-bp1uf97****xjxgip****\\",\\n \\"SubNetCidr\\": \\"172.20.0.0/16\\",\\n \\"Mem\\": 2048,\\n \\"RegionId\\": \\"test\\",\\n \\"CsClusterStatus\\": \\"running\\",\\n \\"Cpu\\": 4,\\n \\"NetworkMode\\": 2,\\n \\"CsClusterId\\": \\"2ce62869f4d4466b920312315f05****\\",\\n \\"Description\\": \\"test\\",\\n \\"ClusterType\\": 5,\\n \\"ClusterName\\": \\"test\\",\\n \\"NodeNum\\": 4,\\n \\"ClusterId\\": \\"81453e4b-4df0-4592-****-b835a2ee****\\",\\n \\"ClusterImportStatus\\": 1,\\n \\"SubClusterType\\": \\"Ask\\",\\n \\"ClusterStatus\\": 1\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C3CE915C-0C83-4AA5-8D66-E8BEED62939E</RequestId>\\n<Message>success</Message>\\n<ClusterPage>\\n <ClusterList>\\n <Cluster>\\n <ClusterImportStatus>1</ClusterImportStatus>\\n <NodeNum>3</NodeNum>\\n <ClusterId>6cd7d5d3-2c7b-48be-a874-3e746708****</ClusterId>\\n <Cpu>0</Cpu>\\n <ClusterType>5</ClusterType>\\n <NetworkMode>2</NetworkMode>\\n <CsClusterId>c0b7a530b96d24b46bd02da2316c****</CsClusterId>\\n <VswitchId>vsw-bp1y77ga5pz9lianh****</VswitchId>\\n <VpcId>vpc-bp1jmhiplgziujhw0****</VpcId>\\n <Mem>0</Mem>\\n <ClusterName>gray</ClusterName>\\n <SubNetCidr>172.20.0.0/16</SubNetCidr>\\n <RegionId>cn-hangzhou:test</RegionId>\\n <CsClusterStatus>running</CsClusterStatus>\\n <ClusterStatus>0</ClusterStatus>\\n </Cluster>\\n </ClusterList>\\n <PageSize>17</PageSize>\\n <CurrentPage>0</CurrentPage>\\n <TotalSize>17</TotalSize>\\n</ClusterPage>\\n<Code>200</Code>","errorExample":""}]', - 'summary' => 'Queries Container Service for Kubernetes (ACK) clusters or Serverless Kubernetes clusters in a specified region.', + 'title' => 'DisableApplicationScalingRule', + 'summary' => 'Disables an auto scaling policy for an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sNamespaces' => [ - 'summary' => 'Queries namespaces for a Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_namespace', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cron-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 12,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"1\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 12,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cron-trigger\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'EnableApplicationScalingRule' => [ + 'summary' => 'Enables an auto scaling policy for an application.', + 'path' => '/pop/v1/eam/scale/enable_application_scaling_rule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Namespace' => [ - 'description' => 'The namespaces of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'development', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'AppScalingRule' => [ + 'description' => 'The information about the auto scaling policy.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The time when the auto scaling policy was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the auto scaling policy was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application to which the auto scaling policy belongs.', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + 'LastDisableTime' => ['description' => 'The time when the auto scaling policy was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The auto scaling policy is enabled.'."\n" + ."\n" + .'- **false**: The auto scaling policy is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. The value is fixed to trigger.', 'type' => 'string', 'example' => 'trigger', 'title' => ''], + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleName' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'example' => 'cpu-trigger', 'title' => ''], + 'Metric' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Metrics' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MetricType' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Trigger' => [ + 'description' => 'The configurations of the trigger.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'The minimum number of replicas. The lower limit is 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of replicas. The upper limit is 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '122', 'title' => ''], + 'Triggers' => [ + 'description' => 'The list of triggers.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the trigger. Valid values: cron and app\\_metric.', 'type' => 'string', 'example' => 'cron', 'title' => ''], + 'MetaData' => ['description' => 'The metadata of the trigger.', 'type' => 'string', 'example' => '{"dryRun":true}', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => 'EnableApplicationScalingRule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": [\\n {\\n \\"Namespace\\": \\"development\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListK8sNamespaces', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 12,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', ], - 'ImportK8sCluster' => [ - 'summary' => 'Imports a Container Service for Kubernetes (ACK) cluster or a serverless Kubernetes cluster to Enterprise Distributed Application Service (EDAS).', - 'path' => '/pop/v5/import_k8s_cluster', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAppDeployment' => [ + 'summary' => 'Queries the information about the Deployment of a Kubernetes application.', + 'path' => '/pop/v5/oam/app_deployment', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ACK cluster or serverless Kubernetes cluster. You can obtain the cluster ID by calling the GetK8sCluster operation. For more information, see [GetK8sCluster](~~181437~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], - ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace. It is in the format of `Region ID:Identifier of the microservices namespace`. Example: `cn-hangzhou:doc`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:doc', - ], - ], - [ - 'name' => 'Mode', - 'in' => 'query', - 'schema' => [ - 'description' => 'You can ignore this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'EnableAsm', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the integration with Alibaba Cloud Service Mesh (ASM). Valid values:'."\n" - ."\n" - .'* true: Enables the integration with ASM.'."\n" - .'* false: Disables the integration with ASM.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d', 'title' => ''], ], ], 'responses' => [ @@ -6420,125 +4560,191 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The ID of the cluster in EDAS.'."\n", - 'type' => 'string', - 'example' => 'cf96d49a-6be2-4b6d-****-75c7fb86****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The information about the Deployment of the application. The value is a JSON string.', 'type' => 'string', 'example' => ' {"metadata":{"name":"oambuild-group*","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/oambuil*","uid":"*-afc0-436e-9949-fb01994a9b63","resourceVersion":"969614832","generation":2,"creationTimestamp":"2021-04-06T11:38:46Z","labels":{"edas-domain":"edas-admin","edas.aliyun.oam.com/rollout-name":"oambuild-group-1","edas.aliyun.oam.com/rollout-namespace":"default","edas.aliyun.oam.com/rollout-revision":"3","edas.appid":"fc5e0f54-*-4cab-91a0-b7becb1f6174","edas.controlplane":"edas-oam","edas.oam.acname":"oambuild"...', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"cf96d49a-6be2-4b6d-****-75c7fb86****\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<Message>success</Message>\\n<Data>cf96d49a-6be2-4b6d-****-75c7fb86****</Data>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ImportK8sCluster', + 'errorCodes' => [], + 'title' => 'GetAppDeployment', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateHealthCheckUrl' => [ - 'summary' => 'Changes the health check URL for an application.', - 'path' => '/pop/v5/app/modify_hc_url', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAppDeployment'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\" {\\\\\\"metadata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"oambuild-group*\\\\\\",\\\\\\"namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"selfLink\\\\\\":\\\\\\"/apis/apps/v1/namespaces/default/deployments/oambuil*\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"*-afc0-436e-9949-fb01994a9b63\\\\\\",\\\\\\"resourceVersion\\\\\\":\\\\\\"969614832\\\\\\",\\\\\\"generation\\\\\\":2,\\\\\\"creationTimestamp\\\\\\":\\\\\\"2021-04-06T11:38:46Z\\\\\\",\\\\\\"labels\\\\\\":{\\\\\\"edas-domain\\\\\\":\\\\\\"edas-admin\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-name\\\\\\":\\\\\\"oambuild-group-1\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-revision\\\\\\":\\\\\\"3\\\\\\",\\\\\\"edas.appid\\\\\\":\\\\\\"fc5e0f54-*-4cab-91a0-b7becb1f6174\\\\\\",\\\\\\"edas.controlplane\\\\\\":\\\\\\"edas-oam\\\\\\",\\\\\\"edas.oam.acname\\\\\\":\\\\\\"oambuild\\\\\\"...\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","type":"json"}]', + ], + 'GetApplication' => [ + 'path' => '/pop/v5/app/app_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-43ff-***************', - ], - ], - [ - 'name' => 'hcURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check URL of the application. The URL must start with `http://`, and can be up to 255 characters in length. Example: `http://127.0.0.1:8080/_ehc.html`. If this parameter is not specified, the health check URL of the application is not changed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://127.0.0.1:8080/_ehc.html', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '29f0******************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The API response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*****************', - ], - 'HealthCheckURL' => [ - 'description' => 'The health check URL.'."\n", - 'type' => 'string', - 'example' => 'http://127.0.0.1:8080/_ehc.html', + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F8DFGED-K98***************', 'title' => ''], + 'Application' => [ + 'description' => 'The application information.', + 'type' => 'object', + 'properties' => [ + 'ExtSlbIp' => ['description' => 'The public IP address of the SLB instance attached to the application.', 'type' => 'string', 'example' => '47.114.xxx.xx', 'title' => ''], + 'Owner' => ['description' => 'The creator of the application.', 'type' => 'string', 'example' => 'ouou@117274586608****', 'title' => ''], + 'SlbPort' => ['description' => 'The port of the internal-facing SLB instance attached to the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'NameSpace' => ['description' => 'The namespace to which the application belongs.', 'type' => 'string', 'example' => 'doc-test', 'title' => ''], + 'ExtSlbName' => ['description' => 'The name of the public-facing SLB instance attached to the application.', 'type' => 'string', 'example' => 'aa8eee383db084f42aebc4d9f52c****', 'title' => ''], + 'CreateTime' => ['description' => 'The UNIX timestamp when the application was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1610550324226', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'test@dd******', 'title' => ''], + 'Port' => ['description' => 'The service port of the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'RunningInstanceCount' => ['description' => 'The number of running application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SlbIp' => ['description' => 'The IP address of the internal-facing SLB instance attached to the application.', 'type' => 'string', 'example' => '192.***.***.***', 'title' => ''], + 'Dockerize' => ['description' => 'Indicates whether the application is a Docker application:'."\n" + ."\n" + .'- false: The application is not a Docker application.'."\n" + ."\n" + .'- true: The application is a Docker application.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of instances in the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'cfac****-847e-4325-ad56-b5c2bc54****', 'title' => ''], + 'SlbInfo' => ['description' => 'Information about the internal-facing SLB instance attached to the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Memory' => ['description' => 'The memory size for the application instance, in MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Name' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the ECS cluster where the application is deployed.', 'type' => 'string', 'example' => '5ffc5895-****-b03a-c223c6c3****', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the internal-facing SLB instance attached to the application.', 'type' => 'string', 'example' => 'lb-bp****ck3s3b9xs6x****', 'title' => ''], + 'HealthCheckUrl' => ['description' => 'The health check URL of the application.', 'type' => 'string', 'example' => 'http://127.0.0.1:8080/xyz.html', 'title' => ''], + 'ApplicationType' => ['description' => 'The deployment type of the application:'."\n" + ."\n" + .'- War: The application is deployed from a WAR package.'."\n" + ."\n" + .'- FatJar: The application is deployed from a JAR package.'."\n" + ."\n" + .'- Empty: The application is not deployed.', 'type' => 'string', 'example' => 'FatJar', 'title' => ''], + 'ExtSlbId' => ['description' => 'The ID of the public-facing SLB instance attached to the application.', 'type' => 'string', 'example' => 'lb-bp1vceck3s3b9xs6x****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the application is located.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'BuildPackageId' => ['description' => 'The ID of the container version.', 'type' => 'integer', 'format' => 'int64', 'example' => '59', 'title' => ''], + 'Email' => ['description' => 'The email address.', 'type' => 'string', 'example' => '****@***.com', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the application cluster:'."\n" + ."\n" + .'- 0: A regular Docker cluster.'."\n" + ."\n" + .'- 1: A Swarm cluster.'."\n" + ."\n" + .'- 2: An ECS cluster.'."\n" + ."\n" + .'- 3: A Kubernetes cluster.'."\n" + ."\n" + .'- 4: A Pandora application cluster that supports automatic registration.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'SlbName' => ['description' => 'The name of the internal-facing SLB instance attached to the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableUrlCheck' => ['description' => 'Indicates whether the URL health check is enabled:'."\n" + ."\n" + .'- true: Enabled.'."\n" + ."\n" + .'- false: Disabled.'."\n" + ."\n" + .'If enabled, EDAS probes the specified URL during application startup. If the URL is accessible, the application is considered started.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EnablePortCheck' => ['description' => 'Indicates whether the port health check is enabled:'."\n" + ."\n" + .'- true: Enabled.'."\n" + ."\n" + .'- false: Disabled.'."\n" + ."\n" + .'If enabled, EDAS checks if the port is in use during application startup. If the port is in use, the application is considered started.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AppPhase' => ['description' => 'The current phase of the Kubernetes application. This helps determine if the application is stable. Configuration operations are prohibited when the application is in an unstable state.'."\n" + ."\n" + .'- ready: The application is ready and can be changed.'."\n" + ."\n" + .'- progressing: The application is being changed.'."\n" + ."\n" + .'- pending: The application change is blocked.'."\n" + ."\n" + .'- failed: The application change failed.'."\n" + ."\n" + .'The ready phase is stable. Other phases are unstable.', 'type' => 'string', 'example' => 'ready', 'title' => ''], + 'HaveManageAccess' => ['description' => 'Indicates whether the current user has management permissions on the application. This parameter is available only in RAM authentication mode.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'WorkloadType' => ['description' => 'The workload type used to create the application. Supported types are Deployment and StatefulSet. This parameter does not apply to ECS applications.', 'type' => 'string', 'example' => 'StatefulSet', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-aekz****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*****************\\",\\n \\"HealthCheckURL\\": \\"http://127.0.0.1:8080/_ehc.html\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>D16979DC-4D42-*****************</RequestId>\\n<Message>success</Message>\\n<HealthCheckURL>http://127.0.0.1:8080/_ehc.html</HealthCheckURL>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateHealthCheckUrl', + 'title' => 'GetApplication', + 'summary' => 'Retrieves information about a specified application in an ECS cluster.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseParamsDescription' => "\n", 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"F8DFGED-K98***************\\",\\n \\"Application\\": {\\n \\"ExtSlbIp\\": \\"47.114.xxx.xx\\",\\n \\"Owner\\": \\"ouou@117274586608****\\",\\n \\"SlbPort\\": 80,\\n \\"NameSpace\\": \\"doc-test\\",\\n \\"ExtSlbName\\": \\"aa8eee383db084f42aebc4d9f52c****\\",\\n \\"CreateTime\\": 1610550324226,\\n \\"UserId\\": \\"test@dd******\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"SlbIp\\": \\"192.***.***.***\\",\\n \\"Dockerize\\": false,\\n \\"Description\\": \\"test\\",\\n \\"InstanceCount\\": 1,\\n \\"AppId\\": \\"cfac****-847e-4325-ad56-b5c2bc54****\\",\\n \\"SlbInfo\\": \\"test\\",\\n \\"Memory\\": 0,\\n \\"Name\\": \\"test\\",\\n \\"ClusterId\\": \\"5ffc5895-****-b03a-c223c6c3****\\",\\n \\"SlbId\\": \\"lb-bp****ck3s3b9xs6x****\\",\\n \\"HealthCheckUrl\\": \\"http://127.0.0.1:8080/xyz.html\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ExtSlbId\\": \\"lb-bp1vceck3s3b9xs6x****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BuildPackageId\\": 59,\\n \\"Email\\": \\"****@***.com\\",\\n \\"Cpu\\": 1,\\n \\"ClusterType\\": \\"2\\",\\n \\"SlbName\\": \\"test\\",\\n \\"EnableUrlCheck\\": false,\\n \\"EnablePortCheck\\": false,\\n \\"AppPhase\\": \\"ready\\",\\n \\"HaveManageAccess\\": \\"true\\",\\n \\"WorkloadType\\": \\"StatefulSet\\",\\n \\"ResourceGroupId\\": \\"rg-aekz****\\"\\n }\\n}","type":"json"}]', ], 'GetChangeOrderInfo' => [ 'path' => '/pop/v5/changeorder/change_order_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6546,20 +4752,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1074f3e2-e974-4a0e-****-************', - ], + 'schema' => ['description' => 'The ID of the change process.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1074f3e2-e974-4a0e-****-************', 'title' => ''], ], ], 'responses' => [ @@ -6567,176 +4765,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4JFR-FV9F***************', - ], + 'Code' => ['description' => 'The status of the API call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4JFR-FV9F***************', 'title' => ''], 'changeOrderInfo' => [ - 'description' => 'The details about the change process.'."\n", + 'description' => 'The details of the change process.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The state of the change process. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 7: partially executed'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '1074f3e2-e974-4a0e-****-************', - ], - 'BatchType' => [ - 'description' => 'Indicates whether the change for the next batch is automatically or manually triggered when phased release is performed. Valid values:'."\n" - ."\n" - .'* Automatic: The change for the next batch is automatically triggered.'."\n" - .'* Manual: The change for the next batch is manually triggered.'."\n", - 'type' => 'string', - 'example' => 'Automatic', - ], - 'CoType' => [ - 'description' => 'The type of the change process.'."\n", - 'type' => 'string', - 'example' => 'Application Scale Out', - ], - 'CreateTime' => [ - 'description' => 'The time when the change process is created.'."\n", - 'type' => 'string', - 'example' => '2019-11-13 14:23:46', - ], - 'ChangeOrderDescription' => [ - 'description' => 'The description of the change process.'."\n", - 'type' => 'string', - 'example' => 'Application scale-out'."\n", - ], - 'BatchCount' => [ - 'description' => 'The number of batches for the change.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateUserId' => [ - 'description' => 'The person in charge of the change process.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'SupportRollback' => [ - 'description' => 'Indicates whether rollbacks are allowed. Valid values:'."\n" - ."\n" - .'* true: Rollbacks are allowed.'."\n" - .'* false: Rollbacks are not allowed.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Desc' => [ - 'description' => 'The description of the change process.'."\n", - 'type' => 'string', - 'example' => 'IP of Scale-Out Instance: 47.107.XX.XX', - ], + 'Status' => ['description' => 'The status of the change.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 7: partially successful'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '1074f3e2-e974-4a0e-****-************', 'title' => ''], + 'BatchType' => ['description' => 'The execution mode for the next batch in a phased release.'."\n" + ."\n" + .'- Automatic: The next batch is automatically executed.'."\n" + ."\n" + .'- Manual: The next batch is manually executed.', 'type' => 'string', 'example' => 'Automatic', 'title' => ''], + 'CoType' => ['description' => 'The classification of the change process.', 'type' => 'string', 'example' => 'Application Scale Out', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the change process was created.', 'type' => 'string', 'example' => '2019-11-13 14:23:46', 'title' => ''], + 'ChangeOrderDescription' => ['description' => 'The description of the change process.', 'type' => 'string', 'example' => 'Application scale-up', 'title' => ''], + 'BatchCount' => ['description' => 'The number of batches for the change.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreateUserId' => ['description' => 'The owner of the change process.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'SupportRollback' => ['description' => 'Indicates whether rollback is supported.'."\n" + ."\n" + .'- true: Rollback is supported.'."\n" + ."\n" + .'- false: Rollback is not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Desc' => ['description' => 'The description of the change process.', 'type' => 'string', 'example' => 'IP of Scale-Out Instance: 47.107.XX.XX', 'title' => ''], 'PipelineInfoList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PipelineInfo' => [ - 'description' => 'The information about the batches of the change task.'."\n", + 'description' => 'The list of tasks for the phased change.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'PipelineName' => [ - 'description' => 'The name of the batch.'."\n", - 'type' => 'string', - 'example' => ' Batch: 1', - ], - 'StartTime' => [ - 'description' => 'The time when the change task was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'string', - 'example' => '1583911702158', - ], - 'UpdateTime' => [ - 'description' => 'The time when the change task was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'string', - 'example' => '1583911743633', - ], - 'PipelineStatus' => [ - 'description' => 'The state of the change task. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PipelineId' => [ - 'description' => 'The ID of each batch for the change during the phased release.'."\n", - 'type' => 'string', - 'example' => '4c4ee320-5e47-4a48-****-************', - ], + 'PipelineName' => ['description' => 'The name of the batch.', 'type' => 'string', 'example' => ' Batch: 1', 'title' => ''], + 'StartTime' => ['description' => 'The UNIX timestamp for the start time.', 'type' => 'string', 'example' => '1583911702158', 'title' => ''], + 'UpdateTime' => ['description' => 'The UNIX timestamp for the update time.', 'type' => 'string', 'example' => '1583911743633', 'title' => ''], + 'PipelineStatus' => ['description' => 'The task status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PipelineId' => ['description' => 'The ID of the process for each batch in a phased change.', 'type' => 'string', 'example' => '4c4ee320-5e47-4a48-****-************', 'title' => ''], 'StageList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'StageInfoDTO' => [ - 'description' => 'The stages of the change process.'."\n", + 'description' => 'The list of stages in the change process.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => '358a143f-09a0-45e0-****-************@**_*******_*****', - ], - 'Status' => [ - 'description' => 'The state of the stage. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageName' => [ - 'description' => 'The name of the stage.'."\n", - 'type' => 'string', - 'example' => 'Scale Out', - ], + 'StageId' => ['description' => 'The stage ID.', 'type' => 'string', 'example' => '358a143f-09a0-45e0-****-************@**_*******_*****', 'title' => ''], + 'Status' => ['description' => 'The stage status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StageName' => ['description' => 'The stage name.', 'type' => 'string', 'example' => 'Scale Out', 'title' => ''], 'StageResultDTO' => [ - 'description' => 'The results of the task executed in the stage.'."\n", + 'description' => 'The execution result of the stage task.', 'type' => 'object', 'properties' => [ 'InstanceDTOList' => [ @@ -6744,270 +4877,245 @@ 'itemNode' => true, 'properties' => [ 'InstanceDTO' => [ - 'description' => 'The results of the task executed on each Elastic Compute Service (ECS) instance in each stage.'."\n", + 'description' => 'The execution results of the stage on each ECS instance.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The running state. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InstanceIp' => [ - 'description' => 'The IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '47.XX.XX.12 (Public)<br>***.**.*.*** (*******)', - ], - 'PodName' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'canary-test', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'EDAS-scaled', - ], - 'PodStatus' => [ - 'description' => 'The state of the pod.'."\n", - 'type' => 'string', - 'example' => 'In progress'."\n", - ], + 'Status' => ['description' => 'The running status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InstanceIp' => ['description' => 'The IP address of the instance.', 'type' => 'string', 'example' => '47.XX.XX.12 (Public)<br>***.**.*.*** (*******)', 'title' => ''], + 'PodName' => ['description' => 'The node name.', 'type' => 'string', 'example' => 'canary-test', 'title' => ''], + 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'EDAS-scaled', 'title' => ''], + 'PodStatus' => ['description' => 'The pod status.', 'type' => 'string', 'example' => 'Executing', 'title' => ''], 'InstanceStageDTOList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InstanceStageDTO' => [ - 'description' => 'The results of the task executed on the ECS instance in each stage.'."\n", + 'description' => 'The list of stage execution results on each instance.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => '5dd4c0f2-d81a-406f-****-************', - ], - 'Status' => [ - 'description' => 'The state of the stage. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StartTime' => [ - 'description' => 'The time when the execution was started.'."\n", - 'type' => 'string', - 'example' => '2020-03-11T07:28:49Z', - ], - 'StageMessage' => [ - 'description' => 'The information about the stage.'."\n", - 'type' => 'string', - 'example' => 'Pulling image \\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\', - ], - 'FinishTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2020-03-11T07:28:52Z', - ], - 'StageName' => [ - 'description' => 'The name of the stage.'."\n", - 'type' => 'string', - 'example' => ' scale out ', - ], + 'StageId' => ['description' => 'The stage ID.', 'type' => 'string', 'example' => '5dd4c0f2-d81a-406f-****-************', 'title' => ''], + 'Status' => ['description' => 'The stage status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StartTime' => ['description' => 'The start time.', 'type' => 'string', 'example' => '2020-03-11T07:28:49Z', 'title' => ''], + 'StageMessage' => ['description' => 'The stage information.', 'type' => 'string', 'example' => 'Pulling image \\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\', 'title' => ''], + 'FinishTime' => ['description' => 'The end time.', 'type' => 'string', 'example' => '2020-03-11T07:28:52Z', 'title' => ''], + 'StageName' => ['description' => 'The stage name.', 'type' => 'string', 'example' => ' scale out ', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'ServiceStage' => [ - 'description' => 'The results of tasks executed in each service-oriented stage.'."\n", + 'description' => 'The execution result of the service stage.', 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => '358a143f-09a0-45e0-****-************', - ], - 'Status' => [ - 'description' => 'The running state. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Message' => [ - 'description' => 'The execution result in the stage.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'StageName' => [ - 'description' => 'Phase Name'."\n", - 'type' => 'string', - 'example' => 'Enable Tengine', - ], + 'StageId' => ['description' => 'The stage ID.', 'type' => 'string', 'example' => '358a143f-09a0-45e0-****-************', 'title' => ''], + 'Status' => ['description' => 'The running status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Message' => ['description' => 'The information about the execution result.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'StageName' => ['description' => 'The stage name.', 'type' => 'string', 'example' => 'Enable Tengine', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'StageDetailList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'StageDetailDTO' => [ - 'description' => 'The execution results in each stage.'."\n", + 'description' => 'The list of stage execution results.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => 'd7561440-10a6-452f-8a90-62f6e7ec****', - ], - 'StageStatus' => [ - 'description' => 'The status of the stage. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageName' => [ - 'description' => 'The name of the stage.'."\n", - 'type' => 'string', - 'example' => 'Process Start', - ], + 'StageId' => ['description' => 'The stage ID.', 'type' => 'string', 'example' => 'd7561440-10a6-452f-8a90-62f6e7ec****', 'title' => ''], + 'StageStatus' => ['description' => 'The stage status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StageName' => ['description' => 'The stage name.', 'type' => 'string', 'example' => 'Process Start', 'title' => ''], 'TaskList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TaskInfoDTO' => [ - 'description' => 'The information about the task.'."\n", + 'description' => 'The list of tasks.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TaskErrorIgnorance' => [ - 'description' => 'Indicates whether the task is error-tolerant. If the task can tolerate errors, the errors that occur in the change process are ignored and the next task is executed.'."\n" - ."\n" - .'* 0: The task is not error-tolerant.'."\n" - .'* 1: The task is error-tolerant.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ShowManualIgnorance' => [ - 'description' => 'Indicates whether errors that occur in the change process are ignored. Valid values:``'."\n" - ."\n" - .'* true: Errors that occur in the change process are ignored. This parameter can be set to true only when URL health checks are performed.'."\n" - .'* false: Errors that occur in the change process are not ignored.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskStatus' => [ - 'description' => 'The state of the task. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: wait for manual confirmation to trigger the next batch during a manual phased release'."\n" - .'* 9: wait to trigger the next batch during an automatic phased release'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'TaskMessage' => [ - 'description' => 'Task information'."\n", - 'type' => 'string', - 'example' => '[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success', - ], - 'TaskName' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'example' => 'Build Image', - ], - 'TaskErrorCode' => [ - 'description' => 'Error codes'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'RetryType' => [ - 'description' => 'The type of the retry policy. Value 0 indicates no retry, value 1 indicates automatic retry, and value 2 indicates manual retry.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'd6d3b934-90a1-4ae8-8cbd-2446003d****', - ], - 'TaskErrorMessage' => [ - 'description' => 'The error message for the task.'."\n", - 'type' => 'string', - 'example' => '400', - ], + 'TaskErrorIgnorance' => ['description' => 'Indicates whether the task can tolerate errors. If the task can tolerate errors, the change process ignores the errors and proceeds to the next task.'."\n" + ."\n" + .'- 0: The task cannot tolerate errors.'."\n" + ."\n" + .'- 1: The task can tolerate errors.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ShowManualIgnorance' => ['description' => 'Indicates whether the `Ignore Error` button is displayed.'."\n" + ."\n" + .'- true: Ignore errors that occur in the change process. This parameter can be set to true only when a URL health check is performed.'."\n" + ."\n" + .'- false: Do not ignore errors that occur in the change process.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TaskStatus' => ['description' => 'The task status.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 8: waiting for manual confirmation to proceed with the next batch in manual phased release mode'."\n" + ."\n" + .'- 9: waiting for the next batch to be executed in automatic phased release mode'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'string', 'example' => '2', 'title' => ''], + 'TaskMessage' => ['description' => 'The task information.', 'type' => 'string', 'example' => '[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success', 'title' => ''], + 'TaskName' => ['description' => 'The task name.', 'type' => 'string', 'example' => 'Build Image', 'title' => ''], + 'TaskErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'RetryType' => ['description' => 'The retry policy. 0 indicates no retries. 1 indicates automatic retries. 2 indicates manual retries.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'd6d3b934-90a1-4ae8-8cbd-2446003d****', 'title' => ''], + 'TaskErrorMessage' => ['description' => 'The error message of the task.', 'type' => 'string', 'example' => '400', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'Targets' => [ 'type' => 'object', @@ -7015,218 +5123,75 @@ 'properties' => [ 'Items' => [ 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses for the associated ECS instances.'."\n", - 'type' => 'string', - 'example' => '["123.250.XX.XX","234.123.XX.XX"]', - ], + 'items' => ['description' => 'The list of IP addresses of the associated ECS instances.', 'type' => 'string', 'example' => '["123.250.XX.XX","234.123.XX.XX"]', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'TrafficControl' => [ - 'description' => 'The throttling rules.'."\n", + 'description' => 'The throttling rule.', 'type' => 'object', 'properties' => [ - 'Routes' => [ - 'description' => 'The route forwarding policy.'."\n", - 'type' => 'string', - 'example' => '[{"app":"9c8247da-91b6-42bb-8f99-92a0b9c6f****","type":"GROUP"}]', - ], - 'Rules' => [ - 'description' => 'The traffic routing rules.'."\n", - 'type' => 'string', - 'example' => '[{"conditionType":"content","conditions":[{"key":"name","operator":"EQ","strategy":"PARAM","values":["jim"]},{"key":"name","operator":"EQ","strategy":"COOKIE","values":["jim"]}],"percent":100,"protocol":"SPRINGCLOUD","triggerPolicy":"AND"}]', - ], - 'Tips' => [ - 'description' => 'The description of throttling rules.'."\n", - 'type' => 'string', - 'example' => 'This canary release batch is complete, and the user has confirmed to proceed to the next batch.'."\n", - ], + 'Routes' => ['description' => 'The traffic forwarding rule.', 'type' => 'string', 'example' => '[{"app":"9c8247da-91b6-42bb-8f99-92a0b9c6f****","type":"GROUP"}]', 'title' => ''], + 'Rules' => ['description' => 'The routing rule for traffic.', 'type' => 'string', 'example' => '[{"conditionType":"content","conditions":[{"key":"name","operator":"EQ","strategy":"PARAM","values":["jim"]},{"key":"name","operator":"EQ","strategy":"COOKIE","values":["jim"]}],"percent":100,"protocol":"SPRINGCLOUD","triggerPolicy":"AND"}]', 'title' => ''], + 'Tips' => ['description' => 'The description of the traffic rule.', 'type' => 'string', 'example' => 'Canary batch release completed. Confirmed to proceed to the next batch.', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'No permissions', - ], - [ - 'errorCode' => 'Edas.errorcode.ParameterMissing.ChangeOrderId.message', - 'errorMessage' => 'Change process ID is missing.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'No permissions', 'description' => ''], + ['errorCode' => 'Edas.errorcode.ParameterMissing.ChangeOrderId.message', 'errorMessage' => 'Change process ID is missing.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4JFR-FV9F***************\\",\\n \\"changeOrderInfo\\": {\\n \\"Status\\": 2,\\n \\"ChangeOrderId\\": \\"1074f3e2-e974-4a0e-****-************\\",\\n \\"BatchType\\": \\"Automatic\\",\\n \\"CoType\\": \\"Application Scale Out\\",\\n \\"CreateTime\\": \\"2019-11-13 14:23:46\\",\\n \\"ChangeOrderDescription\\": \\"应用扩容\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"SupportRollback\\": false,\\n \\"Desc\\": \\"IP of Scale-Out Instance: 47.107.XX.XX\\",\\n \\"PipelineInfoList\\": {\\n \\"PipelineInfo\\": [\\n {\\n \\"PipelineName\\": \\" Batch: 1\\",\\n \\"StartTime\\": \\"1583911702158\\",\\n \\"UpdateTime\\": \\"1583911743633\\",\\n \\"PipelineStatus\\": 2,\\n \\"PipelineId\\": \\"4c4ee320-5e47-4a48-****-************\\",\\n \\"StageList\\": {\\n \\"StageInfoDTO\\": [\\n {\\n \\"StageId\\": \\"358a143f-09a0-45e0-****-************@**_*******_*****\\",\\n \\"Status\\": 2,\\n \\"StageName\\": \\"Scale Out\\",\\n \\"StageResultDTO\\": {\\n \\"InstanceDTOList\\": {\\n \\"InstanceDTO\\": [\\n {\\n \\"Status\\": 2,\\n \\"InstanceIp\\": \\"47.XX.XX.12 (Public)<br>***.**.*.*** (*******)\\",\\n \\"PodName\\": \\"canary-test\\",\\n \\"InstanceName\\": \\"EDAS-scaled\\",\\n \\"PodStatus\\": \\"执行中\\",\\n \\"InstanceStageDTOList\\": {\\n \\"InstanceStageDTO\\": [\\n {\\n \\"StageId\\": \\"5dd4c0f2-d81a-406f-****-************\\",\\n \\"Status\\": 2,\\n \\"StartTime\\": \\"2020-03-11T07:28:49Z\\",\\n \\"StageMessage\\": \\"Pulling image \\\\\\\\\\\\\\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\\\\\\\\\",\\n \\"FinishTime\\": \\"2020-03-11T07:28:52Z\\",\\n \\"StageName\\": \\" scale out \\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"ServiceStage\\": {\\n \\"StageId\\": \\"358a143f-09a0-45e0-****-************\\",\\n \\"Status\\": 2,\\n \\"Message\\": \\"Success\\",\\n \\"StageName\\": \\"Enable Tengine\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"StageDetailList\\": {\\n \\"StageDetailDTO\\": [\\n {\\n \\"StageId\\": \\"d7561440-10a6-452f-8a90-62f6e7ec****\\",\\n \\"StageStatus\\": 2,\\n \\"StageName\\": \\"Process Start\\",\\n \\"TaskList\\": {\\n \\"TaskInfoDTO\\": [\\n {\\n \\"TaskErrorIgnorance\\": 0,\\n \\"ShowManualIgnorance\\": false,\\n \\"TaskStatus\\": \\"2\\",\\n \\"TaskMessage\\": \\"[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success\\",\\n \\"TaskName\\": \\"Build Image\\",\\n \\"TaskErrorCode\\": \\"400\\",\\n \\"RetryType\\": 0,\\n \\"TaskId\\": \\"d6d3b934-90a1-4ae8-8cbd-2446003d****\\",\\n \\"TaskErrorMessage\\": \\"400\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Targets\\": {\\n \\"Items\\": [\\n \\"[\\\\\\"123.250.XX.XX\\\\\\",\\\\\\"234.123.XX.XX\\\\\\"]\\"\\n ]\\n },\\n \\"TrafficControl\\": {\\n \\"Routes\\": \\"[{\\\\\\"app\\\\\\":\\\\\\"9c8247da-91b6-42bb-8f99-92a0b9c6f****\\\\\\",\\\\\\"type\\\\\\":\\\\\\"GROUP\\\\\\"}]\\",\\n \\"Rules\\": \\"[{\\\\\\"conditionType\\\\\\":\\\\\\"content\\\\\\",\\\\\\"conditions\\\\\\":[{\\\\\\"key\\\\\\":\\\\\\"name\\\\\\",\\\\\\"operator\\\\\\":\\\\\\"EQ\\\\\\",\\\\\\"strategy\\\\\\":\\\\\\"PARAM\\\\\\",\\\\\\"values\\\\\\":[\\\\\\"jim\\\\\\"]},{\\\\\\"key\\\\\\":\\\\\\"name\\\\\\",\\\\\\"operator\\\\\\":\\\\\\"EQ\\\\\\",\\\\\\"strategy\\\\\\":\\\\\\"COOKIE\\\\\\",\\\\\\"values\\\\\\":[\\\\\\"jim\\\\\\"]}],\\\\\\"percent\\\\\\":100,\\\\\\"protocol\\\\\\":\\\\\\"SPRINGCLOUD\\\\\\",\\\\\\"triggerPolicy\\\\\\":\\\\\\"AND\\\\\\"}]\\",\\n \\"Tips\\": \\"灰度批次发布完毕,已确认继续下一批。\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetChangeOrderInfoResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <RequestId>4JFR-FV9F***************</RequestId>\\n <changeOrderInfo>\\n <Status>2</Status>\\n <ChangeOrderId>1074f3e2-e974-4a0e-****-************</ChangeOrderId>\\n <BatchType>Automatic</BatchType>\\n <CoType>Application Scale Out</CoType>\\n <CreateTime>2019-11-13 14:23:46</CreateTime>\\n <ChangeOrderDescription>应用扩容</ChangeOrderDescription>\\n <BatchCount>1</BatchCount>\\n <CreateUserId>edas_com***_****@******-*****.***</CreateUserId>\\n <SupportRollback>false</SupportRollback>\\n <Desc>IP of Scale-Out Instance: 47.107.XX.XX</Desc>\\n <PipelineInfoList>\\n <PipelineName> Batch: 1</PipelineName>\\n <StartTime>1583911702158</StartTime>\\n <UpdateTime>1583911743633</UpdateTime>\\n <PipelineStatus>2</PipelineStatus>\\n <PipelineId>4c4ee320-5e47-4a48-****-************</PipelineId>\\n <StageList>\\n <StageId>358a143f-09a0-45e0-****-************@**_*******_*****</StageId>\\n <Status>2</Status>\\n <StageName>Scale Out</StageName>\\n <StageResultDTO>\\n <InstanceDTOList>\\n <Status>2</Status>\\n <InstanceIp>47.XX.XX.12 (Public)<br>***.**.*.*** (*******)</InstanceIp>\\n <PodName>canary-test</PodName>\\n <InstanceName>EDAS-scaled</InstanceName>\\n <PodStatus>执行中</PodStatus>\\n <InstanceStageDTOList>\\n <StageId>5dd4c0f2-d81a-406f-****-************</StageId>\\n <Status>2</Status>\\n <StartTime>2020-03-11T07:28:49Z</StartTime>\\n <StageMessage>Pulling image \\\\\\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\\\</StageMessage>\\n <FinishTime>2020-03-11T07:28:52Z</FinishTime>\\n <StageName> scale out </StageName>\\n </InstanceStageDTOList>\\n </InstanceDTOList>\\n <ServiceStage>\\n <StageId>358a143f-09a0-45e0-****-************</StageId>\\n <Status>2</Status>\\n <Message>Success</Message>\\n <StageName>Enable Tengine</StageName>\\n </ServiceStage>\\n </StageResultDTO>\\n </StageList>\\n <StageDetailList>\\n <StageId>d7561440-10a6-452f-8a90-62f6e7ec****</StageId>\\n <StageStatus>2</StageStatus>\\n <StageName>Process Start</StageName>\\n <TaskList>\\n <TaskErrorIgnorance>0</TaskErrorIgnorance>\\n <ShowManualIgnorance>false</ShowManualIgnorance>\\n <TaskStatus>2</TaskStatus>\\n <TaskMessage>[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success</TaskMessage>\\n <TaskName>Build Image</TaskName>\\n <TaskErrorCode>400</TaskErrorCode>\\n <TaskId>d6d3b934-90a1-4ae8-8cbd-2446003d****</TaskId>\\n <TaskErrorMessage>400</TaskErrorMessage>\\n </TaskList>\\n </StageDetailList>\\n </PipelineInfoList>\\n <TrafficControl>\\n <Routes>[{\\"app\\":\\"9c8247da-91b6-42bb-8f99-92a0b9c6f****\\",\\"type\\":\\"GROUP\\"}]</Routes>\\n <Rules>[{\\"conditionType\\":\\"content\\",\\"conditions\\":[{\\"key\\":\\"name\\",\\"operator\\":\\"EQ\\",\\"strategy\\":\\"PARAM\\",\\"values\\":[\\"jim\\"]},{\\"key\\":\\"name\\",\\"operator\\":\\"EQ\\",\\"strategy\\":\\"COOKIE\\",\\"values\\":[\\"jim\\"]}],\\"percent\\":100,\\"protocol\\":\\"SPRINGCLOUD\\",\\"triggerPolicy\\":\\"AND\\"}]</Rules>\\n <Tips>灰度批次发布完毕,已确认继续下一批。</Tips>\\n </TrafficControl>\\n </changeOrderInfo>\\n</GetChangeOrderInfoResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4JFR-FV9F***************\\",\\n \\"changeOrderInfo\\": {\\n \\"Status\\": 2,\\n \\"ChangeOrderId\\": \\"1074f3e2-e974-4a0e-****-************\\",\\n \\"BatchType\\": \\"Automatic\\",\\n \\"CoType\\": \\"Application Scale Out\\",\\n \\"CreateTime\\": \\"2019-11-13 14:23:46\\",\\n \\"ChangeOrderDescription\\": \\"Application scale-up\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"SupportRollback\\": false,\\n \\"Desc\\": \\"IP of Scale-Out Instance: 47.107.XX.XX\\",\\n \\"PipelineInfoList\\": {\\n \\"PipelineInfo\\": [\\n {\\n \\"PipelineName\\": \\" Batch: 1\\",\\n \\"StartTime\\": \\"1583911702158\\",\\n \\"UpdateTime\\": \\"1583911743633\\",\\n \\"PipelineStatus\\": 2,\\n \\"PipelineId\\": \\"4c4ee320-5e47-4a48-****-************\\",\\n \\"StageList\\": {\\n \\"StageInfoDTO\\": [\\n {\\n \\"StageId\\": \\"358a143f-09a0-45e0-****-************@**_*******_*****\\",\\n \\"Status\\": 2,\\n \\"StageName\\": \\"Scale Out\\",\\n \\"StageResultDTO\\": {\\n \\"InstanceDTOList\\": {\\n \\"InstanceDTO\\": [\\n {\\n \\"Status\\": 2,\\n \\"InstanceIp\\": \\"47.XX.XX.12 (Public)<br>***.**.*.*** (*******)\\",\\n \\"PodName\\": \\"canary-test\\",\\n \\"InstanceName\\": \\"EDAS-scaled\\",\\n \\"PodStatus\\": \\"Executing\\",\\n \\"InstanceStageDTOList\\": {\\n \\"InstanceStageDTO\\": [\\n {\\n \\"StageId\\": \\"5dd4c0f2-d81a-406f-****-************\\",\\n \\"Status\\": 2,\\n \\"StartTime\\": \\"2020-03-11T07:28:49Z\\",\\n \\"StageMessage\\": \\"Pulling image \\\\\\\\\\\\\\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\\\\\\\\\",\\n \\"FinishTime\\": \\"2020-03-11T07:28:52Z\\",\\n \\"StageName\\": \\" scale out \\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"ServiceStage\\": {\\n \\"StageId\\": \\"358a143f-09a0-45e0-****-************\\",\\n \\"Status\\": 2,\\n \\"Message\\": \\"Success\\",\\n \\"StageName\\": \\"Enable Tengine\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"StageDetailList\\": {\\n \\"StageDetailDTO\\": [\\n {\\n \\"StageId\\": \\"d7561440-10a6-452f-8a90-62f6e7ec****\\",\\n \\"StageStatus\\": 2,\\n \\"StageName\\": \\"Process Start\\",\\n \\"TaskList\\": {\\n \\"TaskInfoDTO\\": [\\n {\\n \\"TaskErrorIgnorance\\": 0,\\n \\"ShowManualIgnorance\\": false,\\n \\"TaskStatus\\": \\"2\\",\\n \\"TaskMessage\\": \\"[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success\\",\\n \\"TaskName\\": \\"Build Image\\",\\n \\"TaskErrorCode\\": \\"400\\",\\n \\"RetryType\\": 0,\\n \\"TaskId\\": \\"d6d3b934-90a1-4ae8-8cbd-2446003d****\\",\\n \\"TaskErrorMessage\\": \\"400\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Targets\\": {\\n \\"Items\\": [\\n \\"[\\\\\\"123.250.XX.XX\\\\\\",\\\\\\"234.123.XX.XX\\\\\\"]\\"\\n ]\\n },\\n \\"TrafficControl\\": {\\n \\"Routes\\": \\"[{\\\\\\"app\\\\\\":\\\\\\"9c8247da-91b6-42bb-8f99-92a0b9c6f****\\\\\\",\\\\\\"type\\\\\\":\\\\\\"GROUP\\\\\\"}]\\",\\n \\"Rules\\": \\"[{\\\\\\"conditionType\\\\\\":\\\\\\"content\\\\\\",\\\\\\"conditions\\\\\\":[{\\\\\\"key\\\\\\":\\\\\\"name\\\\\\",\\\\\\"operator\\\\\\":\\\\\\"EQ\\\\\\",\\\\\\"strategy\\\\\\":\\\\\\"PARAM\\\\\\",\\\\\\"values\\\\\\":[\\\\\\"jim\\\\\\"]},{\\\\\\"key\\\\\\":\\\\\\"name\\\\\\",\\\\\\"operator\\\\\\":\\\\\\"EQ\\\\\\",\\\\\\"strategy\\\\\\":\\\\\\"COOKIE\\\\\\",\\\\\\"values\\\\\\":[\\\\\\"jim\\\\\\"]}],\\\\\\"percent\\\\\\":100,\\\\\\"protocol\\\\\\":\\\\\\"SPRINGCLOUD\\\\\\",\\\\\\"triggerPolicy\\\\\\":\\\\\\"AND\\\\\\"}]\\",\\n \\"Tips\\": \\"Canary batch release completed. Confirmed to proceed to the next batch.\\"\\n }\\n }\\n}","type":"json"}]', 'title' => 'GetChangeOrderInfo', - 'summary' => 'Queries the details about a change process.', + 'summary' => 'You can call the GetChangeOrderInfo operation to view the details of a change process.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetSecureToken' => [ - 'summary' => 'Queries the security token information of a namespace. You can call this operation to query information, such as the AccessKey ID, AccessKey secret, tenant ID, and the domain name of Address Server, for the specified namespace.', - 'path' => '/pop/v5/secure_token', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeOrderInfo'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace, such as cn-beijing or cn-beijing:prod````.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen:x*****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', - ], - 'SecureToken' => [ - 'description' => 'The returned security token.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecretKey' => [ - 'description' => 'The AccessKey secret used in the namespace.'."\n", - 'type' => 'string', - 'example' => 'gOSgbgR2R*************', - ], - 'AccessKey' => [ - 'description' => 'The AccessKey ID used in the namespace.'."\n", - 'type' => 'string', - 'example' => 'f676f1**************', - ], - 'BelongRegion' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'Description' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => '”“', - ], - 'RegionName' => [ - 'description' => 'The name of the region where the namespace resides.'."\n", - 'type' => 'string', - 'example' => 'x******', - ], - 'EdasId' => [ - 'description' => 'The ID of the Alibaba Cloud account that activated Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'example' => '11727458********', - ], - 'AddressServerHost' => [ - 'description' => 'The address of Address Server associated with the namespace.'."\n", - 'type' => 'string', - 'example' => 'addr-****-****.edas.aliyun.com', - ], - 'UserId' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'Id' => [ - 'description' => 'The ID of the security token.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7279', - ], - 'TenantId' => [ - 'description' => 'The tenant ID of the namespace.'."\n", - 'type' => 'string', - 'example' => '401b7bc8-9441-4693-****-************', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the namespace resides.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen:x*******', - ], - 'MseRegistryType' => [ - 'description' => 'The type of the Microservices Engine (MSE) registry.'."\n" - ."\n" - .'* default: the shared registry of EDAS'."\n" - .'* exclusive_mse: MSE Nacos registry'."\n", - 'type' => 'string', - 'example' => 'exclusive_mse', - ], - 'MseInstanceId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse_prepaid_public_cn-tl32p******', - ], - 'MseInternetAddress' => [ - 'description' => 'The public endpoint of the MSE registry.'."\n", - 'type' => 'string', - 'example' => 'mse-aa2******-p.nacos-ans.mse.aliyuncs.com', - ], - 'MseIntranetAddress' => [ - 'description' => 'The private endpoint of the MSE registry.'."\n", - 'type' => 'string', - 'example' => 'mse-72******-nacos-ans.mse.aliyuncs.com', - ], - ], - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\",\\n \\"SecureToken\\": {\\n \\"SecretKey\\": \\"gOSgbgR2R*************\\",\\n \\"AccessKey\\": \\"f676f1**************\\",\\n \\"BelongRegion\\": \\"cn-shenzhen\\",\\n \\"Description\\": \\"”“\\",\\n \\"RegionName\\": \\"x******\\",\\n \\"EdasId\\": \\"11727458********\\",\\n \\"AddressServerHost\\": \\"addr-****-****.edas.aliyun.com\\",\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"Id\\": 7279,\\n \\"TenantId\\": \\"401b7bc8-9441-4693-****-************\\",\\n \\"RegionId\\": \\"cn-shenzhen:x*******\\",\\n \\"MseRegistryType\\": \\"exclusive_mse\\",\\n \\"MseInstanceId\\": \\"mse_prepaid_public_cn-tl32p******\\",\\n \\"MseInternetAddress\\": \\"mse-aa2******-p.nacos-ans.mse.aliyuncs.com\\",\\n \\"MseIntranetAddress\\": \\"mse-72******-nacos-ans.mse.aliyuncs.com\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SecureToken>\\n <EdasId>11727458********</EdasId>\\n <TenantId>401b7bc8-9441-4693-****-************</TenantId>\\n <SecretKey>gOSgbgR2R*************</SecretKey>\\n <Description>”“</Description>\\n <RegionName>x******</RegionName>\\n <UserId>edas_com***_****@******-*****.***</UserId>\\n <AddressServerHost>addr-****-****.edas.aliyun.com</AddressServerHost>\\n <AccessKey>f676f1**************</AccessKey>\\n <RegionId>cn-shenzhen:x*******</RegionId>\\n <Id>7279</Id>\\n <BelongRegion>cn-shenzhen</BelongRegion>\\n</SecureToken>\\n<RequestId>D16979DC-4D42-*************</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'GetSecureToken', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'translator' => 'machine', ], - 'QueryEccInfo' => [ - 'path' => '/pop/v5/ecc', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetCluster' => [ + 'path' => '/pop/v5/resource/cluster', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7234,20 +5199,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'EccId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECC.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b197-40ab-9155-****', - ], + 'schema' => ['description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS). You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5439271a-015b-433d-****-d76db49****', 'title' => ''], ], ], 'responses' => [ @@ -7255,374 +5212,207 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'EccInfo' => [ - 'description' => 'The information about the ECC.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The detailed information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'd76db491', 'title' => ''], + 'Cluster' => [ + 'description' => 'The information about the cluster.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID'."\n", - 'type' => 'string', - 'example' => 'vpc-23727****', - ], - 'EccId' => [ - 'description' => 'ECC ID'."\n", - 'type' => 'string', - 'example' => 'a5b9****-40b4-4d7b-9c2a-55d6c1c0****', - ], - 'EcuId' => [ - 'description' => 'ECU ID'."\n", - 'type' => 'string', - 'example' => '0d4e****-6d87-401f-ba81-13df9877****', - ], - 'GroupId' => [ - 'description' => 'The ID of the ECC group.'."\n", - 'type' => 'string', - 'example' => '57cd****-2d3b-496f-bcce-646d0a4d****', - ], - 'GroupName' => [ - 'description' => 'The name of the ECC group.'."\n", - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'PackageMd5' => [ - 'description' => 'The MD5 hash value of the deployment package version.'."\n", - 'type' => 'string', - 'example' => 'bab6****7a090e41ca9445c9b3cd****', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package.'."\n", + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-xxxxz1mlwpb****', 'title' => ''], + 'OversoldFactor' => ['description' => 'The overcommit ratio supported by a Docker cluster. Valid values:'."\n" + ."\n" + .'- 1: 1:1, which means that resources are not overcommitted.'."\n" + ."\n" + .'- 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" + ."\n" + .'- 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" + ."\n" + .'- 8: 1:8, which means that resources are overcommitted by 1:8.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the cluster was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570708232145', 'title' => ''], + 'MemUsed' => ['description' => 'The size of used memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + 'IaasProvider' => ['description' => 'The provider of Infrastructure as a Service (IaaS) resources used in the cluster.', 'type' => 'string', 'example' => 'ALIYUN', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the cluster was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1570708232145', 'title' => ''], + 'CpuUsed' => ['description' => 'The number of used CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the cluster resides.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'CsClusterId' => ['description' => 'The ID of the Container Service for Kubernetes (ACK) cluster.', 'type' => 'string', 'example' => 'c2ce62869f4d4466b920312315f05****', 'title' => ''], + 'NetworkMode' => ['description' => 'The network type of the cluster. Valid values:'."\n" + ."\n" + .'- 1: classic network'."\n" + ."\n" + .'- 2: virtual private cloud (VPC)', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.', 'type' => 'string', 'example' => 'Test', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'- 0: regular Docker cluster'."\n" + ."\n" + .'- 1: Swarm cluster'."\n" + ."\n" + .'- 2: Elastic Compute Service (ECS) cluster'."\n" + ."\n" + .'- 3: self-managed Kubernetes cluster in EDAS'."\n" + ."\n" + .'- 4: cluster in which Pandora automatically registers applications'."\n" + ."\n" + .'- 5: ACK cluster', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'ClusterTest', 'title' => ''], + 'NodeNum' => ['description' => 'The number of ECS instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ClusterImportStatus' => ['description' => 'The import status of the cluster. Valid values:'."\n" + ."\n" + .'- 1: The cluster is imported.'."\n" + ."\n" + .'- 2: The cluster fails to be imported.'."\n" + ."\n" + .'- 3: The cluster is being imported.'."\n" + ."\n" + .'- 4: The cluster is deleted.'."\n" + ."\n" + .'- 0: The cluster is not imported.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '5439271a-015b-433d-befb-d76d****', 'title' => ''], + 'SubClusterType' => [ + 'description' => 'The subtype of the Kubernetes cluster. Valid values: ManagedKubernetes, Ask, and ExternalKubernetes. ManagedKubernetes refers to the ACK cluster. Ask refers to the Serverless Kubernetes (ASK) cluster. ExternalKubernetes refers to the external cluster.', 'type' => 'string', - 'example' => '20210209.153400', + 'example' => 'ManagedKubernetes', + 'enum' => ['ManagedKubernetes', 'Ask'], + 'title' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"EccInfo\\": {\\n \\"VpcId\\": \\"vpc-23727****\\",\\n \\"EccId\\": \\"a5b9****-40b4-4d7b-9c2a-55d6c1c0****\\",\\n \\"EcuId\\": \\"0d4e****-6d87-401f-ba81-13df9877****\\",\\n \\"GroupId\\": \\"57cd****-2d3b-496f-bcce-646d0a4d****\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"PackageMd5\\": \\"bab6****7a090e41ca9445c9b3cd****\\",\\n \\"AppId\\": \\"e809****-43d7-4c6b-8e01-b0d9d1db****\\",\\n \\"PackageVersion\\": \\"20210209.153400\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<EccInfo>\\n <GroupName>_DEFAULT_GROUP</GroupName>\\n <VpcId>vpc-23727****</VpcId>\\n <AppId>e809****-43d7-4c6b-8e01-b0d9d1db****</AppId>\\n <PackageMd5>bab6****7a090e41ca9445c9b3cd****</PackageMd5>\\n <EcuId>0d4e****-6d87-401f-ba81-13df9877****</EcuId>\\n <EccId>a5b9****-40b4-4d7b-9c2a-55d6c1c0****</EccId>\\n <PackageVersion>20210209.153400</PackageVersion>\\n <GroupId>57cd****-2d3b-496f-bcce-646d0a4d****</GroupId>\\n</EccInfo>\\n<RequestId>b197-40ab-9155-****</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'QueryEccInfo', - 'summary' => 'Queries details about an elastic compute container (ECC). This operation is applicable to Container Service for Kubernetes (ACK) clusters.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d76db491\\",\\n \\"Cluster\\": {\\n \\"VpcId\\": \\"vpc-xxxxz1mlwpb****\\",\\n \\"OversoldFactor\\": 2,\\n \\"UpdateTime\\": 1570708232145,\\n \\"MemUsed\\": 1024,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1570708232145,\\n \\"CpuUsed\\": 2,\\n \\"Mem\\": 2048,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Cpu\\": 4,\\n \\"CsClusterId\\": \\"c2ce62869f4d4466b920312315f05****\\",\\n \\"NetworkMode\\": 2,\\n \\"Description\\": \\"Test\\",\\n \\"ClusterType\\": 2,\\n \\"ClusterName\\": \\"ClusterTest\\",\\n \\"NodeNum\\": 4,\\n \\"ClusterImportStatus\\": 0,\\n \\"ClusterId\\": \\"5439271a-015b-433d-befb-d76d****\\",\\n \\"SubClusterType\\": \\"ManagedKubernetes\\"\\n }\\n}","type":"json"}]', + 'title' => 'GetCluster', + 'summary' => 'Queries a specific cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetScalingRules' => [ - 'path' => '/pop/v5/app/scalingRules', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'GetContainerConfiguration' => [ + 'path' => '/pop/v5/app/container_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '33e39be9-3e5f-*********', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-**************', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group to which the application is deployed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'd8bb9d60-9**************', - ], - ], - [ - 'name' => 'Mode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. You can leave this parameter empty. Valid values:'."\n" - ."\n" - .'* SCALE_IN: scale-in rules'."\n" - .'* SCALE_OUT: scale-out rules'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' SCALE_IN', - 'enum' => [ - 'SCALE_IN', - 'SCALE_OUT', - ], - ], + 'schema' => ['description' => 'The ID of the instance group.'."\n" + ."\n" + .'- If this parameter is specified, this operation queries the Tomcat configuration of the instance group.'."\n" + ."\n" + .'- If this parameter is not specified, this operation queries the Tomcat configuration of the application.', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-**************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'UpdateTime' => [ - 'description' => 'The time when the scaling rule was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-***********', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '34F8-FDG9-*****************', 'title' => ''], + 'ContainerConfiguration' => [ + 'description' => 'The Tomcat configuration.', 'type' => 'object', 'properties' => [ - 'OversoldFactor' => [ - 'description' => 'The overcommit ratio supported by a Docker cluster. Valid values:'."\n" - ."\n" - .'* 1: 1:1, which means that resources are not overcommitted.'."\n" - .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" - .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" - .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-wz9b246z******', - ], - 'UpdateTime' => [ - 'description' => 'The time when the scaling rule was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: regular Docker cluster'."\n" - .'* 1: Swarm cluster (deprecated)'."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 3: self-managed Kubernetes cluster in EDAS'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n" - .'* 5: Container Service for Kubernetes (ACK) clusters'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RuleList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => 'The array data of the scaling rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the scaling rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-wz9b246z******', - ], - 'UpdateTime' => [ - 'description' => 'The time when the scaling rule was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'CreateTime' => [ - 'description' => 'The time when the scaling rule was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601801', - ], - 'Rt' => [ - 'description' => 'The service latency that triggers the scaling rule. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SpecId' => [ - 'description' => 'The ID of the specification.'."\n", - 'type' => 'string', - 'example' => '03f493c0-xxxx-xxxx-xxxx-12e85cadeb41', - ], - 'MultiAzPolicy' => [ - 'description' => 'The policy of auto scaling across multiple zones. Valid values:'."\n" - ."\n" - .'* PRIORITY: The vSwitch that is first selected has the highest priority.'."\n" - .'* BALANCE: This policy evenly distributes instances across zones in which the vSwitches reside.'."\n", - 'type' => 'string', - 'example' => 'PRIORITY', - ], - 'ResourceFrom' => [ - 'description' => 'The source of the instance that you want to add during a scale-out. Valid values:'."\n" - ."\n" - .'* NEW: Elastic resources are used.'."\n" - .'* AVAILABLE: The existing resources are used.'."\n" - .'* AVAILABLE_FIRST: The existing resources are used first.'."\n", - 'type' => 'string', - 'example' => 'AVAILABLE', - ], - 'Mode' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SCALE_IN: scale-in rules'."\n" - .'* SCALE_OUT: scale-out rules'."\n", - 'type' => 'string', - 'example' => 'SCALE_OUT', - ], - 'LoadNum' => [ - 'description' => 'The system load that triggers the scaling rule. The system load is evaluated based on the number of processes that are being executed by CPUs and the number of processes that wait to be executed by CPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TemplateVersion' => [ - 'description' => 'The version of the launch template.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1143542', - ], - 'Step' => [ - 'description' => 'The number of instances that are added during each scale-out or removed during each scale-in.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Cond' => [ - 'description' => 'The relationship among the conditions that trigger the scaling rule.'."\n" - ."\n" - .'* OR: one of the conditions'."\n" - .'* AND: all conditions'."\n", - 'type' => 'string', - 'example' => 'OR', - ], - 'Cpu' => [ - 'description' => 'The minimum CPU utilization that triggers the scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group to which the application is deployed.'."\n", - 'type' => 'string', - 'example' => 'd8bb9d60-91b5-4cdf-****-************', - ], - 'InstNum' => [ - 'description' => 'The maximum number of instances in the group when a scale-out is performed, or the minimum number of instances in the group when a scale-in is performed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '33e39be9-3e5f-*********', - ], - 'Duration' => [ - 'description' => 'The duration of the scaling rule. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1574251601', - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches. The IDs of multiple vSwitches are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => 'vsw-mxxxxkxxxx4xxxxwbionj', - ], - 'MetricType' => [ - 'description' => 'The type of the metric.'."\n", - 'type' => 'string', - 'example' => 'HSF', - ], - 'TemplateId' => [ - 'description' => 'The ID of the launch template.'."\n", - 'type' => 'string', - 'example' => 'lt-bp1xxxxn73pxxxxf83l', - ], - 'Enable' => [ - 'description' => 'Indicates whether scale-ins or scale-outs are allowed. Valid values:'."\n" - ."\n" - .'* true: Scale-ins or scale-outs are allowed.'."\n" - .'* false: Scale-ins or scale-outs are disallowed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'HttpPort' => ['description' => 'The application port number for the Tomcat container. The value specified in the application configuration is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'ContextPath' => ['description' => 'The context path of the Tomcat container.', 'type' => 'string', 'example' => '/', 'title' => ''], + 'UseBodyEncoding' => ['description' => 'Indicates whether useBodyEncodingForURI is enabled in the Tomcat container.'."\n" + ."\n" + .'- If no instance group is specified, the configuration of the application is returned.'."\n" + ."\n" + .'- If no application is specified, the default configuration is returned.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MaxThreads' => ['description' => 'The maximum number of threads in the Tomcat container.'."\n" + ."\n" + .'- If no instance group is specified, the configuration of the application is returned.'."\n" + ."\n" + .'- If no application is specified, the default configuration is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '400', 'title' => ''], + 'URIEncoding' => ['description' => 'The Uniform Resource Identifier (URI) encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" + ."\n" + .'- If no instance group is specified, the configuration of the application is returned.'."\n" + ."\n" + .'- If no application is specified, the default configuration is returned.', 'type' => 'string', 'example' => 'ISO-8859-1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"RequestId\\": \\"D16979DC-4D42-***********\\",\\n \\"Data\\": {\\n \\"OversoldFactor\\": 1,\\n \\"VpcId\\": \\"vpc-wz9b246z******\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"ClusterType\\": 2,\\n \\"RuleList\\": {\\n \\"Rule\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246z******\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"CreateTime\\": 1574251601801,\\n \\"Rt\\": 1,\\n \\"SpecId\\": \\"03f493c0-xxxx-xxxx-xxxx-12e85cadeb41\\",\\n \\"MultiAzPolicy\\": \\"PRIORITY\\",\\n \\"ResourceFrom\\": \\"AVAILABLE\\",\\n \\"Mode\\": \\"SCALE_OUT\\",\\n \\"LoadNum\\": 1,\\n \\"TemplateVersion\\": 1143542,\\n \\"Step\\": 1,\\n \\"Cond\\": \\"OR\\",\\n \\"Cpu\\": 1,\\n \\"GroupId\\": \\"d8bb9d60-91b5-4cdf-****-************\\",\\n \\"InstNum\\": 2,\\n \\"AppId\\": \\"33e39be9-3e5f-*********\\",\\n \\"Duration\\": 1574251601,\\n \\"VSwitchIds\\": \\"vsw-mxxxxkxxxx4xxxxwbionj\\",\\n \\"MetricType\\": \\"HSF\\",\\n \\"TemplateId\\": \\"lt-bp1xxxxn73pxxxxf83l\\",\\n \\"Enable\\": true\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Data>\\n <RuleList>\\n <Rule>\\n <Step>1</Step>\\n <SpecId/>\\n <AppId>33e39be9-3e5f-4028-****-************</AppId>\\n <MultiAzPolicy/>\\n <UpdateTime>1574251601785</UpdateTime>\\n <MetricType>HSF</MetricType>\\n <Mode>SCALE_OUT</Mode>\\n <GroupId>d8bb9d60-91b5-4cdf-****-************</GroupId>\\n <VpcId/>\\n <TemplateId/>\\n <Rt>1</Rt>\\n <ResourceFrom>AVAILABLE</ResourceFrom>\\n <Cpu>1</Cpu>\\n <VSwitchIds/>\\n <Cond>OR</Cond>\\n <InstNum>2</InstNum>\\n <Enable>true</Enable>\\n <CreateTime>1574251601801</CreateTime>\\n <Duration>1</Duration>\\n <LoadNum>1</LoadNum>\\n </Rule>\\n </RuleList>\\n <OversoldFactor>1</OversoldFactor>\\n <ClusterType>2</ClusterType>\\n <VpcId>vpc-wz9b246z******</VpcId>\\n</Data>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'GetScalingRules', - 'summary' => 'Queries scaling rules.', + 'title' => 'GetContainerConfiguration', + 'summary' => 'Queries the Tomcat configuration of an application or an instance group in which an application is deployed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUserDefineRegion' => [ - 'path' => '/pop/v5/user_region_defs', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetContainerConfiguration'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34F8-FDG9-*****************\\",\\n \\"ContainerConfiguration\\": {\\n \\"HttpPort\\": 8080,\\n \\"ContextPath\\": \\"/\\",\\n \\"UseBodyEncoding\\": true,\\n \\"MaxThreads\\": 400,\\n \\"URIEncoding\\": \\"ISO-8859-1\\"\\n }\\n}","type":"json"}]', + ], + 'GetJavaStartUpConfig' => [ + 'path' => '/pop/v5/oam/java_start_up_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7630,161 +5420,96 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DebugEnable', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether remote debugging is allowed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5fdf50e8-*', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'UserDefineRegionList' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], + 'JavaStartUpConfig' => [ + 'description' => 'The configuration of Java startup parameters.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'UserDefineRegionEntity' => [ - 'description' => 'The namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of namespaces.'."\n", - 'type' => 'object', - 'properties' => [ - 'BelongRegion' => [ - 'description' => 'The ID of the region to which the namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'RegionName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'betaappManager', - ], - 'Description' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'betaappManager', - ], - 'DebugEnable' => [ - 'description' => 'Indicates whether remote debugging is allowed.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'Id' => [ - 'description' => 'The unique identifier of the namespace.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1330', - ], - 'RegionId' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'> The ID cannot be changed after the namespace is created. The ID is in the `Physical region ID:Logical region identifier` format .'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen:betaappManager', - ], - 'MseInstanceId' => [ - 'description' => 'The type of the registry. Valid values:'."\n" - ."\n" - .'* default: shared service registry of Enterprise Distributed Application Service (EDAS)'."\n" - .'* exclusive_mse: Microservices Engine (MSE) Nacos registry', - 'type' => 'string', - 'example' => 'default: EDAS', - ], - 'RegistryType' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse_prepaid_public_cn-tl32n******', - ], - ], - ], - ], + 'StartUpArgs' => ['description' => 'The effective startup parameter configuration.', 'type' => 'string', 'example' => '-Xms512m', 'title' => ''], + 'OriginalConfigs' => ['description' => 'The displayed startup parameter configuration.', 'type' => 'string', 'example' => '-Xms512m', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"UserDefineRegionList\\": {\\n \\"UserDefineRegionEntity\\": [\\n {\\n \\"BelongRegion\\": \\"cn-shenzhen\\",\\n \\"RegionName\\": \\"betaappManager\\",\\n \\"Description\\": \\"betaappManager\\",\\n \\"DebugEnable\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"Id\\": 1330,\\n \\"RegionId\\": \\"cn-shenzhen:betaappManager\\",\\n \\"MseInstanceId\\": \\"default:EDAS\\",\\n \\"RegistryType\\": \\"mse_prepaid_public_cn-tl32n******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<UserDefineRegionList>\\n <UserDefineRegionEntity>\\n <Description>betaappManager</Description>\\n <RegionName>betaappManager</RegionName>\\n <BelongRegion>cn-shenzhen</BelongRegion>\\n <RegionId>cn-shenzhen:betaappManager</RegionId>\\n <Id>1330</Id>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <DebugEnable>false</DebugEnable>\\n </UserDefineRegionEntity>\\n</UserDefineRegionList>","errorExample":""}]', - 'summary' => 'Queries custom namespaces.', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ], + ], + 'title' => 'GetJavaStartUpConfig', + 'summary' => 'Queries the configuration of Java startup parameters for an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetContainerConfiguration' => [ - 'path' => '/pop/v5/app/container_config', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJavaStartUpConfig'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"JavaStartUpConfig\\": {\\n \\"StartUpArgs\\": \\"-Xms512m\\",\\n \\"OriginalConfigs\\": \\"-Xms512m\\"\\n }\\n}","type":"json"}]', + ], + 'GetJvmConfiguration' => [ + 'path' => '/pop/v5/app/app_jvm_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-**************', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4***************', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group.'."\n" - ."\n" - .'* If this parameter is specified, this operation queries the Tomcat configuration of the instance group.'."\n" - .'* If this parameter is not specified, this operation queries the Tomcat configuration of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-**************', - ], + 'schema' => ['description' => 'The ID of the instance group.'."\n" + ."\n" + .'- If an ID is specified, this operation queries the JVM configuration information of the instance group.'."\n" + ."\n" + .'- If an ID is not specified, this operation queries the JVM configuration information of the application.', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-48**************', 'title' => ''], ], ], 'responses' => [ @@ -7792,84 +5517,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '34F8-FDG9-*****************', - ], - 'ContainerConfiguration' => [ - 'description' => 'The Tomcat configuration.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3F43-F34V-0VCD***********', 'title' => ''], + 'JvmConfiguration' => [ + 'description' => 'The JVM configuration of the application or instance group.', 'type' => 'object', 'properties' => [ - 'HttpPort' => [ - 'description' => 'The application port number for the Tomcat container. The value specified in the application configuration is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextPath' => [ - 'description' => 'The context path of the Tomcat container.'."\n", - 'type' => 'string', - 'example' => '/', - ], - 'UseBodyEncoding' => [ - 'description' => 'Indicates whether useBodyEncodingForURI is enabled in the Tomcat container.'."\n" - ."\n" - .'* If no instance group is specified, the configuration of the application is returned.'."\n" - .'* If no application is specified, the default configuration is returned.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'MaxThreads' => [ - 'description' => 'The maximum number of threads in the Tomcat container.'."\n" - ."\n" - .'* If no instance group is specified, the configuration of the application is returned.'."\n" - .'* If no application is specified, the default configuration is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'URIEncoding' => [ - 'description' => 'The Uniform Resource Identifier (URI) encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" - ."\n" - .'* If no instance group is specified, the configuration of the application is returned.'."\n" - .'* If no application is specified, the default configuration is returned.'."\n", - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], + 'MaxPermSize' => ['description' => 'The size of the permanent generation heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'MaxHeapSize' => ['description' => 'The maximum size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'Options' => ['description' => 'The custom parameter.', 'type' => 'string', 'example' => '-XX:+UseConcMarkSweepGC -XX:-UseParNewGC', 'title' => ''], + 'MinHeapSize' => ['description' => 'The initial size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34F8-FDG9-*****************\\",\\n \\"ContainerConfiguration\\": {\\n \\"HttpPort\\": 8080,\\n \\"ContextPath\\": \\"/\\",\\n \\"UseBodyEncoding\\": true,\\n \\"MaxThreads\\": 400,\\n \\"URIEncoding\\": \\"ISO-8859-1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetContainerConfigurationResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <RequestId>34F8-FDG9-*****************</RequestId>\\n <ContainerConfiguration>\\n <HttpPort>8080</HttpPort>\\n <ContextPath>/</ContextPath>\\n <UseBodyEncoding>true</UseBodyEncoding>\\n <MaxThreads>400</MaxThreads>\\n <URIEncoding>ISO-8859-1</URIEncoding>\\n </ContainerConfiguration>\\n</GetContainerConfigurationResponse>","errorExample":""}]', - 'title' => 'GetContainerConfiguration', - 'summary' => 'Queries the Tomcat configuration of an application or an instance group in which an application is deployed.', + 'errorCodes' => [], + 'title' => 'GetJvmConfiguration', + 'summary' => 'Queries the Java Virtual Machine (JVM) configuration of an application or an instance group in which an application is deployed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListApplication' => [ - 'path' => '/pop/v5/app/app_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJvmConfiguration'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3F43-F34V-0VCD***********\\",\\n \\"JvmConfiguration\\": {\\n \\"MaxPermSize\\": 1000,\\n \\"MaxHeapSize\\": 1000,\\n \\"Options\\": \\"-XX:+UseConcMarkSweepGC -XX:-UseParNewGC\\",\\n \\"MinHeapSize\\": 500\\n }\\n}","type":"json"}]', + ], + 'GetK8sAppPrecheckResult' => [ + 'summary' => 'Queries the precheck result of a Kubernetes application.', + 'path' => '/pop/v5/k8s/app_precheck', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7877,276 +5578,114 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID. Specify this parameter if you want to filter applications by cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).', 'type' => 'string', 'required' => true, 'example' => 'c37aec2a-bcca-4ec1-****-************'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID. Specify this parameter if you want to filter applications by namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => true, 'example' => 'default', 'title' => ''], ], [ 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. Specify this parameter if you want to filter applications by application name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testapp', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. Specify this parameter if you want to filter applications by resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek24j4s4b*****', - ], - ], - [ - 'name' => 'LogicalRegionIdFilter', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace that you use in the exact search to filter applications.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' "5657d271-****-4f03-9bb2-431f942886bb",'."\n" - .' "5657d271-****-4f03-9bb2-431f942bbddd"'."\n" - .']', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. 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", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The name of the application.', 'type' => 'string', 'required' => true, 'example' => 'testapp', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The information about the application change precheck.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'ApplicationList' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****'], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Application' => [ - 'description' => 'The information about applications.'."\n", + 'Status' => ['description' => 'The precheck state for the application change. Valid values:'."\n" + ."\n" + .'- checking: The application is being prechecked.'."\n" + ."\n" + .'- pass: The application passed the precheck.'."\n" + ."\n" + .'- failed: The application failed the precheck.', 'type' => 'string', 'example' => 'checking', 'title' => ''], + 'Reason' => ['description' => 'The reason why the application failed the precheck. This parameter is left empty when the application passed the precheck.', 'type' => 'string', 'example' => 'K8s cluster disconnected.', 'title' => ''], + 'JobResults' => [ + 'description' => 'The precheck result for the application change.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the array object.'."\n", + 'description' => 'The object data of the precheck result for the application change.', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '00ee517d-dd7d-4d4e-****-************', - ], - 'RegionId' => [ - 'description' => 'The region ID of the application.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:docTes', - ], - 'Name' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'doc-test-consumer', - ], - 'Instances' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Port' => [ - 'description' => 'The service port of the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'State' => [ - 'description' => 'The state of the application. Valid values:'."\n" - ."\n" - .'* RUNNING: The application is running.'."\n" - .'* STOPPED: The application is stopped.'."\n" - .'* DEPLOYING: The application is being deployed.'."\n" - .'* DELETING: The application is being deleted.'."\n", - 'type' => 'string', - 'example' => 'RUNNING', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1664208000000', - ], - 'SlbIp' => [ - 'description' => 'The IP address of the internal-facing Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'example' => '192.168.0.***', - ], - 'SlbPort' => [ - 'description' => 'The port of the internal-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'SlbListenerPort' => [ - 'description' => 'The listener port of the internal-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8088', - ], - 'ExtSlbListenerPort' => [ - 'description' => 'The listener port of the Internet-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'BuildPackageId' => [ - 'description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '58', - ], - 'ExtSlbIp' => [ - 'description' => 'The IP address of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '100.100.70.***', - ], - 'ApplicationType' => [ - 'description' => 'The deployment type of the application. Valid values:'."\n" - ."\n" - .'* War: The application is deployed by using a WAR package.'."\n" - .'* FatJar: The application is deployed by using a JAR package.'."\n" - .'* Image: The application is deployed by using an image.'."\n" - .'* If this parameter is empty, the application is not deployed.'."\n", - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster in which the application is deployed. Valid values:'."\n" - ."\n" - .'* **2**: Elastic Compute Service (ECS) cluster'."\n" - .'* **3**: self-managed Kubernetes cluster in EDAS'."\n" - .'* **5**: Container Service for Kubernetes (ACK) cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RunningInstanceCount' => [ - 'description' => 'The number of running application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-aek24j4s4b*****', - ], - 'K8sNamespace' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the microservices namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], + 'Name' => ['description' => 'The name of the precheck item.', 'type' => 'string', 'example' => 'Cluster Health Check', 'title' => ''], + 'Pass' => ['description' => 'Indicates whether the precheck item passed the precheck:'."\n" + ."\n" + .'- true: The precheck item passed the precheck.'."\n" + ."\n" + .'- false: The precheck item failed the precheck.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Interrupted' => ['description' => 'Specifies whether the precheck of the item was interrupted:'."\n" + ."\n" + .'- true: The precheck of the item was interrupted.'."\n" + ."\n" + .'- false: The precheck of the item was not interrupted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Reason' => ['description' => 'The reason why the precheck item failed the precheck or the precheck of the item was interrupted. This parameter is left empty when the application passed the precheck.', 'type' => 'string', 'example' => 'K8s集群失联。', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"ApplicationList\\": {\\n \\"Application\\": [\\n {\\n \\"AppId\\": \\"00ee517d-dd7d-4d4e-****-************\\",\\n \\"RegionId\\": \\"cn-beijing:docTes\\",\\n \\"Name\\": \\"doc-test-consumer\\",\\n \\"Instances\\": 5,\\n \\"Port\\": 8080,\\n \\"State\\": \\"RUNNING\\",\\n \\"CreateTime\\": 1664208000000,\\n \\"SlbIp\\": \\"192.168.0.***\\",\\n \\"SlbPort\\": 80,\\n \\"SlbListenerPort\\": 8088,\\n \\"ExtSlbListenerPort\\": 8080,\\n \\"BuildPackageId\\": 58,\\n \\"ExtSlbIp\\": \\"100.100.70.***\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ClusterType\\": 2,\\n \\"RunningInstanceCount\\": 0,\\n \\"ClusterId\\": \\"c37aec2a-bcca-4ec1-****-************\\",\\n \\"ResourceGroupId\\": \\"rg-aek24j4s4b*****\\",\\n \\"K8sNamespace\\": \\"default\\",\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5d6fa0bc-cc3**********</RequestId>\\n<Message>success</Message>\\n<ApplicationList>\\n <Application>\\n <BuildPackageId>58</BuildPackageId>\\n <ApplicationType>FatJar</ApplicationType>\\n <ResourceGroupId>rg-aek24j4s4b*****</ResourceGroupId>\\n <AppId>00ee517d-dd7d-4d4e-****-************</AppId>\\n <ClusterId>c37aec2a-bcca-4ec1-****-************</ClusterId>\\n <ClusterType>2</ClusterType>\\n <RegionId>cn-beijing:docTes</RegionId>\\n <RunningInstanceCount>0</RunningInstanceCount>\\n <Name>doc-test-consumer</Name>\\n </Application>\\n</ApplicationList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListApplication', - 'summary' => 'Queries a list of applications.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListDeployGroup' => [ - 'summary' => 'Queries the instance groups to which an application is deployed.', - 'path' => '/pop/v5/app/deploy_group_list', - 'methods' => [ - 'post', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B909AB1F-3763-4963-B1CE-0BDFA192****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Status\\": \\"checking\\",\\n \\"Reason\\": \\"K8s cluster disconnected.\\",\\n \\"JobResults\\": [\\n {\\n \\"Name\\": \\"Cluster Health Check\\",\\n \\"Pass\\": true,\\n \\"Interrupted\\": false,\\n \\"Reason\\": \\"K8s集群失联。\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetK8sAppPrecheckResult', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sAppPrecheckResult'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'translator' => 'manual', + ], + 'GetK8sApplication' => [ + 'summary' => 'Retrieves information about an application deployed in a Container Service for Kubernetes (ACK) cluster or a Serverless Kubernetes (ASK) cluster.', + 'path' => '/pop/v5/changeorder/co_application', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8154,265 +5693,307 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', - ], + 'schema' => ['description' => 'The ID of the application. You can call the [ListApplication](~~149390~~) operation to obtain the application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '5a166fbd-****-4f98-a286-781659d9****'], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => ['description' => 'The source of the query.'."\n" + ."\n" + .'- If this parameter is empty, a regular query is performed.'."\n" + ."\n" + .'- deploy: The query is initiated from the deployment page.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'deploy'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The API response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3FDE-DS9R-*********************', - ], - 'DeployGroupList' => [ + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '1053-08e4-47a5-b2ab-5c0323de7b5a'], + 'Applcation' => [ + 'description' => 'The application information.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'DeployGroup' => [ - 'description' => 'The information about the instance group in which the application is deployed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the instance group in which the application is deployed.'."\n", - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group of the internal-facing Server Load Balancer (SLB) instance associated with the instance group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'Status' => [ - 'description' => 'The state of the application instance group. Valid values:'."\n" - ."\n" - .'* 0: ready'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 10: failed due to a system exception'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'CpuRequest' => [ - 'description' => 'The number of CPU cores requested for each application instance when the application is running. Unit: cores. Value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => 'The time when the application was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'MemoryRequest' => [ - 'description' => 'The size of memory requested for each application instance when the application is running. Unit: MB. Value 0 indicates that no limit is set on the memory size.'."\n", - 'type' => 'string', - 'example' => '512', - ], - 'NameSpace' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'example' => 'ping****est', - ], - 'AppVersionId' => [ - 'description' => 'The ID of the change process for application deployment in the instance group.'."\n", - 'type' => 'string', - 'example' => 'changeorder_a**_*******_**', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'DeploymentName' => [ - 'description' => 'The name of the deployment.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'PreStop' => [ - 'description' => 'The pre-stop script.'."\n", - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'PackageUrl' => [ - 'description' => 'The URL of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'E', - ], - 'BaseComponentMetaName' => [ - 'description' => 'The name of the basic component.'."\n", - 'type' => 'string', - 'example' => 'k8s-sc-consumer-****', - ], - 'CsClusterId' => [ - 'description' => 'The ID of the Container Service for Kubernetes (ACK) cluster.'."\n", - 'type' => 'string', - 'example' => 'c66e65950db****cba92f17434df1****', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'LastUpdateTime' => [ - 'description' => 'The time when the application was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1587888503825', - ], - 'Env' => [ - 'description' => 'The ID of the ACK cluster.'."\n", - 'type' => 'string', - 'example' => '497806cb-****-6a7', - ], - 'CpuLimit' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'GroupType' => [ - 'description' => 'The type of the instance group. Valid values:'."\n" - ."\n" - .'* 0: default group.'."\n" - .'* 1: Canary release is disabled for traffic management.'."\n" - .'* 2: Canary release is enabled for traffic management.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - 'PostStart' => [ - 'description' => 'The post-start script.'."\n", - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'Labels' => [ - 'description' => 'The tag.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MemoryLimit' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. Value 0 indicates that no limit is set on the memory size.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Strategy' => [ - 'description' => 'The throttling policy. This parameter is reserved.'."\n", - 'type' => 'string', - 'example' => 'RollingUpdate', - ], - 'Selector' => [ - 'description' => 'The ID of the application deployed in the ACK cluster in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'example' => '53dd85cc-25b4-4d0e-****-6bf5465****4', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group.'."\n", - 'type' => 'string', - 'example' => '577f4c50-16ee-43d8-****-************', - ], - 'GroupName' => [ - 'description' => 'The name of the instance group.'."\n", - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'doc-test', - ], - 'PackageVersionId' => [ - 'description' => 'The version of the deployment package that was used to deploy an application in the instance group.'."\n", - 'type' => 'string', - 'example' => 'a7d48fe8-ad8f-****-89bd-74cc1ee6****', - ], - 'Reversion' => [ - 'description' => 'The version of the application. The value progressively increases in the range of 0 to 7.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'VExtServerGroupId' => [ - 'description' => 'The ID of the vServer group of the Internet-facing SLB instance associated with the instance group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'PackagePublicUrl' => [ - 'description' => 'The external download URL of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', + 'AppId' => ['description' => 'The ID of the application. You can call the [ListApplication](~~149390~~) operation to obtain the application ID.', 'type' => 'string', 'title' => '', 'example' => 'a5281053-****-47a5-b2ab-5c0323de****'], + 'DeployGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployGroup' => [ + 'description' => 'The list of deployment groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The deployment group object.', + 'type' => 'object', + 'properties' => [ + 'Components' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Components' => [ + 'description' => 'The component information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The component object.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The component type.', 'type' => 'string', 'title' => '', 'example' => 'JDK'], + 'ComponentKey' => ['description' => 'The component keyword.', 'type' => 'string', 'title' => '', 'example' => 'Open JDK 8'], + 'ComponentId' => ['description' => 'The component ID.', 'type' => 'string', 'title' => '', 'example' => '5'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Env' => ['description' => 'The environment variables. This parameter provides the configuration information about the references to ConfigMaps and Secrets. The information is not included in the EnvList parameter.', 'type' => 'string', 'title' => '', 'example' => '"["{\\"name\\":\\"test1\\",\\"valueFrom\\":{\\"configMapKeyRef\\":{\\"name\\":\\"edas-demo-configmap\\",\\"key\\":\\"key1\\"}}}","{\\"name\\":\\"k2\\",\\"value\\":\\"v2\\"}","{\\"name\\":\\"s1\\",\\"valueFrom\\":{\\"secretKeyRef\\":{\\"name\\":\\"edas-demo-secret\\",\\"key\\":\\"k1\\"}}}"]"'], + 'EnvFrom' => ['description' => 'The source of the environment variables.', 'type' => 'string', 'title' => '', 'example' => '[{"configMapRef":{"name":"test-cm"}}]'], + ], + 'title' => '', + 'example' => '', ], - 'EphemeralStorageRequest' => [ - 'description' => 'The minimum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'string', - 'example' => '4', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ImageInfo' => [ + 'description' => 'The image information.', + 'type' => 'object', + 'properties' => [ + 'RepoId' => ['description' => 'The ID of the image repository.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'ImageUrl' => ['description' => 'The URL of the image.', 'type' => 'string', 'title' => '', 'example' => 'registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282'], + 'RepoOriginType' => ['description' => 'The type of the source of the image repository.', 'type' => 'string', 'title' => '', 'example' => 'ALI_HUB'], + 'Tag' => ['description' => 'The tag of the image.', 'type' => 'string', 'title' => '', 'example' => '5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282'], + 'RepoName' => ['description' => 'The name of the image repository.', 'type' => 'string', 'title' => '', 'example' => '131****067006888_shared_repo'], + 'RepoNamespace' => ['description' => 'The namespace of the image repository.', 'type' => 'string', 'title' => '', 'example' => 'edas-server****-user'], + 'RegionId' => ['description' => 'The ID of the region where the image is located.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing'], + ], + 'title' => '', + 'example' => '', + ], + 'App' => [ + 'description' => 'The basic information about the application.', + 'type' => 'object', + 'properties' => [ + 'RequestMem' => ['description' => 'The amount of memory that is reserved. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1024'], + 'InstancesBeforeScaling' => ['description' => 'The number of application instances before the last scaling event.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'DeployType' => ['description' => 'The deployment type. The value is Image.', 'type' => 'string', 'title' => '', 'example' => 'Image'], + 'ApplicationName' => ['description' => 'The name of the application.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'ApplicationType' => ['description' => 'The application type.', 'type' => 'string', 'title' => '', 'example' => 'War'], + 'Instances' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '4'], + 'LimitMem' => ['description' => 'The memory limit. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1024'], + 'Cmd' => ['description' => 'The startup command.', 'type' => 'string', 'title' => '', 'example' => 'ls'], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'BuildpackId' => ['description' => 'The ID of the application build type.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '57'], + 'TomcatVersion' => ['description' => 'The version of Apache Tomcat.', 'type' => 'string', 'title' => '', 'example' => '8.5.55'], + 'CsClusterId' => ['description' => 'The ID of the container cluster.', 'type' => 'string', 'title' => '', 'example' => 'c383bc813c1974e****451b50c0c8****'], + 'RequestCpuM' => ['description' => 'The number of CPU cores that are requested. Unit: millicores. 1,000 millicores are equal to one CPU core.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1000'], + 'AppId' => ['description' => 'The ID of the application. You can call the [ListApplication](~~149390~~) operation to obtain the application ID.', 'type' => 'string', 'title' => '', 'example' => '00ee517d-dd7d-4d4e-****-****'], + 'K8sNamespace' => ['description' => 'The Kubernetes namespace.', 'type' => 'string', 'title' => '', 'example' => 'default'], + 'EdasContainerVersion' => ['description' => 'The version of the EDAS container.', 'type' => 'string', 'title' => '', 'example' => '3.60.0'], + 'LimitCpuM' => ['description' => 'The CPU limit. Unit: millicores. 1,000 millicores are equal to one CPU core.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1000'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'title' => '', 'example' => 'c37aec2a-bcca-4ec1-****-****'], + 'EnvList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Env' => [ + 'description' => 'The list of environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable object.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'title' => '', 'example' => 'CATALINA_OPTS'], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'title' => '', 'example' => '-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'EphemeralStorageLimit' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'string', - 'example' => '8', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CmdArgs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CmdArg' => [ + 'description' => 'The list of commands.', + 'type' => 'array', + 'items' => ['description' => 'The command parameters.', 'type' => 'string', 'title' => '', 'example' => '-lh'], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'DevelopType' => ['description' => 'The application type:'."\n" + ."\n" + .'- General: a native Java application.'."\n" + ."\n" + .'- Pandora: a Pandora application.'."\n" + ."\n" + .'- Multilingual: a multilingual application.', 'type' => 'string', 'title' => '', 'example' => 'General'], + 'SlbInfo' => ['description' => 'The SLB configurations.', 'type' => 'string', 'title' => '', 'example' => '['."\n" + .' {'."\n" + .' "addressType": "intranet",'."\n" + .' "externalTrafficPolicy": "Local",'."\n" + .' "ip": "192.168.254.***",'."\n" + .' "name": "intranet-testapp",'."\n" + .' "portMappings": ['."\n" + .' {'."\n" + .' "loadBalancerProtocol": "TCP",'."\n" + .' "servicePort": {'."\n" + .' "port": 8080,'."\n" + .' "protocol": "TCP",'."\n" + .' "targetPort": 18081,'."\n" + .' "vServerGroupName": "k8s/31414/intranet-testapp/default/cc90e0c9508a44667bdae2e83d3******"'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "scheduler": "rr",'."\n" + .' "serviceType": "LoadBalancer",'."\n" + .' "slbId": "lb-bp1ikoh3nrpgqsm******",'."\n" + .' "source": "create",'."\n" + .' "specification": "slb.s3.large"'."\n" + .' }'."\n" + .']'], + 'Annotations' => ['description' => 'The annotations of the application pod.', 'type' => 'string', 'title' => '', 'example' => '{"test-annokey":"test-annovalue"}'], + 'Labels' => ['description' => 'The labels of the application pod.', 'type' => 'string', 'title' => '', 'example' => '{"test-labelkey":"test-labelvalue"}'], + 'LimitEphemeralStorage' => ['description' => 'The limit of ephemeral storage resources. Unit: GB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'title' => '', 'example' => '4'], + 'RequestEphemeralStorage' => ['description' => 'The amount of ephemeral storage resources to reserve. Unit: GB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'title' => '', 'example' => '2'], + 'EnableEmptyPushReject' => ['description' => 'Indicates whether empty-push protection is enabled for the application.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'EnableLosslessRule' => ['description' => 'Indicates whether graceful start is enabled for the application.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'LosslessRuleAligned' => ['description' => 'Indicates whether the application, in graceful rolling deployment mode, is configured to complete service registration before it passes the readiness probe.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'LosslessRuleDelayTime' => ['description' => 'The duration of delayed service registration that is configured for the application. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '120'], + 'LosslessRuleFuncType' => ['description' => 'The service prefetch curve that is set for the application.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'LosslessRuleRelated' => ['description' => 'Indicates whether the application, in graceful rolling deployment mode, is configured to complete service prefetch before it passes the readiness probe.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'LosslessRuleWarmupTime' => ['description' => 'The service prefetch duration that is set for the application. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '120'], + 'FeatureAnnotations' => ['description' => 'The tags of advanced configurations for the current application. This parameter indicates the features that are enabled. Valid values:'."\n" + ."\n" + .'- base.combination.edas: the EDAS integrated management solution.'."\n" + ."\n" + .'- base.combination.arms: ARMS monitoring is enabled.'."\n" + ."\n" + .'- base.combination.mse: MSE is enabled.'."\n" + ."\n" + .'- base.combination.none: Only lifecycle management is enabled.', 'type' => 'string', 'title' => '', 'example' => 'base.combination.edas'], + 'WorkloadType' => ['description' => 'The type of the workload that is used to create the application. Valid values: Deployment and StatefulSet. If you leave this parameter empty, Deployment is used.', 'type' => 'string', 'title' => '', 'example' => 'Deployment'], + 'SecurityContext' => ['type' => 'string', 'description' => 'The SecurityContext properties of the application pod container.', 'title' => '', 'example' => '{\\"runAsUser\\":0,\\"runAsGroup\\":0}'], ], + 'title' => '', + 'example' => '', + ], + 'Conf' => [ + 'description' => 'The configuration information.', + 'type' => 'object', + 'properties' => [ + 'PostStart' => ['description' => 'The information about the post-start execution of the Kubernetes container.', 'type' => 'string', 'title' => '', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'Readiness' => ['description' => 'The information about the readiness probe of the Kubernetes container.', 'type' => 'string', 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}'], + 'AhasEnabled' => ['description' => 'Indicates whether the application is connected to AHAS.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'K8sCmdArgs' => ['description' => 'The parameters of the startup command.', 'type' => 'string', 'title' => '', 'example' => '-lh'], + 'Liveness' => ['description' => 'The information about the liveness probe of the Kubernetes container.', 'type' => 'string', 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + 'DeployAcrossNodes' => ['description' => 'Indicates whether to distribute application instances across multiple nodes:'."\n" + ."\n" + .'- `true`: The application instances are distributed across multiple nodes.'."\n" + ."\n" + .'- Other values: The application instances are not distributed across multiple nodes.', 'type' => 'string', 'title' => '', 'example' => 'true'], + 'K8sCmd' => ['description' => 'The startup command.', 'type' => 'string', 'title' => '', 'example' => 'ls'], + 'PreStop' => ['description' => 'The information about the pre-stop execution of the Kubernetes container.', 'type' => 'string', 'title' => '', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'DeployAcrossZones' => ['description' => 'Indicates whether to distribute application instances across multiple zones:'."\n" + ."\n" + .'- `true`: The application instances are distributed across multiple zones.'."\n" + ."\n" + .'- Other values: The application instances are not distributed across multiple zones.', 'type' => 'string', 'title' => '', 'example' => 'true'], + 'JarStartArgs' => ['description' => 'The startup parameters of the JAR package. This parameter is deprecated.', 'type' => 'string', 'title' => '', 'example' => '-lh'], + 'K8sNasInfo' => ['description' => 'The NAS storage information.', 'type' => 'string', 'title' => '', 'example' => '[{"nasPath":"/mnt/","mountPath":"/mnt/"}]'], + 'JarStartOptions' => ['description' => 'The startup options of the JAR package. This parameter is deprecated.', 'type' => 'string', 'title' => '', 'example' => '-h'], + 'RuntimeClassName' => ['description' => 'The pod runtime class. This parameter is applicable only to clusters that use sandboxed containers.', 'type' => 'string', 'title' => '', 'example' => 'runc'], + 'K8sLocalvolumeInfo' => ['description' => 'The local storage information.', 'type' => 'string', 'title' => '', 'example' => '[{"type":"","nodePath":"/mnt/","mountPath":"/mnt/"}]'], + 'K8sVolumeInfo' => ['description' => 'The storage information.', 'type' => 'string', 'title' => '', 'example' => '"{\\"hostPaths\\":\\"[]\\",\\"emptyDirs\\":\\"[]\\"}"'], + 'Affinity' => ['description' => 'The pod affinity configuration.', 'type' => 'string', 'title' => '', 'example' => '"{\\"nodeAffinity\\":{\\"requiredDuringSchedulingIgnoredDuringExecution\\":{\\"nodeSelectorTerms\\":[{\\"matchExpressions\\":[{\\"key\\":\\"beta.kubernetes.io/arch\\",\\"operator\\":\\"NotIn\\",\\"values\\":[\\"arm64\\",\\"arm32\\"]}]}]},\\"preferredDuringSchedulingIgnoredDuringExecution\\":[{\\"weight\\":5,\\"preference\\":{\\"matchExpressions\\":[{\\"key\\":\\"kubernetes.io/os\\",\\"operator\\":\\"In\\",\\"values\\":[\\"linux\\"]}]}}]},\\"podAffinity\\":{\\"requiredDuringSchedulingIgnoredDuringExecution\\":[{\\"labelSelector\\":{\\"matchExpressions\\":[{\\"key\\":\\"edas.oam.acname\\",\\"operator\\":\\"NotIn\\",\\"values\\":[\\"edas-test-app\\"]}]},\\"namespaces\\":[\\"default\\"],\\"topologyKey\\":\\"kubernetes.io/hostname\\"}]},\\"podAntiAffinity\\":{\\"preferredDuringSchedulingIgnoredDuringExecution\\":[{\\"weight\\":15,\\"podAffinityTerm\\":{\\"labelSelector\\":{\\"matchExpressions\\":[{\\"key\\":\\"edas.oam.acname\\",\\"operator\\":\\"In\\",\\"values\\":[\\"edas-test-app-2\\"]}]},\\"namespaces\\":[\\"default\\"],\\"topologyKey\\":\\"failure-domain.beta.kubernetes.io/zone\\"}}]}}"'], + 'Tolerations' => ['description' => 'The pod scheduling toleration configuration.', 'type' => 'string', 'title' => '', 'example' => '"[{\\"key\\":\\"edas-taint-key2\\",\\"operator\\":\\"Exists\\",\\"effect\\":\\"NoExecute\\",\\"tolerationSeconds\\":50},{\\"key\\":\\"edas-taint-key\\",\\"operator\\":\\"Equal\\",\\"value\\":\\"edas-taint-value\\",\\"effect\\":\\"PreferNoSchedule\\"}]"'], + 'UserBaseImageUrl' => ['description' => 'The URL of the base image. This parameter is configured when a custom OpenJDK runtime is used.', 'type' => 'string', 'title' => '', 'example' => 'openjdk:8u302'], + ], + 'title' => '', + 'example' => '', + ], + 'LatestVersion' => [ + 'description' => 'The information about the latest version.', + 'type' => 'object', + 'properties' => [ + 'Url' => ['description' => 'The URL of the deployment package. This parameter is required for applications that are deployed using a FatJar or WAR package.', 'type' => 'string', 'title' => '', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + 'WarUrl' => ['description' => 'The URL of the deployment package. This parameter is required for applications that are deployed using a FatJar or WAR package.', 'type' => 'string', 'title' => '', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + 'PackageVersion' => ['description' => 'The version number of the deployment package.', 'type' => 'string', 'title' => '', 'example' => '20200720'], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3FDE-DS9R-*********************\\",\\n \\"DeployGroupList\\": {\\n \\"DeployGroup\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-cige6******\\",\\n \\"Status\\": \\"2\\",\\n \\"CpuRequest\\": \\"1\\",\\n \\"UpdateTime\\": 1573627695779,\\n \\"MemoryRequest\\": \\"512\\",\\n \\"NameSpace\\": \\"ping****est\\",\\n \\"AppVersionId\\": \\"changeorder_a**_*******_**\\",\\n \\"CreateTime\\": 1573627695779,\\n \\"DeploymentName\\": \\"test\\",\\n \\"PreStop\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"PackageUrl\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar\\",\\n \\"PackageVersion\\": \\"E\\",\\n \\"BaseComponentMetaName\\": \\"k8s-sc-consumer-****\\",\\n \\"CsClusterId\\": \\"c66e65950db****cba92f17434df1****\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"LastUpdateTime\\": 1587888503825,\\n \\"Env\\": \\"497806cb-****-6a7\\",\\n \\"CpuLimit\\": \\"400\\",\\n \\"GroupType\\": 1,\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\",\\n \\"PostStart\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"Labels\\": \\"test\\",\\n \\"MemoryLimit\\": \\"0\\",\\n \\"Strategy\\": \\"RollingUpdate\\",\\n \\"Selector\\": \\"53dd85cc-25b4-4d0e-****-6bf5465****4\\",\\n \\"GroupId\\": \\"577f4c50-16ee-43d8-****-************\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"ClusterName\\": \\"doc-test\\",\\n \\"PackageVersionId\\": \\"a7d48fe8-ad8f-****-89bd-74cc1ee6****\\",\\n \\"Reversion\\": \\"2\\",\\n \\"VExtServerGroupId\\": \\"rsp-cige6******\\",\\n \\"PackagePublicUrl\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar\\",\\n \\"EphemeralStorageRequest\\": \\"4\\",\\n \\"EphemeralStorageLimit\\": \\"8\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DeployGroupList>\\n <DeployGroup>\\n <GroupName>_DEFAULT_GROUP</GroupName>\\n <MemoryRequest>512</MemoryRequest>\\n <NameSpace>ping****est</NameSpace>\\n <AppVersionId>“”</AppVersionId>\\n <Env>497806cb-****-6a7</Env>\\n <CsClusterId>c66e65950db****cba92f17434df1****</CsClusterId>\\n <PackageVersion>E</PackageVersion>\\n <Reversion>2</Reversion>\\n <PreStop>\\"\\"</PreStop>\\n <LastUpdateTime>1587888503825</LastUpdateTime>\\n <ClusterName>doc-test</ClusterName>\\n <Selector>53dd85cc-25b4-4d0e-****-6bf5465****4</Selector>\\n <Status>2</Status>\\n <DeploymentName>test</DeploymentName>\\n <CpuLimit>400</CpuLimit>\\n <ClusterId>0d247b93-8d62-4e34-****-************</ClusterId>\\n <CreateTime>1573627695779</CreateTime>\\n <PostStart>\\"\\"</PostStart>\\n <Labels>test</Labels>\\n <PackageVersionId>“”</PackageVersionId>\\n <BaseComponentMetaName>k8s-sc-consumer-****</BaseComponentMetaName>\\n <GroupId>577f4c50-16ee-43d8-****-************</GroupId>\\n <MemoryLimit>0</MemoryLimit>\\n <AppId>3616cdca-4f92-4413-****-************</AppId>\\n <GroupType>1</GroupType>\\n <UpdateTime>1573627695779</UpdateTime>\\n <PackageUrl>http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar</PackageUrl>\\n <Strategy>RollingUpdate</Strategy>\\n <CpuRequest>1</CpuRequest>\\n <PackagePublicUrl>http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar</PackagePublicUrl>\\n </DeployGroup>\\n</DeployGroupList>\\n<Message>sucess</Message>\\n<RequestId>3FDE-DS9R-*********************</RequestId>\\n<Code>200</Code>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"Applcation\\": {\\n \\"AppId\\": \\"a5281053-****-47a5-b2ab-5c0323de****\\",\\n \\"DeployGroups\\": {\\n \\"DeployGroup\\": [\\n {\\n \\"Components\\": {\\n \\"Components\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"Open JDK 8\\",\\n \\"ComponentId\\": \\"5\\"\\n }\\n ]\\n },\\n \\"Env\\": \\"\\\\\\"[\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"valueFrom\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"configMapKeyRef\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-demo-configmap\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"key1\\\\\\\\\\\\\\"}}}\\\\\\",\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"v2\\\\\\\\\\\\\\"}\\\\\\",\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"s1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"valueFrom\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"secretKeyRef\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-demo-secret\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k1\\\\\\\\\\\\\\"}}}\\\\\\"]\\\\\\"\\",\\n \\"EnvFrom\\": \\"[{\\\\\\"configMapRef\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"test-cm\\\\\\"}}]\\"\\n }\\n ]\\n },\\n \\"ImageInfo\\": {\\n \\"RepoId\\": \\"cn-hangzhou\\",\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282\\",\\n \\"RepoOriginType\\": \\"ALI_HUB\\",\\n \\"Tag\\": \\"5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282\\",\\n \\"RepoName\\": \\"131****067006888_shared_repo\\",\\n \\"RepoNamespace\\": \\"edas-server****-user\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"App\\": {\\n \\"RequestMem\\": 1024,\\n \\"InstancesBeforeScaling\\": 10,\\n \\"DeployType\\": \\"Image\\",\\n \\"ApplicationName\\": \\"test\\",\\n \\"ApplicationType\\": \\"War\\",\\n \\"Instances\\": 4,\\n \\"LimitMem\\": 1024,\\n \\"Cmd\\": \\"ls\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BuildpackId\\": 57,\\n \\"TomcatVersion\\": \\"8.5.55\\",\\n \\"CsClusterId\\": \\"c383bc813c1974e****451b50c0c8****\\",\\n \\"RequestCpuM\\": 1000,\\n \\"AppId\\": \\"00ee517d-dd7d-4d4e-****-****\\",\\n \\"K8sNamespace\\": \\"default\\",\\n \\"EdasContainerVersion\\": \\"3.60.0\\",\\n \\"LimitCpuM\\": 1000,\\n \\"ClusterId\\": \\"c37aec2a-bcca-4ec1-****-****\\",\\n \\"EnvList\\": {\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"CATALINA_OPTS\\",\\n \\"Value\\": \\"-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)\\"\\n }\\n ]\\n },\\n \\"CmdArgs\\": {\\n \\"CmdArg\\": [\\n \\"-lh\\"\\n ]\\n },\\n \\"DevelopType\\": \\"General\\",\\n \\"SlbInfo\\": \\"[\\\\n {\\\\n \\\\\\"addressType\\\\\\": \\\\\\"intranet\\\\\\",\\\\n \\\\\\"externalTrafficPolicy\\\\\\": \\\\\\"Local\\\\\\",\\\\n \\\\\\"ip\\\\\\": \\\\\\"192.168.254.***\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"intranet-testapp\\\\\\",\\\\n \\\\\\"portMappings\\\\\\": [\\\\n {\\\\n \\\\\\"loadBalancerProtocol\\\\\\": \\\\\\"TCP\\\\\\",\\\\n \\\\\\"servicePort\\\\\\": {\\\\n \\\\\\"port\\\\\\": 8080,\\\\n \\\\\\"protocol\\\\\\": \\\\\\"TCP\\\\\\",\\\\n \\\\\\"targetPort\\\\\\": 18081,\\\\n \\\\\\"vServerGroupName\\\\\\": \\\\\\"k8s/31414/intranet-testapp/default/cc90e0c9508a44667bdae2e83d3******\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"scheduler\\\\\\": \\\\\\"rr\\\\\\",\\\\n \\\\\\"serviceType\\\\\\": \\\\\\"LoadBalancer\\\\\\",\\\\n \\\\\\"slbId\\\\\\": \\\\\\"lb-bp1ikoh3nrpgqsm******\\\\\\",\\\\n \\\\\\"source\\\\\\": \\\\\\"create\\\\\\",\\\\n \\\\\\"specification\\\\\\": \\\\\\"slb.s3.large\\\\\\"\\\\n }\\\\n]\\",\\n \\"Annotations\\": \\"{\\\\\\"test-annokey\\\\\\":\\\\\\"test-annovalue\\\\\\"}\\",\\n \\"Labels\\": \\"{\\\\\\"test-labelkey\\\\\\":\\\\\\"test-labelvalue\\\\\\"}\\",\\n \\"LimitEphemeralStorage\\": \\"4\\",\\n \\"RequestEphemeralStorage\\": \\"2\\",\\n \\"EnableEmptyPushReject\\": true,\\n \\"EnableLosslessRule\\": true,\\n \\"LosslessRuleAligned\\": true,\\n \\"LosslessRuleDelayTime\\": 120,\\n \\"LosslessRuleFuncType\\": 2,\\n \\"LosslessRuleRelated\\": true,\\n \\"LosslessRuleWarmupTime\\": 120,\\n \\"FeatureAnnotations\\": \\"base.combination.edas\\",\\n \\"WorkloadType\\": \\"Deployment\\",\\n \\"SecurityContext\\": \\"{\\\\\\\\\\\\\\"runAsUser\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"runAsGroup\\\\\\\\\\\\\\":0}\\"\\n },\\n \\"Conf\\": {\\n \\"PostStart\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"Readiness\\": \\"{\\\\\\"failureThreshold\\\\\\": 3,\\\\\\"initialDelaySeconds\\\\\\": 5,\\\\\\"successThreshold\\\\\\": 1,\\\\\\"timeoutSeconds\\\\\\": 1,\\\\\\"httpGet\\\\\\": {\\\\\\"path\\\\\\": \\\\\\"/consumer\\\\\\",\\\\\\"port\\\\\\": 8080,\\\\\\"scheme\\\\\\": \\\\\\"HTTP\\\\\\",\\\\\\"httpHeaders\\\\\\": \\\\\\\\[{\\\\\\"name\\\\\\": \\\\\\"test\\\\\\",\\\\\\"value\\\\\\": \\\\\\"testvalue\\\\\\"}\\\\\\\\]}}\\",\\n \\"AhasEnabled\\": true,\\n \\"K8sCmdArgs\\": \\"-lh\\",\\n \\"Liveness\\": \\"{\\\\\\"failureThreshold\\\\\\": 3,\\\\\\"initialDelaySeconds\\\\\\": 5,\\\\\\"successThreshold\\\\\\": 1,\\\\\\"timeoutSeconds\\\\\\": 1,\\\\\\"tcpSocket\\\\\\":{\\\\\\"host\\\\\\":\\\\\\"\\\\\\", \\\\\\"port\\\\\\":8080}}\\",\\n \\"DeployAcrossNodes\\": \\"true\\",\\n \\"K8sCmd\\": \\"ls\\",\\n \\"PreStop\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"DeployAcrossZones\\": \\"true\\",\\n \\"JarStartArgs\\": \\"-lh\\",\\n \\"K8sNasInfo\\": \\"[{\\\\\\"nasPath\\\\\\":\\\\\\"/mnt/\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/mnt/\\\\\\"}]\\",\\n \\"JarStartOptions\\": \\"-h\\",\\n \\"RuntimeClassName\\": \\"runc\\",\\n \\"K8sLocalvolumeInfo\\": \\"[{\\\\\\"type\\\\\\":\\\\\\"\\\\\\",\\\\\\"nodePath\\\\\\":\\\\\\"/mnt/\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/mnt/\\\\\\"}]\\",\\n \\"K8sVolumeInfo\\": \\"\\\\\\"{\\\\\\\\\\\\\\"hostPaths\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"[]\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"emptyDirs\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"[]\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"Affinity\\": \\"\\\\\\"{\\\\\\\\\\\\\\"nodeAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"requiredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"nodeSelectorTerms\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"beta.kubernetes.io/arch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NotIn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"arm64\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"arm32\\\\\\\\\\\\\\"]}]}]},\\\\\\\\\\\\\\"preferredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"weight\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"preference\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"kubernetes.io/os\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"In\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"linux\\\\\\\\\\\\\\"]}]}}]},\\\\\\\\\\\\\\"podAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"requiredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"labelSelector\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas.oam.acname\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NotIn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"edas-test-app\\\\\\\\\\\\\\"]}]},\\\\\\\\\\\\\\"namespaces\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"topologyKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"kubernetes.io/hostname\\\\\\\\\\\\\\"}]},\\\\\\\\\\\\\\"podAntiAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"preferredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"weight\\\\\\\\\\\\\\":15,\\\\\\\\\\\\\\"podAffinityTerm\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"labelSelector\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas.oam.acname\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"In\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"edas-test-app-2\\\\\\\\\\\\\\"]}]},\\\\\\\\\\\\\\"namespaces\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"topologyKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"failure-domain.beta.kubernetes.io/zone\\\\\\\\\\\\\\"}}]}}\\\\\\"\\",\\n \\"Tolerations\\": \\"\\\\\\"[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-key2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Exists\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"effect\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NoExecute\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"tolerationSeconds\\\\\\\\\\\\\\":50},{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-key\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Equal\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-value\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"effect\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PreferNoSchedule\\\\\\\\\\\\\\"}]\\\\\\"\\",\\n \\"UserBaseImageUrl\\": \\"openjdk:8u302\\"\\n },\\n \\"LatestVersion\\": {\\n \\"Url\\": \\"https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar\\",\\n \\"WarUrl\\": \\"https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar\\",\\n \\"PackageVersion\\": \\"20200720\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetK8sApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListHistoryDeployVersion' => [ - 'path' => '/pop/v5/app/deploy_history_version_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + ], + 'GetK8sCluster' => [ + 'path' => '/pop/v5/k8s_clusters', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8420,129 +6001,197 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionTag', + 'in' => 'query', + 'schema' => ['description' => 'The region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', + 'description' => 'The number of the page to return for a paged query. The default value is 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '9999', 'minimum' => '0', 'isFileTransferUrl' => false, 'default' => '0', 'example' => '1', + 'title' => '', ], ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page for a paged query. The default value is 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '9999', 'minimum' => '1', 'isFileTransferUrl' => false, 'default' => '20', 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'ClusterType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the Kubernetes cluster:'."\n" + ."\n" + .'- 5: an ACK cluster.'."\n" + ."\n" + .'- 7: a self-managed Kubernetes cluster.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '99', 'minimum' => '0', 'default' => '5', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'SubClusterType', + 'in' => 'query', + 'schema' => ['description' => 'The subtype of the cluster:'."\n" + ."\n" + .'- Ask: an ASK cluster.'."\n" + ."\n" + .'- ManagedKubernetes: an ACK cluster.', 'type' => 'string', 'required' => false, 'example' => 'Ask', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response from the call.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'PackageVersionList' => [ + 'Code' => ['description' => 'The status of the call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C3CE915C-0C83-4AA5-8D66-E8BEED62939E', 'title' => ''], + 'ClusterPage' => [ + 'description' => 'The paginated list of clusters.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'PackageVersion' => [ - 'description' => 'The information about historical deployment packages.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The deployment mode of the application. Valid values:'."\n" - ."\n" - .'* url: The application is deployed by using a JAR or WAR package.'."\n" - .'* image: The application is deployed by using an image.'."\n", - 'type' => 'string', - 'example' => 'url', - ], - 'PublicUrl' => [ - 'description' => 'The URL of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', - ], - 'UpdateTime' => [ - 'description' => 'The time when the deployment package was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627440892', - ], - 'Description' => [ - 'description' => 'The description of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'deploy', - ], - 'CreateTime' => [ - 'description' => 'The time when the deployment package was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627440892', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'WarUrl' => [ - 'description' => 'The URL of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', - ], - 'Id' => [ - 'description' => 'The unique ID of the deployment package.'."\n", - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'PackageVersion' => [ - 'description' => 'The version of the application that was released by using the deployment package. This version can be used to call the RollbackApplication operation.'."\n", - 'type' => 'string', - 'example' => '1.0', + 'CurrentPage' => ['description' => 'The number of the returned page. The default value is 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page. The default value is 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ClusterList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cluster' => [ + 'description' => 'The list of clusters.', + 'type' => 'array', + 'items' => [ + 'description' => 'A cluster object.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-**z1mlwpbjx3e9m**', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp1uf97****xjxgip****', 'title' => ''], + 'SubNetCidr' => ['description' => 'The CIDR block of the subnet.', 'type' => 'string', 'example' => '172.20.0.0/16', 'title' => ''], + 'Mem' => ['description' => 'The total amount of memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CsClusterStatus' => ['description' => 'The running status of the container cluster:'."\n" + ."\n" + .'- initial: The cluster is being initialized.'."\n" + ."\n" + .'- failed: The cluster failed to be created.'."\n" + ."\n" + .'- running: The cluster is running.'."\n" + ."\n" + .'- updating: The cluster is being updated.'."\n" + ."\n" + .'- scaling: The cluster is being scaled out.'."\n" + ."\n" + .'- removing: Nodes are being removed from the cluster.'."\n" + ."\n" + .'- upgrading: The cluster is being upgraded.'."\n" + ."\n" + .'- deleting: The cluster is being deleted.'."\n" + ."\n" + .'- delete\\_failed: The cluster failed to be deleted.'."\n" + ."\n" + .'- deleted: The cluster is deleted. This status is not visible to users.', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'NetworkMode' => ['description' => 'The network type:'."\n" + ."\n" + .'- 1: classic network.'."\n" + ."\n" + .'- 2: VPC.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CsClusterId' => ['description' => 'The ID of the Container Service cluster.', 'type' => 'string', 'example' => '2ce62869f4d4466b920312315f05****', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster:'."\n" + ."\n" + .'- 2: ECS cluster.'."\n" + ."\n" + .'- 5: ACK cluster or ASK cluster.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'NodeNum' => ['description' => 'The number of nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '81453e4b-4df0-4592-****-b835a2ee****', 'title' => ''], + 'ClusterImportStatus' => ['description' => 'The import status of the cluster:'."\n" + ."\n" + .'- 0: The cluster is not imported.'."\n" + ."\n" + .'- 1: The cluster is imported.'."\n" + ."\n" + .'- 2: The cluster failed to be imported.'."\n" + ."\n" + .'- 3: The cluster is being imported.'."\n" + ."\n" + .'- 4: The cluster is deleted.', 'type' => 'integer', 'title' => '', 'format' => 'int32', 'example' => '1'], + 'SubClusterType' => ['description' => 'The subtype of the cluster:'."\n" + ."\n" + .'- Ask: an ASK cluster.'."\n" + ."\n" + .'- ManagedKubernetes: an ACK cluster.', 'type' => 'string', 'example' => 'Ask', 'title' => ''], + 'ClusterStatus' => ['description' => 'The running status of the cluster:'."\n" + ."\n" + .'- 1: Normal.'."\n" + ."\n" + .'- 2: Abnormal.'."\n" + ."\n" + .'- 3: Offline.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"PackageVersionList\\": {\\n \\"PackageVersion\\": [\\n {\\n \\"Type\\": \\"url\\",\\n \\"PublicUrl\\": \\"http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar\\",\\n \\"UpdateTime\\": 1573627440892,\\n \\"Description\\": \\"deploy\\",\\n \\"CreateTime\\": 1573627440892,\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"WarUrl\\": \\"http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar\\",\\n \\"Id\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"PackageVersion\\": \\"1.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<PackageVersionList>\\n <PackageVersion>\\n <Type>url</Type>\\n <Description>deploy</Description>\\n <AppId>3616cdca-4f92-4413-****-************</AppId>\\n <PublicUrl>http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar</PublicUrl>\\n <WarUrl>http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar</WarUrl>\\n <CreateTime>1573627440892</CreateTime>\\n <UpdateTime>1573627440892</UpdateTime>\\n <Id>441beb18-da42-44dc-****-************</Id>\\n <PackageVersion>1.0</PackageVersion>\\n </PackageVersion>\\n</PackageVersionList>\\n<RequestId>D16979DC-4D42-************</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListHistoryDeployVersion', - 'summary' => 'Queries historical deployment packages of an application.', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'GetK8sCluster', + 'summary' => 'Gets a list of Container Service for Kubernetes (ACK) clusters or Serverless Kubernetes (ASK) clusters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListRecentChangeOrder' => [ - 'path' => '/pop/v5/changeorder/change_order_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetK8sCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"C3CE915C-0C83-4AA5-8D66-E8BEED62939E\\",\\n \\"ClusterPage\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 5,\\n \\"ClusterList\\": {\\n \\"Cluster\\": [\\n {\\n \\"VpcId\\": \\"vpc-**z1mlwpbjx3e9m**\\",\\n \\"VswitchId\\": \\"vsw-bp1uf97****xjxgip****\\",\\n \\"SubNetCidr\\": \\"172.20.0.0/16\\",\\n \\"Mem\\": 2048,\\n \\"RegionId\\": \\"test\\",\\n \\"CsClusterStatus\\": \\"running\\",\\n \\"Cpu\\": 4,\\n \\"NetworkMode\\": 2,\\n \\"CsClusterId\\": \\"2ce62869f4d4466b920312315f05****\\",\\n \\"Description\\": \\"test\\",\\n \\"ClusterType\\": 5,\\n \\"ClusterName\\": \\"test\\",\\n \\"NodeNum\\": 4,\\n \\"ClusterId\\": \\"81453e4b-4df0-4592-****-b835a2ee****\\",\\n \\"ClusterImportStatus\\": 1,\\n \\"SubClusterType\\": \\"Ask\\",\\n \\"ClusterStatus\\": 1\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'GetK8sServices' => [ + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8550,166 +6199,100 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'ChangeOrderList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ChangeOrder' => [ - 'description' => 'The information about change processes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the change process. Valid values:'."\n" - ."\n" - .'* 0: ready to start execution'."\n" - .'* 1: in progress'."\n" - .'* 2: successful'."\n" - .'* 3: failed'."\n" - .'* 6: terminated'."\n" - .'* 8: waiting for manual confirmation (You can see the state when you manually confirm the execution of the next batch of the change.)'."\n" - .'* 9: waiting for automatic execution'."\n" - .'* 10: failed due to a system error'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FinishTime' => [ - 'description' => 'The time when the change process ended.'."\n", - 'type' => 'string', - 'example' => '2019-11-13 14:24:02', - ], - 'CreateTime' => [ - 'description' => 'The time when the change process was created.'."\n", - 'type' => 'string', - 'example' => '2019-11-13 14:23:46', - ], - 'UserId' => [ - 'description' => 'The ID of the user who created the change process.'."\n", - 'type' => 'string', - 'example' => '1432536****', - ], - 'ChangeOrderDescription' => [ - 'description' => 'The description of the change process.'."\n", - 'type' => 'string', - 'example' => 'Version: 2020-05-14 20:02:33 | Deployment Package: hsf-pandora-boot-provider-1.0.jar | Deploy to: all groups'."\n", - ], - 'Source' => [ - 'description' => 'The source of the change. Valid values:'."\n" - ."\n" - .'* console: the Enterprise Distributed Application Service (EDAS) console'."\n" - .'* pop: the POP API or tool'."\n", - 'type' => 'string', - 'example' => 'pop', - ], - 'BatchCount' => [ - 'description' => 'The number of batches for the change. Valid values: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateUserId' => [ - 'description' => 'The user who created the change process.'."\n", - 'type' => 'string', - 'example' => 'edas_test1@aliyun-test.com', - ], - 'CoTypeCode' => [ - 'description' => 'The type of the change process.'."\n", - 'type' => 'string', - 'example' => 'CoDeploy', - ], - 'ChangeOrderId' => [ - 'description' => 'The unique ID of the change process.'."\n", - 'type' => 'string', - 'example' => '1074f3e2-e974-4a0e-****-************', - ], - 'BatchType' => [ - 'description' => 'The way in which the next batch is triggered during a phased release. Valid values:'."\n" - ."\n" - .'* Automatic'."\n" - .'* Manual'."\n", - 'type' => 'string', - 'example' => 'Automatic', - ], - 'GroupId' => [ - 'description' => 'The ID of the application instance group on which the change was performed.'."\n", - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'CoType' => [ - 'description' => 'The type of the change process.'."\n", - 'type' => 'string', - 'example' => 'Application Scale Out', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '4823-bhjf-23u4-eiufh'], + 'Services' => [ + 'description' => 'The list of Kubernetes Services.', + 'type' => 'array', + 'items' => [ + 'description' => 'A Kubernetes Service object.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The service type.', 'type' => 'string', 'title' => '', 'example' => 'ClusterIP'], + 'Name' => ['description' => 'The service name.', 'type' => 'string', 'title' => '', 'example' => 'service-http'], + 'ClusterIP' => ['description' => 'The IP address of the Kubernetes Service.', 'type' => 'string', 'title' => '', 'example' => '104.23.xx.xx'], + 'ServicePorts' => [ + 'description' => 'The list of port mappings.', + 'type' => 'array', + 'items' => [ + 'description' => 'A port mapping object.', + 'type' => 'object', + 'properties' => [ + 'TargetPort' => ['description' => 'The backend container port.', 'type' => 'string', 'title' => '', 'example' => '8080'], + 'NodePort' => ['description' => 'The node port.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Port' => ['description' => 'The frontend service port.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '80'], + 'Protocol' => ['description' => 'The service protocol.', 'type' => 'string', 'title' => '', 'example' => 'TCP'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"ChangeOrderList\\": {\\n \\"ChangeOrder\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-11-13 14:24:02\\",\\n \\"CreateTime\\": \\"2019-11-13 14:23:46\\",\\n \\"UserId\\": \\"1432536****\\",\\n \\"ChangeOrderDescription\\": \\"版本:2020-05-14 20:02:33 | 包名:hsf-pandora-boot-provider-1.0.jar | 部署目标:所有分组\\",\\n \\"Source\\": \\"pop\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"edas_test1@aliyun-test.com\\",\\n \\"CoTypeCode\\": \\"CoDeploy\\",\\n \\"ChangeOrderId\\": \\"1074f3e2-e974-4a0e-****-************\\",\\n \\"BatchType\\": \\"Automatic\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"CoType\\": \\"Application Scale Out\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ChangeOrderList>\\n <ChangeOrder>\\n <Status>2</Status>\\n <BatchCount>1</BatchCount>\\n <FinishTime>2019-11-13 14:24:02</FinishTime>\\n <CreateTime>2019-11-13 14:23:46</CreateTime>\\n <BatchType>Automatic</BatchType>\\n <CoType>Application Scale Out</CoType>\\n <AppId>3616cdca-4f92-4413-****-************</AppId>\\n <ChangeOrderId>1074f3e2-e974-4a0e-****-************</ChangeOrderId>\\n <GroupId>8123db90-880f-486f-****-************</GroupId>\\n </ChangeOrder>\\n</ChangeOrderList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListRecentChangeOrder', - 'summary' => 'Queries the change processes of an application.', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'staticInfo' => [], + 'title' => 'GetK8sServices', + 'summary' => 'Gets a list of Services for an application in a Kubernetes cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListBuildPack' => [ - 'summary' => 'Queries Enterprise Distributed Application Service (EDAS) Container versions.', - 'path' => '/pop/v5/app/build_pack_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sServices'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"Services\\": [\\n {\\n \\"Type\\": \\"ClusterIP\\",\\n \\"Name\\": \\"service-http\\",\\n \\"ClusterIP\\": \\"104.23.xx.xx\\",\\n \\"ServicePorts\\": [\\n {\\n \\"TargetPort\\": \\"8080\\",\\n \\"NodePort\\": 0,\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetPackageStorageCredential' => [ + 'path' => '/pop/v5/package_storage_credential', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8717,398 +6300,264 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], + 'systemTags' => ['operationType' => 'get'], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4FD4-*************', - ], - 'BuildPackList' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'Credential' => [ + 'description' => 'The STS credential.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'BuildPack' => [ - 'description' => 'The returned versions of EDAS Container.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PandoraVersion' => [ - 'description' => 'The version of the Pandora container.'."\n", - 'type' => 'string', - 'example' => 'edas.public.sar.V3.5.6', - ], - 'ConfigId' => [ - 'description' => 'The build package number of EDAS Container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '57', - ], - 'Feature' => [ - 'description' => 'The features of the EDAS Container version, which are released for public preview.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'PandoraDesc' => [ - 'description' => 'The description of the Pandora container.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'PluginInfo' => [ - 'description' => 'The description of the plug-in.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Disabled' => [ - 'description' => 'Indicates whether the EDAS Container version is disabled. A disabled version cannot be configured for use.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'TengineDownloadUrl' => [ - 'description' => 'The download URL of the Tengine installer.'."\n", - 'type' => 'string', - 'example' => 'http://edas.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh', - ], - 'TomcatPath' => [ - 'description' => 'The directory of the Tomcat container.'."\n", - 'type' => 'string', - 'example' => 'taobao-tomcat-production-7.0.59.3', - ], - 'TomcatDesc' => [ - 'description' => 'The description of the Tomcat container.'."\n", - 'type' => 'string', - 'example' => '1\\. The config-client plug-in is updated. The issue of unread cache in multitenancy scenarios is fixed. 2. The High-Speed Service Framework (HSF) plug-in is updated to fix the issue that the qos command of the Pandora container cannot be executed and the issue that the service address cannot be found if the HSF plug-in subscribes to an excessive number of services. 3. The Fastjson package is updated to the sec06 secure version in all plug-ins that use this package.'."\n", - ], - 'SupportFeatures' => [ - 'description' => 'The features supported by EDAS Container.'."\n", - 'type' => 'string', - 'example' => 'tengine,fatjar,restful,eip_nodeport,dpath', - ], - 'TomcatDownloadUrl' => [ - 'description' => 'The download URL of the Tomcat installer.'."\n", - 'type' => 'string', - 'example' => 'http://edas.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz', - ], - 'TomcatVersion' => [ - 'description' => 'The version of the Tomcat container.'."\n", - 'type' => 'string', - 'example' => '8.5.63', - ], - 'PandoraDownloadUrl' => [ - 'description' => 'The download URL of the Pandora installer.'."\n", - 'type' => 'string', - 'example' => 'http://edas.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz', - ], - 'PackVersion' => [ - 'description' => 'The version of the application.'."\n", - 'type' => 'string', - 'example' => '3.5.6', - ], - 'MultipleTenant' => [ - 'description' => 'Indicates whether EDAS Container supports multitenancy.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'TengineImageId' => [ - 'description' => 'The ID of the Tengine image that corresponds to EDAS Container.'."\n", - 'type' => 'string', - 'example' => 'registry.aliyuncs.com/edas/****-*********-*****:*.*.*', - ], - 'WithTengine' => [ - 'description' => 'Indicates whether EDAS Container supports traffic management.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ImageId' => [ - 'description' => 'The ID of the base image that corresponds to EDAS Container.'."\n", - 'type' => 'string', - 'example' => 'registry.aliyuncs.com/ed**/****-*********:*.*.*', - ], - 'ScriptName' => [ - 'description' => 'The name of the Shell script that runs EDAS Container.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'ScriptVersion' => [ - 'description' => 'The version of the Shell script that runs EDAS Container.'."\n", - 'type' => 'string', - 'example' => '1.0.3', - ], - ], - ], - ], + 'KeyPrefix' => ['description' => 'The object key prefix in Object Storage Service (OSS).'."\n", 'type' => 'string', 'example' => 'release-pkg/117274586608****', 'title' => ''], + 'SecurityToken' => ['description' => 'The security token issued by STS.'."\n", 'type' => 'string', 'example' => '<yourSecurityToken>', 'title' => ''], + 'AccessKeySecret' => ['description' => 'The AccessKey secret of your account.'."\n", 'type' => 'string', 'example' => '<yourAccessKeySecret>', 'title' => ''], + 'Expiration' => ['description' => 'The time when the STS credential expires. Example: 2019-11-10T07:20:19Z.'."\n", 'type' => 'string', 'example' => '2019-11-10T07:20:19Z', 'title' => ''], + 'AccessKeyId' => ['description' => 'The AccessKey ID of your account.'."\n", 'type' => 'string', 'example' => '<yourAccessKeyId>', 'title' => ''], + 'Bucket' => ['description' => 'The name of the OSS bucket.'."\n", 'type' => 'string', 'example' => 'edas-bj', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'OssPublicEndpoint' => ['description' => 'The public endpoint of OSS.'."\n", 'type' => 'string', 'example' => 'oss-cn-beijing.aliyuncs.com', 'title' => ''], + 'OssInternalEndpoint' => ['description' => 'The private endpoint of OSS.'."\n", 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com', 'title' => ''], + 'OssVpcEndpoint' => ['description' => 'The VPC endpoint of OSS.'."\n", 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4FD4-*************\\",\\n \\"BuildPackList\\": {\\n \\"BuildPack\\": [\\n {\\n \\"PandoraVersion\\": \\"edas.public.sar.V3.5.6\\",\\n \\"ConfigId\\": 57,\\n \\"Feature\\": \\"“”\\",\\n \\"PandoraDesc\\": \\"test\\",\\n \\"PluginInfo\\": \\"1\\",\\n \\"Disabled\\": false,\\n \\"TengineDownloadUrl\\": \\"http://edas.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh\\",\\n \\"TomcatPath\\": \\"taobao-tomcat-production-7.0.59.3\\",\\n \\"TomcatDesc\\": \\"1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。\\",\\n \\"SupportFeatures\\": \\"tengine,fatjar,restful,eip_nodeport,dpath\\",\\n \\"TomcatDownloadUrl\\": \\"http://edas.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz\\",\\n \\"TomcatVersion\\": \\"8.5.63\\",\\n \\"PandoraDownloadUrl\\": \\"http://edas.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz\\",\\n \\"PackVersion\\": \\"3.5.6\\",\\n \\"MultipleTenant\\": true,\\n \\"TengineImageId\\": \\"registry.aliyuncs.com/edas/****-*********-*****:*.*.*\\",\\n \\"WithTengine\\": true,\\n \\"ImageId\\": \\"registry.aliyuncs.com/ed**/****-*********:*.*.*\\",\\n \\"ScriptName\\": \\"default\\",\\n \\"ScriptVersion\\": \\"1.0.3\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4FD4-*************</RequestId>\\n<Message>success</Message>\\n<BuildPackList>\\n <BuildPack>\\n <TomcatDesc>1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。</TomcatDesc>\\n <ScriptVersion>1.0.3</ScriptVersion>\\n <WithTengine>true</WithTengine>\\n <TomcatDownloadUrl>http://edas.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz</TomcatDownloadUrl>\\n <Feature>“”</Feature>\\n <PandoraVersion>edas.public.sar.V3.5.6</PandoraVersion>\\n <PackVersion>3.5.6</PackVersion>\\n <MultipleTenant>true</MultipleTenant>\\n <PandoraDownloadUrl>http://edas.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz</PandoraDownloadUrl>\\n <PandoraDesc>test</PandoraDesc>\\n <TomcatPath>taobao-tomcat-production-7.0.59.3</TomcatPath>\\n <ScriptName>default</ScriptName>\\n <ImageId>registry.aliyuncs.com/ed**/****-*********:*.*.*</ImageId>\\n <TengineDownloadUrl>http://edas.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh</TengineDownloadUrl>\\n <PluginInfo>1</PluginInfo>\\n <TomcatVersion>8.5.63</TomcatVersion>\\n <ConfigId>57</ConfigId>\\n <Disabled>false</Disabled>\\n <TengineImageId>registry.aliyuncs.com/edas/****-*********-*****:*.*.*</TengineImageId>\\n <SupportFeatures>tengine,fatjar,restful,eip_nodeport,dpath</SupportFeatures>\\n </BuildPack>\\n</BuildPackList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListBuildPack', - 'requestParamsDescription' => 'No request parameters.'."\n", + 'title' => 'GetPackageStorageCredential', + 'summary' => 'Queries the Security Token Service (STS) tokens that are required for temporary storage.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertOrUpdateRegion' => [ - 'summary' => 'Creates or edits a custom namespace.', - 'path' => '/pop/v5/user_region_def', - 'methods' => [ - 'post', + 'parameters' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPackageStorageCredential'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:GetPackageStorageCredential', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Credential\\": {\\n \\"KeyPrefix\\": \\"release-pkg/117274586608****\\",\\n \\"SecurityToken\\": \\"<yourSecurityToken>\\",\\n \\"AccessKeySecret\\": \\"<yourAccessKeySecret>\\",\\n \\"Expiration\\": \\"2019-11-10T07:20:19Z\\",\\n \\"AccessKeyId\\": \\"<yourAccessKeyId>\\",\\n \\"Bucket\\": \\"edas-bj\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"OssPublicEndpoint\\": \\"oss-cn-beijing.aliyuncs.com\\",\\n \\"OssInternalEndpoint\\": \\"oss-cn-beijing-internal.aliyuncs.com\\",\\n \\"OssVpcEndpoint\\": \\"oss-cn-beijing-internal.aliyuncs.com\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetPackageStorageCredentialResponse>\\n <Credential>\\n <KeyPrefix>release-pkg/117274586608****</KeyPrefix>\\n <AccessKeySecret>yourAccessKeySecret</AccessKeySecret>\\n <AccessKeyId>yourAccessKeyId</AccessKeyId>\\n <Expiration>2019-11-10T07:20:19Z</Expiration>\\n <SecurityToken>yourSecurityToken</SecurityToken>\\n <RegionId>cn-beijing</RegionId>\\n <Bucket>edas-bj</Bucket>\\n </Credential>\\n <Message>success</Message>\\n <Code>200</Code>\\n</GetPackageStorageCredentialResponse>","errorExample":""}]', + ], + 'GetScalingRules' => [ + 'path' => '/pop/v5/app/scalingRules', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionTag', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `Region ID:Namespace identifier` format. Example: cn-beijing:tdy218.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'RegionName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the namespace. The name can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test_region', - ], - ], - [ - 'name' => 'Description', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the namespace. The description can be up to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '33e39be9-3e5f-*********', 'title' => ''], ], [ - 'name' => 'Id', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create or modify the namespace. If this parameter is left empty or is set to 0, the namespace is created. Otherwise, the namespace is modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the instance group to which the application is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd8bb9d60-9**************', 'title' => ''], ], [ - 'name' => 'DebugEnable', + 'name' => 'Mode', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to enable remote debugging. Valid values:'."\n" + 'description' => 'The type of the scaling rule. You can leave this parameter empty. Valid values:'."\n" ."\n" - .'* true: enables remote debugging.'."\n" - .'* false: disables remote debugging.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'RegistryType', - 'in' => 'query', - 'schema' => [ - 'title' => '注册中心类型:'."\n" - .'- default,EDAS共享注册中心'."\n" - .'- exclusive_mse,MSE Nacos注册中心', - 'description' => 'The type of the registry.'."\n" + .'- SCALE\\_IN: scale-in rules'."\n" ."\n" - .'* default: the shared registry of Enterprise Distributed Application Service (EDAS)'."\n" - .'* exclusive_mse: a Microservices Engine (MSE) registry'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'MseInstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => 'MSE注册中心实例ID', - 'description' => 'The ID of the MSE registry.'."\n", + .'- SCALE\\_OUT: scale-out rules', 'type' => 'string', 'required' => false, - 'example' => 'mse_prepaid_public_cn-tl32n******', + 'enum' => ['SCALE_IN', 'SCALE_OUT'], + 'example' => ' SCALE_IN', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '37793352-C568-4A5A-BF69-4DC853******', - ], - 'UserDefineRegionEntity' => [ - 'description' => 'The information about the custom namespace.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the scaling rule was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-***********', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', 'type' => 'object', 'properties' => [ - 'BelongRegion' => [ - 'description' => 'The ID of the region to which the namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RegionName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test_region', - ], - 'Description' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'Logical region'."\n", - ], - 'DebugEnable' => [ - 'description' => 'Indicates whether remote debugging is enabled. Valid values:'."\n" - ."\n" - .'* true: Remote debugging is enabled.'."\n" - .'* false: Remote debugging is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the custom namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'Id' => [ - 'description' => 'Indicates whether the namespace is created or modified. If this parameter is left empty or 0 is returned, the namespace is created. Otherwise, the namespace is modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15160', - ], - 'RegionId' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'* The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:tdy218.'."\n" - .'* The ID of the default namespace is in the `region ID` format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', + 'OversoldFactor' => ['description' => 'The overcommit ratio supported by a Docker cluster. Valid values:'."\n" + ."\n" + .'- 1: 1:1, which means that resources are not overcommitted.'."\n" + ."\n" + .'- 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" + ."\n" + .'- 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" + ."\n" + .'- 8: 1:8, which means that resources are overcommitted by 1:8.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-wz9b246z******', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the scaling rule was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'- 0: regular Docker cluster'."\n" + ."\n" + .'- 1: Swarm cluster (deprecated)'."\n" + ."\n" + .'- 2: Elastic Compute Service (ECS) cluster'."\n" + ."\n" + .'- 3: self-managed Kubernetes cluster in EDAS'."\n" + ."\n" + .'- 4: cluster in which Pandora automatically registers applications'."\n" + ."\n" + .'- 5: Container Service for Kubernetes (ACK) clusters', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'RuleList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => 'The array data of the scaling rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'The object data of the scaling rule.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-wz9b246z******', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the scaling rule was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the scaling rule was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601801', 'title' => ''], + 'Rt' => ['description' => 'The service latency that triggers the scaling rule. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SpecId' => ['description' => 'The ID of the specification.', 'type' => 'string', 'example' => '03f493c0-xxxx-xxxx-xxxx-12e85cadeb41', 'title' => ''], + 'MultiAzPolicy' => ['description' => 'The policy of auto scaling across multiple zones. Valid values:'."\n" + ."\n" + .'- PRIORITY: The vSwitch that is first selected has the highest priority.'."\n" + ."\n" + .'- BALANCE: This policy evenly distributes instances across zones in which the vSwitches reside.', 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'ResourceFrom' => ['description' => 'The source of the instance that you want to add during a scale-out. Valid values:'."\n" + ."\n" + .'- NEW: Elastic resources are used.'."\n" + ."\n" + .'- AVAILABLE: The existing resources are used.'."\n" + ."\n" + .'- AVAILABLE\\_FIRST: The existing resources are used first.', 'type' => 'string', 'example' => 'AVAILABLE', 'title' => ''], + 'Mode' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SCALE\\_IN: scale-in rules'."\n" + ."\n" + .'- SCALE\\_OUT: scale-out rules', 'type' => 'string', 'example' => 'SCALE_OUT', 'title' => ''], + 'LoadNum' => ['description' => 'The system load that triggers the scaling rule. The system load is evaluated based on the number of processes that are being executed by CPUs and the number of processes that wait to be executed by CPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'integer', 'format' => 'int32', 'example' => '1143542', 'title' => ''], + 'Step' => ['description' => 'The number of instances that are added during each scale-out or removed during each scale-in.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Cond' => ['description' => 'The relationship among the conditions that trigger the scaling rule.'."\n" + ."\n" + .'- OR: one of the conditions'."\n" + ."\n" + .'- AND: all conditions', 'type' => 'string', 'example' => 'OR', 'title' => ''], + 'Cpu' => ['description' => 'The minimum CPU utilization that triggers the scaling rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the instance group to which the application is deployed.', 'type' => 'string', 'example' => 'd8bb9d60-91b5-4cdf-****-************', 'title' => ''], + 'InstNum' => ['description' => 'The maximum number of instances in the group when a scale-out is performed, or the minimum number of instances in the group when a scale-in is performed.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '33e39be9-3e5f-*********', 'title' => ''], + 'Duration' => ['description' => 'The duration of the scaling rule. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int32', 'example' => '1574251601', 'title' => ''], + 'VSwitchIds' => ['description' => 'The IDs of the vSwitches. The IDs of multiple vSwitches are separated by commas (,).', 'type' => 'string', 'example' => 'vsw-mxxxxkxxxx4xxxxwbionj', 'title' => ''], + 'MetricType' => ['description' => 'The type of the metric.', 'type' => 'string', 'example' => 'HSF', 'title' => ''], + 'TemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-bp1xxxxn73pxxxxf83l', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether scale-ins or scale-outs are allowed. Valid values:'."\n" + ."\n" + .'- true: Scale-ins or scale-outs are allowed.'."\n" + ."\n" + .'- false: Scale-ins or scale-outs are disallowed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"37793352-C568-4A5A-BF69-4DC853******\\",\\n \\"UserDefineRegionEntity\\": {\\n \\"BelongRegion\\": \\"cn-beijing\\",\\n \\"RegionName\\": \\"test_region\\",\\n \\"Description\\": \\"逻辑Region\\",\\n \\"DebugEnable\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"Id\\": 15160,\\n \\"RegionId\\": \\"cn-beijing:test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>37793352-C568-4A5A-BF69-4DC8539D2E20</RequestId>\\n<UserDefineRegionEntity>\\n <RegionName>doctest</RegionName>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <DebugEnable>false</DebugEnable>\\n <Id>15160</Id>\\n <RegionId>cn-beijing:doctest</RegionId>\\n <BelongRegion>cn-beijing</BelongRegion>\\n</UserDefineRegionEntity>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'InsertOrUpdateRegion', + 'title' => 'GetScalingRules', + 'summary' => 'Queries scaling rules.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SwitchAdvancedMonitoring' => [ - 'summary' => 'Queries the status of the advanced application monitoring feature or configures this feature for an application that is deployed in an Elastic Compute Service (ECS) or Kubernetes cluster.', - 'path' => '/pop/v5/monitor/advancedMonitorInfo', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetScalingRules'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"RequestId\\": \\"D16979DC-4D42-***********\\",\\n \\"Data\\": {\\n \\"OversoldFactor\\": 1,\\n \\"VpcId\\": \\"vpc-wz9b246z******\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"ClusterType\\": 2,\\n \\"RuleList\\": {\\n \\"Rule\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246z******\\",\\n \\"UpdateTime\\": 1574251601785,\\n \\"CreateTime\\": 1574251601801,\\n \\"Rt\\": 1,\\n \\"SpecId\\": \\"03f493c0-xxxx-xxxx-xxxx-12e85cadeb41\\",\\n \\"MultiAzPolicy\\": \\"PRIORITY\\",\\n \\"ResourceFrom\\": \\"AVAILABLE\\",\\n \\"Mode\\": \\"SCALE_OUT\\",\\n \\"LoadNum\\": 1,\\n \\"TemplateVersion\\": 1143542,\\n \\"Step\\": 1,\\n \\"Cond\\": \\"OR\\",\\n \\"Cpu\\": 1,\\n \\"GroupId\\": \\"d8bb9d60-91b5-4cdf-****-************\\",\\n \\"InstNum\\": 2,\\n \\"AppId\\": \\"33e39be9-3e5f-*********\\",\\n \\"Duration\\": 1574251601,\\n \\"VSwitchIds\\": \\"vsw-mxxxxkxxxx4xxxxwbionj\\",\\n \\"MetricType\\": \\"HSF\\",\\n \\"TemplateId\\": \\"lt-bp1xxxxn73pxxxxf83l\\",\\n \\"Enable\\": true\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'GetSecureToken' => [ + 'summary' => 'Queries the security token information of a namespace. You can call this operation to query information, such as the AccessKey ID, AccessKey secret, tenant ID, and the domain name of Address Server, for the specified namespace.', + 'path' => '/pop/v5/secure_token', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application for which you want to query or configure the advanced application monitoring feature.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '9e224bc6-a646-4484-****-e617b7e7****', - ], - ], - [ - 'name' => 'EnableAdvancedMonitoring', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the advanced application monitoring feature. Valid values:'."\n" - ."\n" - .'* true: enables the advanced application monitoring feature.'."\n" - .'* false: disables the advanced application monitoring feature.'."\n" - ."\n" - .'If you call this operation to query the status of the advanced application monitoring feature, you do not need to specify this parameter.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the namespace, such as cn-beijing or cn-beijing:prod\\`\\`\\`\\`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen:x*****', 'title' => ''], ], ], 'responses' => [ @@ -9116,672 +6565,303 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '577AED12-32D8-40B6-991F-17D7A601****', - ], - 'AdvancedMonitoringEnabled' => [ - 'description' => 'Indicates whether the advanced application monitoring feature is enabled. Valid values:'."\n" - ."\n" - .'* true: The advanced application monitoring feature is enabled.'."\n" - .'* false: The advanced application monitoring feature is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-*************', 'title' => ''], + 'SecureToken' => [ + 'description' => 'The returned security token.', + 'type' => 'object', + 'properties' => [ + 'SecretKey' => ['description' => 'The AccessKey secret used in the namespace.', 'type' => 'string', 'example' => 'gOSgbgR2R*************', 'title' => ''], + 'AccessKey' => ['description' => 'The AccessKey ID used in the namespace.', 'type' => 'string', 'example' => 'f676f1**************', 'title' => ''], + 'BelongRegion' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + 'Description' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => '”“', 'title' => ''], + 'RegionName' => ['description' => 'The name of the region where the namespace resides.', 'type' => 'string', 'example' => 'x******', 'title' => ''], + 'EdasId' => ['description' => 'The ID of the Alibaba Cloud account that activated Enterprise Distributed Application Service (EDAS).', 'type' => 'string', 'example' => '11727458********', 'title' => ''], + 'AddressServerHost' => ['description' => 'The address of Address Server associated with the namespace.', 'type' => 'string', 'example' => 'addr-****-****.edas.aliyun.com', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'Id' => ['description' => 'The ID of the security token.', 'type' => 'integer', 'format' => 'int64', 'example' => '7279', 'title' => ''], + 'TenantId' => ['description' => 'The tenant ID of the namespace.', 'type' => 'string', 'example' => '401b7bc8-9441-4693-****-************', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the namespace resides.', 'type' => 'string', 'example' => 'cn-shenzhen:x*******', 'title' => ''], + 'MseRegistryType' => ['description' => 'The type of the Microservices Engine (MSE) registry.'."\n" + ."\n" + .'- default: the shared registry of EDAS'."\n" + ."\n" + .'- exclusive\\_mse: MSE Nacos registry', 'type' => 'string', 'example' => 'exclusive_mse', 'title' => ''], + 'MseInstanceId' => ['description' => 'The ID of the MSE instance.', 'type' => 'string', 'example' => 'mse_prepaid_public_cn-tl32p******', 'title' => ''], + 'MseInternetAddress' => ['description' => 'The public endpoint of the MSE registry.', 'type' => 'string', 'example' => 'mse-aa2******-p.nacos-ans.mse.aliyuncs.com', 'title' => ''], + 'MseIntranetAddress' => ['description' => 'The private endpoint of the MSE registry.', 'type' => 'string', 'example' => 'mse-72******-nacos-ans.mse.aliyuncs.com', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 600 => [ - [ - 'errorCode' => 'Edas.Errorcode.OperationFailed.CloseAdvancedMonitor.Message', - 'errorMessage' => 'Failed to disable advanced monitoring.', - ], - [ - 'errorCode' => 'Edas.Errorcode.OperationFailed.OpenAdvancedMonitor.Message', - 'errorMessage' => 'Failed to enable advanced monitoring.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****\\",\\n \\"RequestId\\": \\"577AED12-32D8-40B6-991F-17D7A601****\\",\\n \\"AdvancedMonitoringEnabled\\": false\\n}","errorExample":""},{"type":"xml","example":"<AdvancedMonitoringEnabled>false</AdvancedMonitoringEnabled>\\n<Message>The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****</Message>\\n<RequestId>577AED12-32D8-40B6-991F-17D7A601****</RequestId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'SwitchAdvancedMonitoring', - 'description' => 'To call the SwitchAdvancedMonitoring operation, you must make sure that the version of Enterprise Distributed Application Service (EDAS) SDK for Java or Python is 3.15.2 or later.'."\n", + 'title' => 'GetSecureToken', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ContinuePipeline' => [ - 'summary' => 'Manually confirms the release of the next batch.', - 'path' => '/pop/v5/changeorder/pipeline_batch_confirm', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetSecureToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadNamespace', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\",\\n \\"SecureToken\\": {\\n \\"SecretKey\\": \\"gOSgbgR2R*************\\",\\n \\"AccessKey\\": \\"f676f1**************\\",\\n \\"BelongRegion\\": \\"cn-shenzhen\\",\\n \\"Description\\": \\"”“\\",\\n \\"RegionName\\": \\"x******\\",\\n \\"EdasId\\": \\"11727458********\\",\\n \\"AddressServerHost\\": \\"addr-****-****.edas.aliyun.com\\",\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"Id\\": 7279,\\n \\"TenantId\\": \\"401b7bc8-9441-4693-****-************\\",\\n \\"RegionId\\": \\"cn-shenzhen:x*******\\",\\n \\"MseRegistryType\\": \\"exclusive_mse\\",\\n \\"MseInstanceId\\": \\"mse_prepaid_public_cn-tl32p******\\",\\n \\"MseInternetAddress\\": \\"mse-aa2******-p.nacos-ans.mse.aliyuncs.com\\",\\n \\"MseIntranetAddress\\": \\"mse-72******-nacos-ans.mse.aliyuncs.com\\"\\n }\\n}","type":"json"}]', + ], + 'GetServiceConsumersPage' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceConsumersPage', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'PipelineId', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the ID of the change process that corresponds to a specific batch. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5648dbd7-df13********************', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Confirm', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to release the next batch. Valid values:'."\n" - ."\n" - .'* true: releases the next batch.'."\n" - .'* false: does not release the next batch.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - ], - ], + [ + 'name' => 'origin', + 'in' => 'query', + 'schema' => ['description' => 'The source of the data. Valid values:'."\n" + ."\n" + .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" + .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", 'type' => 'string', 'required' => false, 'example' => 'agent', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<RequestId>D16979DC-4D42-****************</RequestId>","errorExample":""}]', - 'title' => 'ContinuePipeline', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AbortChangeOrder' => [ - 'summary' => 'Terminates a change process.', - 'path' => '/pop/v5/changeorder/change_order_abort', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'serviceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dubbo', 'title' => ''], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change process. You can call the [GetChangeOrderInfo](~~62072~~) operation to query the change process ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => false, 'example' => 'efbda488-7b33-432f-a40d-****0047****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '0b59000b15947****55688656d****', - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The change process.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], - ], - ], - ], - ], + [ + 'name' => 'source', + 'in' => 'query', + 'schema' => ['description' => 'The source of the service. Set the value to edas.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edas', 'title' => ''], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"TraceId\\": \\"0b59000b15947****55688656d****\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f038ddf-b27b-****-****-88e44375****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<AbortChangeOrder>\\r\\n\\t <Data>\\r\\n\\t\\t <ChangeOrderId>4f038ddf-b27b-****-****-88e44375****</ChangeOrderId>\\r\\n\\t </Data>\\r\\n\\t <Message>success</Message>\\r\\n\\t <TraceId>0b59000b15947****55688656d****</TraceId>\\r\\n <RequestId>57F146F6-3C94-****-****-A66EF4B9*****</RequestId>\\r\\n\\t <Success>true</Success>\\r\\n\\t <ErrorCode>success</ErrorCode>\\r\\n\\t <Code>200</Code>\\r\\n</AbortChangeOrder>","errorExample":""}]', - 'title' => 'AbortChangeOrder', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RollbackChangeOrder' => [ - 'summary' => 'Terminates an application change process and rolls back the application. This operation is applicable to applications that are deployed in Elastic Compute Service (ECS) clusters.', - 'path' => '/pop/v5/oam/changeorder/rollback', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'serviceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dc5133d7-773f-4c81-****-e2103dce****', - ], + 'schema' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], + ], + [ + 'name' => 'serviceVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], + ], + [ + 'name' => 'group', + 'in' => 'query', + 'schema' => ['description' => 'The service group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'DUBBO', 'title' => ''], + ], + [ + 'name' => 'ip', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx', 'title' => ''], + ], + [ + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nacos', 'title' => ''], + ], + [ + 'name' => 'page', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'size', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '000000000000000000000000000000', - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned for the request.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => 'The information about the change process.'."\n", + 'description' => 'The data that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '4f40e616-cdcd-4250-a018-efd4599c****', + 'TotalPages' => ['description' => 'The total number of returned pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalElements' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'Size' => ['description' => 'The number of entries to return on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Content' => [ + 'description' => 'The data array that is returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object of the data array.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address of the service consumer.'."\n", 'type' => 'string', 'example' => '10.20.x.xx', 'title' => ''], + 'EdasAppName' => ['description' => 'The name of the service consumer.'."\n", 'type' => 'string', 'example' => 'k8s-lq-cartservice', 'title' => ''], + 'EdassAppId' => ['description' => 'The ID of the service consumer.'."\n", 'type' => 'string', 'example' => 'efbda488-7b33-432f-a40d-****0047****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B909AB1F-3763-4963-B1CE-0BDFA192****\\",\\n \\"TraceId\\": \\"000000000000000000000000000000\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f40e616-cdcd-4250-a018-efd4599c****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>B909AB1F-3763-4963-B1CE-0BDFA192****</RequestId>\\n<TraceId>000000000000000000000000000000</TraceId>\\n<Data>\\n <ChangeOrderId>xxx-xxxx-xxx-xxxx</ChangeOrderId>\\n</Data>\\n<ErrorCode>success</ErrorCode>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'RollbackChangeOrder', + 'title' => 'GetServiceConsumersPage', + 'summary' => 'Queries service consumers.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateApplicationBaseInfo' => [ - 'summary' => 'Updates the basic information such as the description and owner of an application.', - 'path' => '/pop/v5/app/update_app_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 3,\\n \\"Size\\": 5,\\n \\"Content\\": [\\n {\\n \\"Ip\\": \\"10.20.x.xx\\",\\n \\"EdasAppName\\": \\"k8s-lq-cartservice\\",\\n \\"EdassAppId\\": \\"efbda488-7b33-432f-a40d-****0047****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceConsumersPage>\\n<Message>success</Message>\\n<Data>\\n <Size>5</Size>\\n <Content>\\n <EdassAppId>efbda488-7b33-432f-a40d-****0047****</EdassAppId>\\n <EdasAppName>k8s-lq-cartservice</EdasAppName>\\n <Ip>10.20.x.xx</Ip>\\n </Content>\\n <TotalElements>3</TotalElements>\\n <TotalPages>1</TotalPages>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceConsumersPage>","errorExample":""}]', + ], + 'GetServiceDetail' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceDetail', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d-43ff-****-************', - ], + 'schema' => ['description' => 'The region ID of the service.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AppName', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. The name must start with a letter, and can contain letters, digits, underscores (\\_), and hyphens (-). The name can be up to 36 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello-edas', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou:doc-test', 'title' => ''], ], [ - 'name' => 'Desc', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the application. The description can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test application'."\n", - ], + 'schema' => ['description' => 'The source of the data. Valid values:'."\n" + ."\n" + .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" + .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", 'type' => 'string', 'required' => false, 'example' => 'agent', 'title' => ''], ], [ - 'name' => 'Owner', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The owner of the application. The value can be up to 127 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test@aliyun_xxx.com', - ], + 'schema' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'* dubbo'."\n" + .'* springCloud'."\n" + .'* hsf'."\n" + .'* istio'."\n", 'type' => 'string', 'required' => false, 'example' => 'springCloud', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', - ], - 'Applcation' => [ - 'description' => 'The applications that you want to modify.'."\n", - 'type' => 'object', - 'properties' => [ - 'ExtSlbIp' => [ - 'description' => 'The IP address of the Internet-facing Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'example' => '39.97.XX.XX', - ], - 'Owner' => [ - 'description' => 'The owner of the application.'."\n", - 'type' => 'string', - 'example' => 'test@aliyun_XXX.com', - ], - 'SlbPort' => [ - 'description' => 'The port used by the internal-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ExtSlbName' => [ - 'description' => 'The name of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1577259573911', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'edas_com***@****.***', - ], - 'Port' => [ - 'description' => 'The port used by the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => 'The number of running application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SlbIp' => [ - 'description' => 'The IP address of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Dockerize' => [ - 'description' => 'Indicates whether the application is a Docker application.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceCount' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'c627c157-560d-43ff-****-************', - ], - 'Memory' => [ - 'description' => 'The size of memory configured for an application instance. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'd7730a49-629a-47bd-****-f45eb01f****', - ], - 'SlbId' => [ - 'description' => 'The ID of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'a3d4*******', - ], - 'HealthCheckUrl' => [ - 'description' => 'The health check URL.'."\n", - 'type' => 'string', - 'example' => 'http://127.0.XX.XX:8080/_etc.html', - ], - 'ApplicationType' => [ - 'description' => 'The deployment type of the application. Valid values:'."\n" - ."\n" - .'* War: The application is deployed by using a WAR package.'."\n" - .'* FatJar: The application is deployed by using a JAR package.'."\n" - .'* Image: The application is deployed by using an image.'."\n" - .'* If this parameter is empty, the application is not deployed.'."\n", - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ExtSlbId' => [ - 'description' => 'The ID of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'ace93*******', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:****', - ], - 'BuildPackageId' => [ - 'description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '58', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: normal Docker cluster'."\n" - .'* 1: Swarm cluster'."\n" - .'* 2: ECS cluster'."\n" - .'* 3: self-managed Kubernetes cluster in EDAS'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n" - .'* 5: Container Service for Kubernetes (ACK) clusters'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SlbName' => [ - 'description' => 'The name of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], + [ + 'name' => 'appId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'efbda488-7b33-432f-a40d-****0047****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\",\\n \\"Applcation\\": {\\n \\"ExtSlbIp\\": \\"39.97.XX.XX\\",\\n \\"Owner\\": \\"test@aliyun_XXX.com\\",\\n \\"SlbPort\\": 80,\\n \\"ExtSlbName\\": \\"test\\",\\n \\"CreateTime\\": 1577259573911,\\n \\"UserId\\": \\"edas_com***@****.***\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"SlbIp\\": \\"192.168.XX.XX\\",\\n \\"Dockerize\\": false,\\n \\"Description\\": \\"test\\",\\n \\"InstanceCount\\": 1,\\n \\"AppId\\": \\"c627c157-560d-43ff-****-************\\",\\n \\"Memory\\": 0,\\n \\"Name\\": \\"test\\",\\n \\"ClusterId\\": \\"d7730a49-629a-47bd-****-f45eb01f****\\",\\n \\"SlbId\\": \\"a3d4*******\\",\\n \\"HealthCheckUrl\\": \\"http://127.0.XX.XX:8080/_etc.html\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ExtSlbId\\": \\"ace93*******\\",\\n \\"RegionId\\": \\"cn-beijing:****\\",\\n \\"BuildPackageId\\": 58,\\n \\"Cpu\\": 0,\\n \\"ClusterType\\": 2,\\n \\"SlbName\\": \\"test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Applcation>\\n <SlbPort>0</SlbPort>\\n <BuildPackageId>0</BuildPackageId>\\n <AppId>c627c157-560d-43ff-****-************</AppId>\\n <Memory>0</Memory>\\n <Cpu>0</Cpu>\\n <Dockerize>false</Dockerize>\\n <ApplicationType>FatJar</ApplicationType>\\n <Owner>edas_com***_****@******-*****.***</Owner>\\n <Description>Ol432236</Description>\\n <RunningInstanceCount>0</RunningInstanceCount>\\n <UserId>edas_com***_****@******-*****.***</UserId>\\n <InstanceCount>1</InstanceCount>\\n <Name>testpopapi1120</Name>\\n <Port>8080</Port>\\n <ClusterId>0d247b93-8d62-4e34-****-************</ClusterId>\\n <RegionId>cn-shenzhen:****</RegionId>\\n <CreateTime>1574249022930</CreateTime>\\n <ClusterType>2</ClusterType>\\n</Applcation>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateApplicationBaseInfo', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AddLogPath' => [ - 'summary' => 'Adds a log directory to an application. This operation is applicable to applications that are deployed in Alibaba Cloud Elastic Compute Service (ECS) clusters and hybrid cloud ECS clusters.', - 'path' => '/pop/v5/log/popListLogDirs', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'source', + 'in' => 'query', + 'schema' => ['description' => 'The source of the service. Set the value to edas.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edas', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - ], - 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'name' => 'serviceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], ], [ - 'name' => 'Path', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The absolute path of the log directory that you want to add. The value must start and end with a forward slash (`/`) and must contain `/log` or `/logs`. The following directories are the default log directories in Enterprise Distributed Application Service (EDAS):'."\n" - ."\n" - .'* /home/admin/edas-container/logs/'."\n" - .'* /home/admin/taobao-tomcat-7.0.59/logs/'."\n" - .'* /home/admin/taobao-tomcat-production-7.0.59.3/logs/'."\n" - .'* /home/admin/taobao-tomcat-production-7.0.70/logs/'."\n" - .'* /home/admin/edas-agent/logs/'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '/temp/log/', - ], + 'name' => 'serviceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413**********', - ], - ], - ], + [ + 'name' => 'serviceVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","type":"json"}]', - 'title' => 'AddLogPath', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteApplication' => [ - 'summary' => 'Deletes an application.', - 'path' => '/pop/v5/changeorder/co_delete_app', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'group', + 'in' => 'query', + 'schema' => ['description' => 'The group to which the service belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'DUBBO', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ip', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-*********', - ], + 'schema' => ['description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx', 'title' => ''], + ], + [ + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nacos', 'title' => ''], ], ], 'responses' => [ @@ -9790,46 +6870,95 @@ 'description' => 'The content returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '0b8e3c0b-5818-430*************', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '34DFE9FDV****************', + 'Code' => ['description' => 'The HTTP status code returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The data structure.'."\n", + 'type' => 'object', + 'properties' => [ + 'EdasAppName' => ['description' => 'The name of the Enterprise Distributed Application Service (EDAS) application.'."\n", 'type' => 'string', 'example' => 'test123', 'title' => ''], + 'DubboApplicationName' => ['description' => 'The name of the Dubbo application.'."\n", 'type' => 'string', 'example' => 'cartservice', 'title' => ''], + 'Version' => ['description' => 'The version number.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'RegistryType' => ['description' => 'The type of the service registry.'."\n", 'type' => 'string', 'example' => 'agent', 'title' => ''], + 'SpringApplicationName' => ['description' => 'The name of the Spring application.'."\n", 'type' => 'string', 'example' => 'edas.service.consumer', 'title' => ''], + 'ServiceType' => ['description' => 'The type of the service.'."\n", 'type' => 'string', 'example' => 'springCloud', 'title' => ''], + 'ServiceName' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'example' => 'edas.service.consumer', 'title' => ''], + 'Metadata' => ['description' => 'The metadata.'."\n", 'type' => 'string', 'example' => '{}', 'title' => ''], + 'Group' => ['description' => 'The group.'."\n", 'type' => 'string', 'example' => 'dubbo', 'title' => ''], + 'Methods' => [ + 'description' => 'The methods.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ParameterDetails' => ['description' => 'The parameter details.'."\n", 'type' => 'string', 'example' => '{}', 'title' => ''], + 'NameDetail' => ['description' => 'The specific name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ParameterNames' => ['description' => 'The parameter names.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ParameterDefinitions' => ['description' => 'The parameter definitions.'."\n", 'type' => 'string', 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', 'title' => ''], + 'Paths' => ['description' => 'The method paths.'."\n", 'type' => 'string', 'example' => '["/consumer-echo/feign/{str}"]', 'title' => ''], + 'ParameterTypes' => ['description' => 'The parameter types.'."\n", 'type' => 'string', 'example' => '["java.lang.String"]', 'title' => ''], + 'RequestMethods' => ['description' => 'The request methods.'."\n", 'type' => 'string', 'example' => 'GET', 'title' => ''], + 'ReturnDetails' => ['description' => 'The response details.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Name' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'example' => 'feign2', 'title' => ''], + 'MethodController' => ['description' => 'The controllers.'."\n", 'type' => 'string', 'example' => 'com.aliware.edas.DemoController', 'title' => ''], + 'ReturnType' => ['description' => 'The type of the response.'."\n", 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'ReturnDefinition' => [ + 'description' => 'The definition of the value returned by the method.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the response.'."\n", 'type' => 'string', 'example' => 'foo', 'title' => ''], + 'Id' => ['description' => 'The ID of the return value.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"0b8e3c0b-5818-430*************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34DFE9FDV****************\\"\\n}","type":"json"}]', + 'title' => 'GetServiceDetail', + 'summary' => 'Queries service details.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteLogPath' => [ - 'summary' => 'Deletes resources associated with a log directory. This operation is suitable for applications deployed on Alibaba Cloud Elastic Compute Service (ECS) instances or container orchestration clusters from other cloud providers.', - 'path' => '/pop/v5/log/popListLogDirs', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"EdasAppName\\": \\"test123\\",\\n \\"DubboApplicationName\\": \\"cartservice\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"RegistryType\\": \\"agent\\",\\n \\"SpringApplicationName\\": \\"edas.service.consumer\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceName\\": \\"edas.service.consumer\\",\\n \\"Metadata\\": \\"{}\\",\\n \\"Group\\": \\"dubbo\\",\\n \\"Methods\\": [\\n {\\n \\"ParameterDetails\\": \\"{}\\",\\n \\"NameDetail\\": \\"test\\",\\n \\"ParameterNames\\": \\"test\\",\\n \\"ParameterDefinitions\\": \\"[{\\\\\\"description\\\\\\":\\\\\\"\\\\\\",\\\\\\"name\\\\\\":\\\\\\"arg0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"java.lang.String\\\\\\"}]\\",\\n \\"Paths\\": \\"[\\\\\\"/consumer-echo/feign/{str}\\\\\\"]\\",\\n \\"ParameterTypes\\": \\"[\\\\\\"java.lang.String\\\\\\"]\\",\\n \\"RequestMethods\\": \\"GET\\",\\n \\"ReturnDetails\\": \\"test\\",\\n \\"Name\\": \\"feign2\\",\\n \\"MethodController\\": \\"com.aliware.edas.DemoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDefinition\\": {\\n \\"Type\\": \\"foo\\",\\n \\"Id\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceDetail>\\n<Message>success</Message>\\n<Data>\\n <Group>dubbo</Group>\\n <RegistryType>agent</RegistryType>\\n <Version>1.0.0</Version>\\n <ServiceName>edas.service.consumer</ServiceName>\\n <ServiceType>springCloud</ServiceType>\\n <EdasAppName>test123</EdasAppName>\\n <Metadata>{}</Metadata>\\n <SpringApplicationName>edas.service.consumer</SpringApplicationName>\\n <Methods>\\n <ParameterDefinitions>[{\\"description\\":\\"\\",\\"name\\":\\"arg0\\",\\"type\\":\\"java.lang.String\\"}]</ParameterDefinitions>\\n <ParameterNames>test</ParameterNames>\\n <ParameterDetails>{}</ParameterDetails>\\n <MethodController>com.aliware.edas.DemoController</MethodController>\\n <Paths>[\\"/consumer-echo/feign/{str}\\"]</Paths>\\n <RequestMethods>GET</RequestMethods>\\n <ParameterTypes>[\\"java.lang.String\\"]</ParameterTypes>\\n <ReturnType>java.lang.String</ReturnType>\\n <ReturnDetails>test</ReturnDetails>\\n <NameDetail>test</NameDetail>\\n <Name>feign2</Name>\\n </Methods>\\n <Methods>\\n <ReturnDefinition>\\n <Type>foo</Type>\\n <Id>1</Id>\\n </ReturnDefinition>\\n </Methods>\\n <DubboApplicationName>cartservice</DubboApplicationName>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceDetail>","errorExample":""}]', + ], + 'GetServiceListPage' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceListPage', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9837,796 +6966,505 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => false, - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Path', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The absolute path of the log directory that you want to remove. The value must start and end with a forward slash (`/`) and must contain `/log` or `/logs`. The following directories are the default log directories in Enterprise Distributed Application Service (EDAS):'."\n" - ."\n" - .'* /home/admin/edas-container/logs/'."\n" - .'* /home/admin/taobao-tomcat-7.0.59/logs/'."\n" - .'* /home/admin/taobao-tomcat-production-7.0.59.3/logs/'."\n" - .'* /home/admin/taobao-tomcat-production-7.0.70/logs/'."\n" - .'* /home/admin/edas-agent/logs/'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/temp/log/', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413**********', - ], - ], - ], + 'schema' => ['description' => 'The namespace.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou:doc-test', 'title' => ''], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>3616cdca-4f92-4413**********</RequestId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteLogPath', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteDeployGroup' => [ - 'summary' => 'Deletes an instance group for an application.', - 'path' => '/pop/v5/deploy_group', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'origin', + 'in' => 'query', + 'schema' => ['description' => 'The source of the data. Valid values:'."\n" + ."\n" + .'* `agent`: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" + .'* `registry`: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Agent', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-b31*************', - ], + 'schema' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'* `dubbo`'."\n" + .'* `springCloud`'."\n" + .'* `hsf`'."\n" + .'* `istio`'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpringCloud', 'title' => ''], ], [ - 'name' => 'GroupName', + 'name' => 'searchType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', - ], - ], - ], + 'schema' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'* `app`: searches by application.'."\n" + .'* `service`: searches by service.'."\n" + .'* `providerIp`: searches by IP address.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'App', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"1\\",\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Data>1</Data>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteDeployGroup', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateHookConfiguration' => [ - 'summary' => 'Mounts a script to an application or application instance group.', - 'path' => '/pop/app/config_app_hook_json', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'searchValue', + 'in' => 'query', + 'schema' => ['description' => 'The keyword used for the search.'."\n" + ."\n" + .'* Set this parameter to the ID of the application if you set the searchType parameter to app.``'."\n" + .'* Set this parameter to the name of the service if you set the serachType parameter to service.``'."\n" + .'* Set this parameter to the IP address of the application if you set the searchType parameter to providerIp.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibaba.edas.HelloService', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'side', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'd498****-1dd8ec229862', - ], + 'schema' => ['description' => 'Specifies the provider side or the consumer side. Valid values:'."\n" + ."\n" + .'* provider'."\n" + .'* consumer'."\n", 'type' => 'string', 'required' => false, 'example' => 'provider', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'page', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application instance group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd498****-1dd8ec229862', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'Hooks', + 'name' => 'size', 'in' => 'query', - 'schema' => [ - 'description' => 'The script to mount. Set the value in the JSON format. Example: `[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"},{"ignoreFail":true,"name":"postdeleteInstanceDataOnScaleIn","script":""},{"ignoreFail":true,"name":"prestartInstance","script":""},{"ignoreFail":true,"name":"poststartInstance","script":""},{"ignoreFail":true,"name":"prestopInstance","script":""},{"ignoreFail":true,"name":"poststopInstance","script":""}]`'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]', - ], + 'schema' => ['description' => 'The number of entries to return on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'd498****-1dd8ec229862', - ], - 'HooksConfiguration' => [ - 'description' => 'The information about the mounted script.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'IgnoreFail' => [ - 'description' => 'Indicates whether a mount failure is ignored. Valid values:'."\n" - ."\n" - .'* **true**: A mount failure is ignored.'."\n" - .'* **false**: A mount failure is not ignored.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Name' => [ - 'description' => 'The name of the mounted script.'."\n", - 'type' => 'string', - 'example' => 'postprepareInstanceEnvironmentOnScaleOut', - ], - 'Script' => [ - 'description' => 'The content of the mounted script.'."\n", - 'type' => 'string', - 'example' => 'ls', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned for the request.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalPages' => ['description' => 'The total number of returned pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalElements' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'Size' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'title' => ''], + 'Content' => [ + 'description' => 'The data array that is returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The data that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'EdasAppName' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'k8s-lq-cartservice', 'title' => ''], + 'InstanceNum' => ['description' => 'The number of instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Version' => ['description' => 'The version number.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'ServiceId' => ['description' => 'The ID of the service.'."\n", 'type' => 'string', 'example' => 'xx', 'title' => ''], + 'EdasAppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'efbda488-7b33-432f-****-36530047****', 'title' => ''], + 'ServiceName' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], + 'RegisterType' => ['description' => 'The type of the service registry.'."\n", 'type' => 'string', 'example' => 'xx', 'title' => ''], + 'Group' => ['description' => 'The service group.'."\n", 'type' => 'string', 'example' => 'DUBBO', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d498****-1dd8ec229862\\",\\n \\"HooksConfiguration\\": [\\n {\\n \\"IgnoreFail\\": true,\\n \\"Name\\": \\"postprepareInstanceEnvironmentOnScaleOut\\",\\n \\"Script\\": \\"ls\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<HooksConfiguration>\\n <Script>ls</Script>\\n <IgnoreFail>true</IgnoreFail>\\n <Name>postprepareInstanceEnvironmentOnScaleOut</Name>\\n</HooksConfiguration>\\n<Message>success</Message>\\n<RequestId>d498****-1dd8ec229862</RequestId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateHookConfiguration', + 'title' => 'GetServiceListPage', + 'summary' => 'Queries services.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyScalingRule' => [ - 'summary' => 'Modifies the scaling rule for an application.', - 'path' => '/pop/v5/app/scaling_rules', - 'methods' => [ - 'post', - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 6,\\n \\"Size\\": 8,\\n \\"Content\\": [\\n {\\n \\"EdasAppName\\": \\"k8s-lq-cartservice\\",\\n \\"InstanceNum\\": 1,\\n \\"Version\\": \\"1.0.0\\",\\n \\"ServiceId\\": \\"xx\\",\\n \\"EdasAppId\\": \\"efbda488-7b33-432f-****-36530047****\\",\\n \\"ServiceName\\": \\"com.alibabacloud.hipstershop.CartService\\",\\n \\"RegisterType\\": \\"xx\\",\\n \\"Group\\": \\"DUBBO\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceListPageResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <Success>true</Success>\\n <Data>\\n <TotalPages>1</TotalPages>\\n <TotalElements>6</TotalElements>\\n <Size>8</Size>\\n <Content>\\n <EdasAppName>k8s-lq-cartservice</EdasAppName>\\n <InstanceNum>1</InstanceNum>\\n <Version>1.0.0</Version>\\n <ServiceId>xx</ServiceId>\\n <EdasAppId>efbda488-7b33-432f-****-36530047****</EdasAppId>\\n <ServiceName>com.alibabacloud.hipstershop.CartService</ServiceName>\\n <RegisterType>xx</RegisterType>\\n <Group>DUBBO</Group>\\n </Content>\\n </Data>\\n</GetServiceListPageResponse>","errorExample":""}]', + ], + 'GetServiceMethodPage' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceMethodPage', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '74ee****-db65-4322-a1f6-bcb60e5b****', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group to which the application is deployed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8123db90-880f-486f-****-************', - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test', 'title' => ''], ], [ - 'name' => 'InCondition', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => 'The relationship among the conditions that trigger a scale-in.'."\n" - ."\n" - .'* OR: one of the conditions'."\n" - .'* AND: all conditions'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"OR"', - 'enum' => [ - 'OR', - 'AND', - ], - ], + 'schema' => ['description' => 'The source of the data. Valid values:'."\n" + ."\n" + .'- agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" + ."\n" + .'- registry: Use this value if you use the service query feature of the earlier version to pass the query result.', 'type' => 'string', 'required' => false, 'example' => 'agent', 'title' => ''], ], [ - 'name' => 'InEnable', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allow scale-ins.'."\n" - ."\n" - .'* true: allows scale-ins.'."\n" - .'* false: does not allow scale-ins.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'- dubbo: Dubbo service'."\n" + ."\n" + .'- springCloud: Spring Cloud service'."\n" + ."\n" + .'- hsf: High-speed Service Framework (HSF) service', 'type' => 'string', 'required' => false, 'example' => 'springCloud', 'title' => ''], ], [ - 'name' => 'InCpu', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU utilization that triggers a scale-in.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'example' => '310b18c3-1dbe-4807-****-18d7d637****', 'title' => ''], ], [ - 'name' => 'InDuration', + 'name' => 'source', 'in' => 'query', - 'schema' => [ - 'description' => 'The duration in which the metric threshold is exceeded. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The source of the service. Set the value to edas.', 'type' => 'string', 'required' => false, 'example' => 'edas', 'title' => ''], ], [ - 'name' => 'InInstanceNum', + 'name' => 'serviceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be retained in each group when a scale-in is performed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The ID of the service.', 'type' => 'string', 'required' => false, 'example' => 'edas.service.consumer', 'title' => ''], ], [ - 'name' => 'InLoad', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The system load that triggers a scale-in.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The name of the service.', 'type' => 'string', 'required' => false, 'example' => 'edas.service.consumer', 'title' => ''], ], [ - 'name' => 'InRT', + 'name' => 'serviceVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum service latency that triggers a scale-in. The lower limit is 0. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The version of the service.', 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ - 'name' => 'InStep', + 'name' => 'group', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances that are removed during each scale-in.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The group to which the service belongs.', 'type' => 'string', 'required' => false, 'example' => 'DUBBO', 'title' => ''], ], [ - 'name' => 'OutCondition', + 'name' => 'ip', 'in' => 'query', - 'schema' => [ - 'description' => 'The relationship among the conditions that trigger a scale-out.'."\n" - ."\n" - .'* OR: one of the conditions'."\n" - .'* AND: all conditions'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"OR"', - 'enum' => [ - 'OR', - 'AND', - ], - ], + 'schema' => ['description' => 'The IP address of the service.', 'type' => 'string', 'required' => false, 'example' => '127.0.0.1', 'title' => ''], ], [ - 'name' => 'OutCPU', + 'name' => 'registryType', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU utilization that triggers a scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The type of the service registry.', 'type' => 'string', 'required' => false, 'example' => 'nacos', 'title' => ''], ], [ - 'name' => 'OutDuration', + 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The duration in which the metric threshold is exceeded. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'OutEnable', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allow scale-outs.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'OutInstanceNum', + 'name' => 'methodController', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances in each group when a scale-out is performed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The controller method.', 'type' => 'string', 'required' => false, 'example' => 'com.aliware.edas.DemoController', 'title' => ''], ], [ - 'name' => 'OutLoad', + 'name' => 'path', 'in' => 'query', - 'schema' => [ - 'description' => 'The system load that triggers a scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The request path.', 'type' => 'string', 'required' => false, 'example' => '/echo/{str}', 'title' => ''], ], [ - 'name' => 'OutRT', + 'name' => 'name', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum service latency that triggers a scale-out. The lower limit is 0. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The name of the method.', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], - [ - 'name' => 'OutStep', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of instances that are added during each scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '0', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'HttpCode' => ['description' => 'The HTTP status code that is returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BDC0C0FE-D63B-4FC8-****-4081C57E****', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'Result' => [ + 'description' => 'The data about the method.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterDetails' => ['description' => 'The details of the parameters.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'NameDetail' => ['description' => 'The details of the method.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'ParameterNames' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'ParameterDefinitions' => ['description' => 'The definition of the parameter.', 'type' => 'string', 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', 'title' => ''], + 'Paths' => ['description' => 'The method path.', 'type' => 'string', 'example' => '/consumer/alive', 'title' => ''], + 'ParameterTypes' => ['description' => 'The data type of the parameter.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'RequestMethods' => ['description' => 'The request method.', 'type' => 'string', 'example' => 'GET', 'title' => ''], + 'ReturnDetails' => ['description' => 'The details of the response.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'Name' => ['description' => 'The name of the method.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'MethodController' => ['description' => 'The method.', 'type' => 'string', 'example' => 'com.aliware.edas.EchoController', 'title' => ''], + 'ReturnType' => ['description' => 'The data format of the response.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'ReturnDefinition' => [ + 'description' => 'The return value.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The data format of the response.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'Id' => ['description' => 'The ID of the return value.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ResourceFrom', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the instance to be added during a scale-out. Valid values:'."\n" - ."\n" - .'* NEW: elastic resources'."\n" - .'* AVAILABLE: existing resources If you prefer existing resources to elastic resources, set this parameter to AVAILABLE_FIRST.'."\n" - ."\n" - .'If you set this parameter to NEW or AVAILABLE_FIRST, you must specify the auto-scaling parameters. If you set this parameter to NEW, instances are created based on a launch template or the specifications of an existing instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"AVAILABLE"', - 'enum' => [ - 'AVAILABLE', - 'NEW', - 'AVAILABLE_FIRST', + ], + 'title' => 'GetServiceMethodPage', + 'summary' => 'Queries service methods.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpCode\\": \\"200\\",\\n \\"RequestId\\": \\"BDC0C0FE-D63B-4FC8-****-4081C57E****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 6,\\n \\"Result\\": [\\n {\\n \\"ParameterDetails\\": \\"{}\\",\\n \\"NameDetail\\": \\"name\\",\\n \\"ParameterNames\\": \\"echo\\",\\n \\"ParameterDefinitions\\": \\"[{\\\\\\"description\\\\\\":\\\\\\"\\\\\\",\\\\\\"name\\\\\\":\\\\\\"arg0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"java.lang.String\\\\\\"}]\\",\\n \\"Paths\\": \\"/consumer/alive\\",\\n \\"ParameterTypes\\": \\"java.lang.String\\",\\n \\"RequestMethods\\": \\"GET\\",\\n \\"ReturnDetails\\": \\"java.lang.String\\",\\n \\"Name\\": \\"echo\\",\\n \\"MethodController\\": \\"com.aliware.edas.EchoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDefinition\\": {\\n \\"Type\\": \\"java.lang.String\\",\\n \\"Id\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetServiceProvidersPage' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceProvidersPage', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MultiAzPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The multi-zone scaling policy. Valid values:'."\n" - ."\n" - .'* PRIORITY: The vSwitch that is first selected has the highest priority.'."\n" - .'* BALANCE: This policy evenly distributes instances across zones in which the vSwitches reside.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"PRIORITY"', - 'enum' => [ - 'PRIORITY', - 'BALANCE', - ], - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'VpcId', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) that is associated with the instances created based on a launch template or the specifications of an existing instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"vpc-bp1j55oz3bg*****"', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VSwitchIds', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the vSwitches that are associated with the VPC. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"vsw-bp1ldxs3d4fd*****"', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test', 'title' => ''], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance handling mode during a scale-in. Valid values:'."\n" - ."\n" - .'* release: When a scale-in is performed, instances that are no longer used are released.'."\n" - .'* recycle: When a scale-in is performed, instances that are no longer used are stopped and reclaimed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"release"', - 'enum' => [ - 'release', - 'recycle', - ], - ], + 'schema' => ['description' => 'The source of data. Valid values:'."\n" + ."\n" + .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" + .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", 'type' => 'string', 'required' => false, 'example' => 'agent', 'title' => ''], ], [ - 'name' => 'TemplateInstanceId', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance whose specifications are used to create instances during a scale-out. This parameter is valid only when you set the OutEnable parameter to true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"1"', - ], + 'schema' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'* dubbo: Dubbo service'."\n" + .'* springCloud: Spring Cloud service'."\n" + .'* hsf: High-speed Service Framework (HSF) service'."\n", 'type' => 'string', 'required' => false, 'example' => 'dubbo', 'title' => ''], ], [ - 'name' => 'TemplateInstanceName', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance whose specifications are used to create instances during a scale-out. This parameter takes effect only if you specify the TemplateInstanceId parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"tpl-tdy218"', - ], + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => false, 'example' => 'efbda488-7b33-432f-a40d-****0047****', 'title' => ''], ], [ - 'name' => 'Password', + 'name' => 'source', 'in' => 'query', - 'schema' => [ - 'description' => 'The password that is used to log on to the instance. This parameter takes effect only if you choose to create instances based on the specifications of an existing instance during a scale-out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"Pwd*****"', - ], + 'schema' => ['description' => 'The source of the service. Set the value to edas.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edas', 'title' => ''], ], [ - 'name' => 'KeyPairName', + 'name' => 'serviceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key pair that is used to log on to the instance. This parameter takes effect only if you choose to create instances based on the specifications of an existing instance during a scale-out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"tdy218"', - ], + 'schema' => ['description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], ], [ - 'name' => 'AcceptEULA', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => 'Set the value to true if scale-outs are allowed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService', 'title' => ''], ], [ - 'name' => 'TemplateId', + 'name' => 'serviceVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that is used to create instances during a scale-out. This parameter takes effect only if you set the OutEnable parameter to true. This parameter takes precedence over the TemplateInstanceId parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"lt-wz9hkhn8wp*****"', - ], + 'schema' => ['description' => 'The version of the service.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ - 'name' => 'TemplateVersion', + 'name' => 'group', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the launch template that is used to create instances during a scale-out. This parameter takes effect only if you set the OutEnable parameter to true. To use the default template version, set this parameter to `-1`. Otherwise, set this parameter to the version that you want to use.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => 'The group to which the service belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'DUBBO', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CB36E997-FE54-476C-8C0D-********', - ], - ], - ], + [ + 'name' => 'ip', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"CB36E997-FE54-476C-8C0D-********\\"\\n}","errorExample":""},{"type":"xml","example":"<Code>200</Code>\\n<Message>success</Message>","errorExample":""}]', - 'title' => 'ModifyScalingRule', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartApplication' => [ - 'summary' => 'Starts an application.', - 'path' => '/pop/v5/changeorder/co_start', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nacos', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'page', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'EccInfo', + 'name' => 'size', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance on which you want to start the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '""', - ], + 'schema' => ['description' => 'The number of entries to return on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this startup. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => '426d3328-11a***************', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The data structure.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalPages' => ['description' => 'The total number of returned pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalElements' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Size' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Content' => [ + 'description' => 'The data array returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the data array.'."\n", + 'type' => 'object', + 'properties' => [ + 'Timeout' => ['description' => 'The service timeout period.'."\n", 'type' => 'string', 'example' => '1000', 'title' => ''], + 'Ip' => ['description' => 'The IP address of the service provider.'."\n", 'type' => 'string', 'example' => '10.20.XX.XX', 'title' => ''], + 'Port' => ['description' => 'The port number of the service provider.'."\n", 'type' => 'string', 'example' => '12345', 'title' => ''], + 'Iannotations' => ['description' => 'The remarks of the service provider.'."\n", 'type' => 'string', 'example' => '172.178.XX.XX', 'title' => ''], + 'SerializeType' => ['description' => 'The serialization type.'."\n", 'type' => 'string', 'example' => 'hessian2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"426d3328-11a***************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>426d3328-11a***************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'StartApplication', + 'title' => 'GetServiceProvidersPage', + 'summary' => 'Queries service providers.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopApplication' => [ - 'summary' => 'Stops an application.', - 'path' => '/pop/v5/changeorder/co_stop', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 1,\\n \\"Size\\": 5,\\n \\"Content\\": [\\n {\\n \\"Timeout\\": \\"1000\\",\\n \\"Ip\\": \\"10.20.XX.XX\\",\\n \\"Port\\": \\"12345\\",\\n \\"Iannotations\\": \\"172.178.XX.XX\\",\\n \\"SerializeType\\": \\"hessian2\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceProvidersPage>\\n<Message>success</Message>\\n<Data>\\n <Size>5</Size>\\n <Content>\\n <SerializeType>hessian2</SerializeType>\\n <Timeout>1000</Timeout>\\n <Port>12345</Port>\\n <Ip>10.20.x.xx</Ip>\\n </Content>\\n <TotalElements>1</TotalElements>\\n <TotalPages>1</TotalPages>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceProvidersPage>","errorExample":""}]', + ], + 'GetWebContainerConfig' => [ + 'path' => '/pop/v5/oam/web_container_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10634,35 +7472,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d*******', - ], - ], - [ - 'name' => 'EccInfo', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance on which you want to stop the application. You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n" - ."\n" - .'* If you want to stop the application on multiple ECS instances, separate the ECC IDs with commas (,).'."\n" - .'* If you leave this parameter empty, the application will be stopped on all ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '74ee9166-****1f6-bcb60e5b****', - ], + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****', 'title' => ''], ], ], 'responses' => [ @@ -10670,47 +7485,69 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the details about the change process. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => 'a9557bac-ddd7-*********************', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], + 'WebContainerConfig' => [ + 'description' => 'The Tomcat configurations of the application.'."\n", + 'type' => 'object', + 'properties' => [ + 'ContextPath' => ['description' => 'The context path.'."\n", 'type' => 'string', 'example' => 'ROOT', 'title' => ''], + 'UseAdvancedServerXml' => ['description' => 'Indicates whether advanced configurations are used to customize the server.xml file.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'UseDefaultConfig' => ['description' => 'Indicates whether the default configurations are used.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'HttpPort' => ['description' => 'The HTTP service port.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'ContextInputType' => ['description' => 'The type of the context path.'."\n", 'type' => 'string', 'example' => 'root', 'title' => ''], + 'UseBodyEncoding' => ['description' => 'Indicates whether the encoding scheme specified in the request body is used for uniform resource identifier (URI) query parameters.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'UriEncoding' => ['description' => 'The URI encoding scheme.'."\n", 'type' => 'string', 'example' => 'ISO-8859-1', 'title' => ''], + 'MaxThreads' => ['description' => 'The maximum number of threads.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'ServerXml' => ['description' => 'The content of the server.xml file customized by using advanced configurations.'."\n", 'type' => 'string', 'example' => '<Server port=*****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"a9557bac-ddd7-*********************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>a9557bac-ddd7-*********************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'StopApplication', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"WebContainerConfig\\": {\\n \\"ContextPath\\": \\"ROOT\\",\\n \\"UseAdvancedServerXml\\": true,\\n \\"UseDefaultConfig\\": true,\\n \\"HttpPort\\": 8080,\\n \\"ContextInputType\\": \\"root\\",\\n \\"UseBodyEncoding\\": true,\\n \\"UriEncoding\\": \\"ISO-8859-1\\",\\n \\"MaxThreads\\": 500,\\n \\"ServerXml\\": \\"<Server port=*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetWebContainerConfigResponse>\\n<Message>success</Message>\\n<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Code>200</Code>\\n<WebContainerConfig>\\n <HttpPort>8080</HttpPort>\\n <UriEncoding>ISO-8859-1</UriEncoding>\\n <ContextPath>ROOT</ContextPath>\\n <ContextInputType>root</ContextInputType>\\n <UseBodyEncoding>true</UseBodyEncoding>\\n <ServerXml><Server port=*****</ServerXml>\\n <MaxThreads>500</MaxThreads>\\n <UseDefaultConfig>true</UseDefaultConfig>\\n <UseAdvancedServerXml>true</UseAdvancedServerXml>\\n</WebContainerConfig>\\n</GetWebContainerConfigResponse>","errorExample":""}]', + 'title' => 'GetWebContainerConfig', + 'summary' => 'Queries the Tomcat configurations of an application.', + 'description' => '***'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateContainer' => [ - 'summary' => 'Updates the Enterprise Distributed Application Service (EDAS) Container version of a High-Speed Service Framework (HSF) application. EDAS Container includes Ali-Tomcat and Pandora.', - 'path' => '/pop/v5/changeorder/co_update_container', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWebContainerConfig'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ImportK8sCluster' => [ + 'path' => '/pop/v5/import_k8s_cluster', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10718,471 +7555,229 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc', - ], + 'schema' => ['description' => 'The ID of the ACK cluster or serverless Kubernetes cluster. You can obtain the cluster ID by calling the GetK8sCluster operation. For more information, see [GetK8sCluster](~~181437~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', 'title' => ''], ], [ - 'name' => 'BuildPackId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The build package number of EDAS Container. You can obtain the build package number in the Build package number column in the EDAS Container release notes table. For more information, see [Release notes for EDAS Container](~~92614~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '59', - ], + 'schema' => ['description' => 'The ID of the namespace. It is in the format of `Region ID:Identifier of the microservices namespace`. Example: `cn-hangzhou:doc`.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:doc', 'title' => ''], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => ['description' => 'You can ignore this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'EnableAsm', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the integration with Alibaba Cloud Service Mesh (ASM). Valid values:'."\n" + ."\n" + .'- true: Enables the integration with ASM.'."\n" + ."\n" + .'- false: Disables the integration with ASM.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned content.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'eb1b9862-****-476f-9e78-d6aa0842835a', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The ID of the cluster in EDAS.', 'type' => 'string', 'example' => 'cf96d49a-6be2-4b6d-****-75c7fb86****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"eb1b9862-****-476f-9e78-d6aa0842835a\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323******\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>eb1b9862-****-476f-9e78-d6aa0842835a</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateContainer', + 'title' => 'ImportK8sCluster', + 'summary' => 'Imports a Container Service for Kubernetes (ACK) cluster or a serverless Kubernetes cluster to Enterprise Distributed Application Service (EDAS).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateContainerConfiguration' => [ - 'summary' => 'Configures the Tomcat container for an application or application instance group in an Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/app/container_config', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ImportK8sCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:CreateCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"cf96d49a-6be2-4b6d-****-75c7fb86****\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\"\\n}","type":"json"}]', + ], + 'InsertApplication' => [ + 'summary' => 'Creates an application in an ECS cluster.', + 'path' => '/pop/v5/changeorder/co_create_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-43ff-************', - ], + 'schema' => ['description' => 'The ID of the ECS cluster. Specify this parameter to create the application in a specific ECS cluster. If you leave this parameter empty, the application is created in the default cluster. We recommend that you specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '13136119-f384-4f50-b76e-xxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'BuildPackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application instance group.'."\n" - ."\n" - .'* If an ID is specified, this operation configures the Tomcat container for the specified application instance group.'."\n" - .'* If you set this parameter to "", this operation configures the Tomcat container for the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-**************', - ], + 'schema' => ['description' => 'The build package number of EDAS-Container. This parameter is required when you create a High-speed Service Framework (HSF) application. You can obtain the build package number in one of the following ways:'."\n" + ."\n" + .'- Call the ListBuildPack operation. For more information, see [ListBuildPack](~~149391~~).'."\n" + ."\n" + .'- Obtain the build package number from the **Build Package Number** column in the [Container versions](~~92614~~) table.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '59', 'title' => ''], ], [ - 'name' => 'ContextPath', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The context path of the Tomcat container. The context path can be an empty string, a null WAR package name, a root directory, or other custom non-empty strings. It can contain letters, digits, hyphens (-), and underscores (\\_). Take note of the following items:'."\n" - ."\n" - .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" - .'* If this parameter is not specified when you configure the Tomcat container for an application, the root directory `/` is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/', - ], + 'schema' => ['description' => 'The description of the application.', 'type' => 'string', 'required' => false, 'example' => 'create by edas pop api', 'title' => ''], ], [ - 'name' => 'HttpPort', + 'name' => 'ApplicationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The application port number for the Tomcat container. Take note of the following items:'."\n" - ."\n" - .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" - .'* If this parameter is not specified when you configure the application, the default port 8080 is applied.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], + 'schema' => ['description' => 'The name of the application. The name can contain only digits, letters, hyphens (-), and underscores (\\_). It must start with a letter and can be up to 36 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'hello-edas-test-1', 'title' => ''], ], [ - 'name' => 'MaxThreads', + 'name' => 'ReservedPortStr', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of threads. Take note of the following items:'."\n" - ."\n" - .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" - .'* If this parameter is not specified when you configure the application, the default value 250 is applied.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '\\*\\*(Deprecated)\\*\\* The reserved port of the application.', 'type' => 'string', 'required' => false, 'example' => '8090', 'title' => ''], ], [ - 'name' => 'URIEncoding', + 'name' => 'EcuInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The uniform resource identifier (URI) encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8. Take note of the following items:'."\n" - ."\n" - .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" - .'* If this parameter is not specified when you configure the application, the default URI encoding scheme in the Tomcat container is applied.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ISO-8859-1', - ], + 'schema' => ['description' => 'The \\`ecu\\_id\\` of the ECS instance to which you want to scale out the application. The \\`ecu\\_id\\` is the unique ID of an ECS instance that is imported to EDAS. To specify multiple \\`ecu\\_id\\`s, separate them with commas (,). You can call the ListScaleOutEcu operation to query the \\`ecu\\_id\\`. For more information, see [ListScaleOutEcu](~~149371~~).', 'type' => 'string', 'required' => false, 'example' => '07bd417a-b863-477d-****-************', 'title' => ''], ], [ - 'name' => 'UseBodyEncoding', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the encoding scheme specified in the request body for URI query parameters. Take note of the following items:'."\n" - ."\n" - .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" - .'* If this parameter is not specified when you configure the application, the default value false is applied.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '\\*\\*(Deprecated)\\*\\* The number of CPU cores for the application container in a Swarm cluster.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '2', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned content.', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-***************', - ], - 'ContainerConfiguration' => [ - 'description' => 'The configuration of the Tomcat container.'."\n", - 'type' => 'object', - 'properties' => [ - 'HttpPort' => [ - 'description' => 'The application port number for the Tomcat container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextPath' => [ - 'description' => 'The context path of the Tomcat container.'."\n", - 'type' => 'string', - 'example' => '/', - ], - 'UseBodyEncoding' => [ - 'description' => 'Indicates whether useBodyEncodingForURI is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'MaxThreads' => [ - 'description' => 'The maximum number of threads.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'URIEncoding' => [ - 'description' => 'The URI encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n", - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], - ], - ], - ], - ], + [ + 'name' => 'Mem', + 'in' => 'query', + 'schema' => ['description' => '\\*\\*(Deprecated)\\*\\* The memory size for the application container in a Swarm cluster.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '2048', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-***************\\",\\n \\"ContainerConfiguration\\": {\\n \\"HttpPort\\": 8080,\\n \\"ContextPath\\": \\"/\\",\\n \\"UseBodyEncoding\\": true,\\n \\"MaxThreads\\": 20,\\n \\"URIEncoding\\": \\"ISO-8859-1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ContainerConfiguration>\\n <UseBodyEncoding>true</UseBodyEncoding>\\n <MaxThreads>20</MaxThreads>\\n <HttpPort>8080</HttpPort>\\n <URIEncoding>ISO-8859-1</URIEncoding>\\n</ContainerConfiguration>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateContainerConfiguration', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ChangeDeployGroup' => [ - 'summary' => 'Changes the application instance group for an Elastic Compute Service (ECS) instance in an ECS cluster.', - 'path' => '/pop/v5/changeorder/co_change_group', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LogicalRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the microservices namespace. In the EDAS console, choose **Resource Management** > **Microservices Namespace** in the navigation pane on the left to view the ID of the microservices namespace. You can also call the ListUserDefineRegion operation to query the ID. For more information, see [ListUserDefineRegion](~~149377~~).'."\n" + ."\n" + .'- If the specified cluster is not in the default microservices namespace, you must specify this parameter. Otherwise, the \\`application regionId is different with cluster regionId!\\` error is reported.'."\n" + ."\n" + .'- If the cluster is in the default microservices namespace, you do not need to specify this parameter. The microservices namespace of the application must be the same as the microservices namespace of the specified cluster.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:prod', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Jdk', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-**********', - ], + 'schema' => ['description' => '**(Deprecated)** The version of the Java Development Kit (JDK) that the application uses.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8', 'title' => ''], ], [ - 'name' => 'EccInfo', + 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute component (ECC) that corresponds to the ECS instance for which you want to change the application instance group. You can call the ListApplicationEcc operation to query the ECC ID. For more information, see [ListApplicationEcc](~~199277~~).'."\n" - ."\n" - .'> You can change the application instance group for only one ECS instance at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '0cf49a6c-95a8-4aa8******', - ], + 'schema' => ['description' => '**(Deprecated)** The version of Apache Tomcat.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'GroupName', + 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application instance group. Examples: group_a and group_b. The parameter value for the default application instance group is `_DEFAULT_GROUP`. The name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The format of the application deployment package. Valid values: war and jar.', 'type' => 'string', 'required' => false, 'example' => 'war', 'title' => ''], ], [ - 'name' => 'ForceStatus', + 'name' => 'ComponentIds', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly change the application instance group if the deployment package version of the ECC is different from that of the application instance group.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the application component. You can call the ListComponents operation to query the component ID. For more information, see [ListComponents](~~97502~~).'."\n" + ."\n" + .'This parameter is required if the application runs in an Apache Tomcat container (for Dubbo applications that are deployed in a WAR package) or a standard Java application runtime environment (for Spring Boot or Spring Cloud applications that are deployed in a JAR package).'."\n" + ."\n" + .'The following application component IDs are commonly used:'."\n" + ."\n" + .'- 4: Apache Tomcat 7.0.91'."\n" + ."\n" + .'- 7: Apache Tomcat 8.5.42'."\n" + ."\n" + .'- 5: OpenJDK 1.8.x'."\n" + ."\n" + .'- 6: OpenJDK 1.7.x'."\n" + ."\n" + .'To set this parameter, you must update the Java or Python software development kit (SDK) to version 2.57.3 or later. If you do not use an EDAS SDK, such as aliyun-python-sdk-core, aliyun-java-sdk-core, or Alibaba Cloud CLI, you can set this parameter.', 'type' => 'string', 'required' => false, 'example' => '7', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '435f-regfr4********************', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F9E4-FDS4-****************', - ], - ], - ], + [ + 'name' => 'Hooks', + 'in' => 'query', + 'schema' => ['description' => 'The configuration of the mounted script. The value is a JSON string. Example:'."\n" + .'`[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"},{"ignoreFail":true,"name":"postdeleteInstanceDataOnScaleIn","script":""},{"ignoreFail":true,"name":"prestartInstance","script":""},{"ignoreFail":true,"name":"poststartInstance","script":""},{"ignoreFail":true,"name":"prestopInstance","script":""},{"ignoreFail":true,"name":"poststopInstance","script":""}]`', 'type' => 'string', 'required' => false, 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]', 'title' => ''], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"435f-regfr4********************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"F9E4-FDS4-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>F9E4-FDS4-****************</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>435f-regfr4********************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateJvmConfiguration' => [ - 'summary' => 'Configures the Java virtual machine (JVM) parameters for an application or an instance group where the application is deployed.', - 'path' => '/pop/v5/app/app_jvm_config', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'JvmOptions', + 'in' => 'query', + 'schema' => ['description' => 'The custom parameters.', 'type' => 'string', 'required' => false, 'example' => '-Dproperty=value', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'MinHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-*************', - ], + 'schema' => ['description' => 'The initial size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '500', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'MaxPermSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group where the application is deployed. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* To configure the JVM parameters for an instance group, set this parameter to a specific ID.'."\n" - ."\n" - .'* To configure the JVM parameters for an application, leave this parameter empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0afc726e-077e-4357-98b2-db9f7145****', - ], + 'schema' => ['description' => 'The size of the permanent generation memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '200', 'title' => ''], ], [ - 'name' => 'Options', + 'name' => 'MaxHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom JVM parameters.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" - ."\n" - .'* If this parameter is not specified in the application configuration, the default value is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Dproperty=value', - ], + 'schema' => ['description' => 'The maximum size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '1000', 'title' => ''], ], [ - 'name' => 'MinHeapSize', + 'name' => 'EnableUrlCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The initial size of the heap memory. Unit: MB.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" - ."\n" - .'* If this parameter is not specified in the application configuration, the default value is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => 'Specifies whether to enable the health check URL. Valid values:'."\n" + ."\n" + .'- **true**: Enabled'."\n" + ."\n" + .'- **false**: Disabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'MaxPermSize', + 'name' => 'EnablePortCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the permanent generation heap memory. Unit: MB.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" - ."\n" - .'* If this parameter is not specified in the application configuration, the default value is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'Specifies whether to enable the port health check. Valid values:'."\n" + ."\n" + .'- **true**: Enabled'."\n" + ."\n" + .'- **false**: Disabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'MaxHeapSize', + 'name' => 'HealthCheckUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of the heap memory. Unit: MB.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" - ."\n" - .'* If this parameter is not specified in the application configuration, the default value is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => 'The health check URL of the application. This parameter is equivalent to the HealthCheckURL parameter.', 'type' => 'string', 'required' => false, 'example' => 'http://127.0.0.1:8080/_ehc.html', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-aek24j4s4b*****', 'title' => ''], ], ], 'responses' => [ @@ -11190,103 +7785,157 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-********************', - ], - 'JvmConfiguration' => [ - 'description' => 'The settings of the JVM parameters.'."\n", + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'The application name test-hsy-C5039-paas-6 had been created successfully.', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4264F69C-686C-4107-B493-0599C8xxxxxx', 'title' => ''], + 'ApplicationInfo' => [ + 'description' => 'The application object that is returned after the application is created.', 'type' => 'object', 'properties' => [ - 'MaxPermSize' => [ - 'description' => 'The size of the permanent generation heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Options' => [ - 'description' => 'The optional parameters.'."\n", - 'type' => 'string', - 'example' => '”“', - ], - 'MaxHeapSize' => [ - 'description' => 'The maximum size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'MinHeapSize' => [ - 'description' => 'The initial size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => 'd0cf569e-dce3-4efb-****-08b70021****', 'title' => ''], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'hello-edas-test-1', 'title' => ''], + 'Owner' => ['description' => 'The owner of the application. This is the user who created the application.', 'type' => 'string', 'example' => '249763358688********', 'title' => ''], + 'Dockerize' => ['description' => 'Indicates whether the application is a Docker application. Valid values:'."\n" + ."\n" + .'- **true**: The application is a Docker application.'."\n" + ."\n" + .'- **false**: The application is not a Docker application.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application. This ID is the unique identifier of an EDAS application.', 'type' => 'string', 'example' => '6c733bcd-6efb-47a1-8226-cf722c******', 'title' => ''], + 'UserId' => ['description' => 'The user ID of the application owner.', 'type' => 'string', 'example' => 'tdy218@1362469756xxxxxx', 'title' => ''], + 'Port' => ['description' => 'The default port of the application is 8080. You can call the UpdateContainerConfiguration operation to change the port. For more information, see [UpdateContainerConfiguration](~~149403~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-********************\\",\\n \\"JvmConfiguration\\": {\\n \\"MaxPermSize\\": 1000,\\n \\"Options\\": \\"”“\\",\\n \\"MaxHeapSize\\": 500,\\n \\"MinHeapSize\\": 500\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<JvmConfiguration>\\n <MaxPermSize>1000</MaxPermSize>\\n <MaxHeapSize>500</MaxHeapSize>\\n <MinHeapSize>500</MinHeapSize>\\n <Options/>\\n</JvmConfiguration>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateJvmConfiguration', + 'title' => 'InsertApplication', + 'description' => '> To create an application in a Kubernetes cluster, call the InsertK8sApplication operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetJvmConfiguration' => [ - 'path' => '/pop/v5/app/app_jvm_config', - 'methods' => [ - 'get', + 'extraInfo' => '## Common application parameters'."\n" + ."\n" + .'1. Assume that you use EDAS SDK for Java to create a native Dubbo or Java web application that runs in Apache Tomcat. In this case, you can use the following common parameters:'."\n" + ."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setApplicationName("hello-edas-test-1"); // The name of the application. '."\n" + .' request.setPackageType("war"); // The type of the application deployment package. This parameter is optional. '."\n" + .' request.setComponentIds("7"); // The application component. Set the value to 7 or 4. 7 indicates Apache Tomcat 8.5.42 and 4 indicates Apache Tomcat 7.0.91. '."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n" + ."\n" + .'2. Assume that you use EDAS SDK for Java to create a native Spring Boot or Spring Cloud application that runs in a standard Java application runtime environment. A Fat JAR package is used to create the application. In this case, you can use the following common parameters:'."\n" + ."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setApplicationName("hello-edas-test-2"); // The name of the application. '."\n" + .' request.setPackageType("jar"); // The type of the application deployment package. This parameter is optional. '."\n" + .' request.setComponentIds("5"); // The application component. Set the value to 5 or 6. 5 indicates OpenJDK 1.8.0 and 6 indicates OpenJDK 1.8.0. If you leave this parameter empty, OpenJDK 1.8.0 is used. '."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n" + ."\n" + .'3. Assume that you use EDAS SDK for Java to create an HSF application that runs in EDAS Container. In this case, you can use the following common parameters:'."\n" + ."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setBuildPackId(59); // The build package number of EDAS Container. The value 59 indicates that edas-container 3.5.8 is used. '."\n" + .' request.setApplicationName("hello-edas-test-3"); // The name of the application. '."\n" + .' request.setPackageType("war"); // The type of the application deployment package. Valid values: war and jar. This parameter is optional. '."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"The application name test-hsy-C5039-paas-6 had been created successfully.\\",\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8xxxxxx\\",\\n \\"ApplicationInfo\\": {\\n \\"ChangeOrderId\\": \\"d0cf569e-dce3-4efb-****-08b70021****\\",\\n \\"AppName\\": \\"hello-edas-test-1\\",\\n \\"Owner\\": \\"249763358688********\\",\\n \\"Dockerize\\": false,\\n \\"RegionName\\": \\"cn-hangzhou\\",\\n \\"AppId\\": \\"6c733bcd-6efb-47a1-8226-cf722c******\\",\\n \\"UserId\\": \\"tdy218@1362469756xxxxxx\\",\\n \\"Port\\": 8080\\n }\\n}","type":"json"}]', + ], + 'InsertCluster' => [ + 'summary' => 'Creates a cluster.', + 'path' => '/pop/v5/resource/cluster', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4***************', - ], + 'schema' => ['description' => 'The ID of the custom namespace. The ID is in the `physical region ID:custom namespace identifier` format. Example: `cn-hangzhou:test`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:td****', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'ClusterName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '****_product_test2', 'title' => ''], + ], + [ + 'name' => 'ClusterType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'* 2: Elastic Compute Service (ECS) cluster'."\n" + .'* 3: self-managed Kubernetes cluster in Enterprise Distributed Application Service (EDAS)'."\n" + .'* 5: Kubernetes cluster'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'NetworkMode', + 'in' => 'query', + 'schema' => ['description' => 'The network type of the cluster. Valid values:'."\n" + ."\n" + .'* 1: classic network'."\n" + .'* 2: virtual private cloud (VPC)'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC. This parameter is required if you set the NetworkMode parameter to 2.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-2zef6ob8mrlzv8x3q****', 'title' => ''], + ], + [ + 'name' => 'OversoldFactor', + 'in' => 'query', + 'schema' => ['description' => '**This parameter is deprecated.** The CPU overcommit ratio supported by a Docker cluster. Valid values:'."\n" + ."\n" + .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" + .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" + .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'IaasProvider', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the instance group.'."\n" + 'description' => 'The provider of Infrastructure as a Service (IaaS) resources that are used in the cluster.'."\n" ."\n" - .'* If an ID is specified, this operation queries the JVM configuration information of the instance group.'."\n" - .'* If an ID is not specified, this operation queries the JVM configuration information of the application.'."\n", + .'When you use Alibaba Cloud, set the value to `ALIYUN`. The value is case-sensitive.'."\n", 'type' => 'string', 'required' => false, - 'example' => '8123db90-880f-48**************', + 'example' => 'ALIYUN', + 'default' => 'ALIYUN', + 'enum' => ['ALIYUN', 'IDC'], + 'title' => '', ], ], ], @@ -11295,926 +7944,149 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3F43-F34V-0VCD***********', - ], - 'JvmConfiguration' => [ - 'description' => 'The JVM configuration of the application or instance group.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'Cluster' => [ + 'description' => 'The information about the cluster that was created.'."\n", 'type' => 'object', 'properties' => [ - 'MaxPermSize' => [ - 'description' => 'The size of the permanent generation heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'MaxHeapSize' => [ - 'description' => 'The maximum size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Options' => [ - 'description' => 'The custom parameter.'."\n", - 'type' => 'string', - 'example' => '-XX:+UseConcMarkSweepGC -XX:-UseParNewGC', - ], - 'MinHeapSize' => [ - 'description' => 'The initial size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], + 'VpcId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-2zef6ob8mrlzv8x3q****', 'title' => ''], + 'OversoldFactor' => ['description' => '**This parameter is deprecated.** The CPU overcommit ratio supported by the Docker cluster. Valid values:'."\n" + ."\n" + .'* 2: 1:2, which means that resources are overcommitted by 1:2.'."\n" + .'* 4: 1:4, which means that resources are overcommitted by 1:4.'."\n" + .'* 8: 1:8, which means that resources are overcommitted by 1:8.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'NetworkMode' => ['description' => 'The network type of the cluster. Valid values:'."\n" + ."\n" + .'* 1: classic network'."\n" + .'* 2\\. VPC'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'IaasProvider' => ['description' => 'The provider of the IaaS resources that are used in the cluster.'."\n", 'type' => 'string', 'example' => 'ALIYUN', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'* 2: ECS cluster'."\n" + .'* 3: self-managed Kubernetes cluster in EDAS'."\n" + .'* 5: Kubernetes cluster'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.'."\n", 'type' => 'string', 'example' => '****_product_test2', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of cluster.'."\n", 'type' => 'string', 'example' => '8705ad13-5d86-47fc-b68f-257b59ed****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region in which the cluster resides.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3F43-F34V-0VCD***********\\",\\n \\"JvmConfiguration\\": {\\n \\"MaxPermSize\\": 1000,\\n \\"MaxHeapSize\\": 1000,\\n \\"Options\\": \\"-XX:+UseConcMarkSweepGC -XX:-UseParNewGC\\",\\n \\"MinHeapSize\\": 500\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<JvmConfiguration>\\n <MaxHeapSize>1000</MaxHeapSize>\\n <MinHeapSize>500</MinHeapSize>\\n <Options> -XX:+UseConcMarkSweepGC -XX:-UseParNewGC</Options>\\n</JvmConfiguration>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'GetJvmConfiguration', - 'summary' => 'Queries the Java Virtual Machine (JVM) configuration of an application or an instance group in which an application is deployed.', + 'title' => 'InsertCluster', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetApplication' => [ - 'summary' => 'Queries the details about a specified application in an Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/app/app_info', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Cluster\\": {\\n \\"VpcId\\": \\"vpc-2zef6ob8mrlzv8x3q****\\",\\n \\"OversoldFactor\\": 1,\\n \\"NetworkMode\\": 2,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"ClusterType\\": 2,\\n \\"ClusterName\\": \\"****_product_test2\\",\\n \\"ClusterId\\": \\"8705ad13-5d86-47fc-b68f-257b59ed****\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InsertClusterResponse>\\n<Message>success</Message>\\n<RequestId>b197-40ab-9155-****</RequestId>\\n<Cluster>\\n <OversoldFactor>1</OversoldFactor>\\n <VpcId>vpc-2zef6ob8mrlzv8x3q****</VpcId>\\n <ClusterId>8705ad13-5d86-47fc-b68f-257b59ed****</ClusterId>\\n <ClusterName>****_product_test2</ClusterName>\\n <RegionId>cn-beijing</RegionId>\\n <ClusterType>2</ClusterType>\\n <NetworkMode>2</NetworkMode>\\n <IaasProvider>ALIYUN</IaasProvider>\\n</Cluster>\\n<Code>200</Code>\\n</InsertClusterResponse>","errorExample":""}]', + ], + 'InsertClusterMember' => [ + 'summary' => 'Imports Elastic Compute Service (ECS) instances into an ECS cluster.', + 'path' => '/pop/v5/resource/cluster_member', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'clusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '29f0******************', - ], + 'schema' => ['description' => 'The ID of the cluster into which you want to import ECS instances.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The content that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F8DFGED-K98***************', - ], - 'Application' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'ExtSlbIp' => [ - 'description' => 'The IP address of the Internet-facing Server Load Balancer (SLB) instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => '47.114.xxx.xx', - ], - 'Owner' => [ - 'description' => 'The ID of the user who created the application.'."\n", - 'type' => 'string', - 'example' => 'ouou@117274586608****', - ], - 'SlbPort' => [ - 'description' => 'The port of the internal-facing SLB instance that is bound to the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'NameSpace' => [ - 'description' => 'The namespace to which the application belongs.'."\n", - 'type' => 'string', - 'example' => 'doc-test', - ], - 'ExtSlbName' => [ - 'description' => 'The name of the Internet-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => 'aa8eee383db084f42aebc4d9f52c****', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1610550324226', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'test@dd******', - ], - 'Port' => [ - 'description' => 'The service port of the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => 'The number of running instances for the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SlbIp' => [ - 'description' => 'The IP address of the internal-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => '192.168.0.100', - ], - 'Dockerize' => [ - 'description' => 'Indicates whether the application is a Docker application. Valid values:'."\n" - ."\n" - .'* false: The application is not a Docker application.'."\n" - .'* true: The application is a Docker application.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceCount' => [ - 'description' => 'The number of instances deployed with the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'cfac****-847e-4325-ad56-b5c2bc54****', - ], - 'SlbInfo' => [ - 'description' => 'The information about the internal-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Memory' => [ - 'description' => 'The memory size of the application instance. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterId' => [ - 'description' => 'The ID of the ECS cluster in which the application is deployed.'."\n", - 'type' => 'string', - 'example' => '5ffc5895-****-b03a-c223c6c3****', - ], - 'SlbId' => [ - 'description' => 'The ID of the internal-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => 'lb-bp****ck3s3b9xs6x****', - ], - 'HealthCheckUrl' => [ - 'description' => 'The health check URL of the application.'."\n", - 'type' => 'string', - 'example' => 'http://127.0.0.1:8080/xyz.html', - ], - 'ApplicationType' => [ - 'description' => 'The deployment type of the application. Valid values:'."\n" - ."\n" - .'* War: The application is deployed by using a WAR package.'."\n" - .'* FatJar: The application is deployed by using a JAR package.'."\n" - .'* Empty: The application is not deployed.'."\n", - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ExtSlbId' => [ - 'description' => 'The ID of the Internet-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1vceck3s3b9xs6x****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region in which the application is deployed.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'BuildPackageId' => [ - 'description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '59', - ], - 'Email' => [ - 'description' => 'The email address of the account.'."\n", - 'type' => 'string', - 'example' => 'xxxx@gmail.com', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: regular Docker cluster'."\n" - .'* 1: Swarm cluster'."\n" - .'* 2: ECS cluster'."\n" - .'* 3: Kubernetes cluster'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'SlbName' => [ - 'description' => 'The name of the internal-facing SLB instance that is bound to the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableUrlCheck' => [ - 'description' => 'Indicates whether the URL health check is enabled. Valid values:'."\n" - ."\n" - .'* true: The URL health check is enabled.'."\n" - .'* false: The URL health check is disabled.'."\n" - ."\n" - .'If the URL health check is enabled, EDAS attempts to detect the specified URL during application startup. If EDAS detects the specified URL, the application is considered to have started.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'EnablePortCheck' => [ - 'description' => 'Indicates whether the port health check is enabled. Valid values:'."\n" - ."\n" - .'* true: The port health check is enabled.'."\n" - .'* false: The port health check is disabled.'."\n" - ."\n" - .'If the port health check is enabled, EDAS checks whether a port exists during application startup. If the port exists, the application is considered to have started.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AppPhase' => [ - 'description' => 'The current status of the Kubernetes application, which is used to determine whether the application is in a stable state. If the application is in an unstable state, related configuration operations are prohibited. Valid values:'."\n" - ."\n" - .'* ready: The application is in the ready state and can be changed.'."\n" - .'* progressive: The application is being changed.'."\n" - .'* pending: The application change is blocked.'."\n" - .'* failed: The application fails to be changed.'."\n" - ."\n" - .'In these states, ready is a stable state and other states are unstable.'."\n", - 'type' => 'string', - 'example' => 'ready', - ], - 'HaveManageAccess' => [ - 'type' => 'string', - ], - 'WorkloadType' => [ - 'type' => 'string', - ], - 'ResourceGroupId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], + [ + 'name' => 'instanceIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECS instance that you want to import into the cluster. Separate multiple IDs with commas (,).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2ze7s2v0b789k60p****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"F8DFGED-K98***************\\",\\n \\"Application\\": {\\n \\"ExtSlbIp\\": \\"47.114.xxx.xx\\",\\n \\"Owner\\": \\"ouou@117274586608****\\",\\n \\"SlbPort\\": 80,\\n \\"NameSpace\\": \\"doc-test\\",\\n \\"ExtSlbName\\": \\"aa8eee383db084f42aebc4d9f52c****\\",\\n \\"CreateTime\\": 1610550324226,\\n \\"UserId\\": \\"test@dd******\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"SlbIp\\": \\"192.***.***.***\\",\\n \\"Dockerize\\": false,\\n \\"Description\\": \\"test\\",\\n \\"InstanceCount\\": 1,\\n \\"AppId\\": \\"cfac****-847e-4325-ad56-b5c2bc54****\\",\\n \\"SlbInfo\\": \\"test\\",\\n \\"Memory\\": 0,\\n \\"Name\\": \\"test\\",\\n \\"ClusterId\\": \\"5ffc5895-****-b03a-c223c6c3****\\",\\n \\"SlbId\\": \\"lb-bp****ck3s3b9xs6x****\\",\\n \\"HealthCheckUrl\\": \\"http://127.0.0.1:8080/xyz.html\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ExtSlbId\\": \\"lb-bp1vceck3s3b9xs6x****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BuildPackageId\\": 59,\\n \\"Email\\": \\"****@***.com\\",\\n \\"Cpu\\": 1,\\n \\"ClusterType\\": \\"2\\",\\n \\"SlbName\\": \\"test\\",\\n \\"EnableUrlCheck\\": false,\\n \\"EnablePortCheck\\": false,\\n \\"AppPhase\\": \\"ready\\",\\n \\"HaveManageAccess\\": \\"true\\",\\n \\"WorkloadType\\": \\"StatefulSet\\",\\n \\"ResourceGroupId\\": \\"rg-aekz****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>F8DFGED-K98***************</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>\\n<Application>\\n <SlbId>lb-bp****ck3s3b9xs6x****</SlbId>\\n <Owner>ouou@117274586608****</Owner>\\n <Email>xxxx@gmail.com</Email>\\n <Description>test</Description>\\n <HealthCheckUrl>http://127.0.0.1:8080/xyz.html</HealthCheckUrl>\\n <Memory>0</Memory>\\n <Port>8080</Port>\\n <NameSpace>doc-test</NameSpace>\\n <Cpu>1</Cpu>\\n <SlbName>test</SlbName>\\n <Name>test</Name>\\n <SlbPort>80</SlbPort>\\n <SlbIp>192.168.0.100</SlbIp>\\n <BuildPackageId>59</BuildPackageId>\\n <Dockerize>false</Dockerize>\\n <ClusterId>5ffc5895-****-b03a-c223c6c3****</ClusterId>\\n <CreateTime>1610550324226</CreateTime>\\n <ClusterType>2</ClusterType>\\n <SlbInfo>test</SlbInfo>\\n <ExtSlbId>lb-bp1vceck3s3b9xs6x****</ExtSlbId>\\n <ApplicationType>FatJar</ApplicationType>\\n <ExtSlbName>aa8eee383db084f42aebc4d9f52c****</ExtSlbName>\\n <InstanceCount>1</InstanceCount>\\n <AppId>cfac****-847e-4325-ad56-b5c2bc54****</AppId>\\n <UserId>test@dd******</UserId>\\n <RegionId>cn-hangzhou</RegionId>\\n <ExtSlbIp>47.114.xxx.xx</ExtSlbIp>\\n <RunningInstanceCount>1</RunningInstanceCount>\\n</Application>","errorExample":""}]', - 'title' => 'GetApplication', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => "\n", - 'extraInfo' => ' ', - ], - 'ListComponents' => [ - 'summary' => 'Queries the components that are related to applications in Elastic Compute Service (ECS) clusters.', - 'path' => '/pop/v5/resource/components', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'password', + 'in' => 'query', + 'schema' => ['description' => 'The logon password of the ECS instance that you want to import into the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'YourPassword', 'title' => ''], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ComponentList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Component' => [ - 'description' => 'The components.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the component. Valid values:'."\n" - ."\n" - .'* JDK'."\n" - .'* TOMCAT'."\n" - .'* TENGINE'."\n", - 'type' => 'string', - 'example' => 'JDK', - ], - 'ComponentKey' => [ - 'description' => 'The key of the component.'."\n", - 'type' => 'string', - 'example' => 'JDK 7', - ], - 'Version' => [ - 'description' => 'The version of the component.'."\n", - 'type' => 'string', - 'example' => 'oraclejdk7', - ], - 'Expired' => [ - 'description' => 'Indicates whether the component has expired. Valid values:'."\n" - ."\n" - .'* false: The component has not expired.'."\n" - .'* true: The component has expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ComponentId' => [ - 'description' => 'The ID of the component.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Desc' => [ - 'description' => 'The description of the component.'."\n", - 'type' => 'string', - 'example' => 'JDK 7', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The data returned for the request.'."\n", 'type' => 'string', 'example' => 'Transform submit success!', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '01B49A88-B06F-423B-A5EF-E5C0A89******', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"ComponentList\\": {\\n \\"Component\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"JDK 7\\",\\n \\"Version\\": \\"oraclejdk7\\",\\n \\"Expired\\": false,\\n \\"ComponentId\\": \\"1\\",\\n \\"Desc\\": \\"JDK 7\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ComponentList>\\n <Component>\\n <Desc>JDK 7</Desc>\\n <Type>JDK</Type>\\n <Version>oraclejdk7</Version>\\n <ComponentKey>JDK 7</ComponentKey>\\n <Expired>false</Expired>\\n <ComponentId>1</ComponentId>\\n </Component>\\n</ComponentList>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListComponents', - 'requestParamsDescription' => 'No request parameters.'."\n", + 'title' => 'InsertClusterMember', + 'description' => '##'."\n" + ."\n" + .'If you call this operation to import an ECS instance, the operating system of the ECS instance is reinstalled. After the operating system is reinstalled, all original data of the ECS instance is deleted. In addition, you must set a logon password for the ECS instance. Make sure that no important data exists on the ECS instance that you want to import or data has been backed up for the ECS instance.'."\n" + ."\n" + .'> We recommend that you call the InstallAgent operation instead of this operation. For more information, see [InstallAgent](~~127023~~).'."\n", + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryApplicationStatus' => [ - 'path' => '/pop/v5/app/app_status', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertClusterMember'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-441**************', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The content that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-********', - ], - 'AppInfo' => [ - 'description' => 'The information about the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'EcuList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ecu' => [ - 'description' => 'The information about elastic compute units (ECUs).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the ECU.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-wz9b246zg************', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECU was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - 'IpAddr' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '172.16.*.**', - ], - 'AvailableCpu' => [ - 'description' => 'The number of available CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626207270', - ], - 'UserId' => [ - 'description' => 'The ID of the user associated with the ECU.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-wz9fp1ljg***********', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-shen****-*', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU. You can run the `dmidecode` command on the ECS instance to query the ECU ID.'."\n", - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'GroupId' => [ - 'description' => 'The ID of the group.'."\n", - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'DockerEnv' => [ - 'description' => 'Indicates whether Docker is installed.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Online' => [ - 'description' => 'Indicates whether the ECU is online.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => 'The size of the available memory.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-shen****-*', - ], - 'Name' => [ - 'description' => 'The name of the ECU.'."\n", - 'type' => 'string', - 'example' => 'EDAS-scaled-cluster: default cluster'."\n", - ], - 'HeartbeatTime' => [ - 'description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - ], - ], - ], - ], - ], - 'EccList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ecc' => [ - 'description' => 'The information about elastic compute containers (ECCs).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the ECC.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-wz9b246zg************', - ], - 'UpdateTime' => [ - 'description' => 'The time when the ECC was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU.'."\n", - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'EccId' => [ - 'description' => 'The unique ID of the ECC.'."\n", - 'type' => 'string', - 'example' => '0cf49a6c-95a8-4aa8-****-************', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group.'."\n", - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'AppState' => [ - 'description' => 'The status of the application instance. Valid values:'."\n" - ."\n" - .'* 0: AGENT_OFF: indicates that the agent is offline.'."\n" - .'* 1: STOPPED: indicates that the application is stopped.'."\n" - .'* 3: RUNNING_BUT_URL_FAILED: indicates that the health check failed.'."\n" - .'* 7: RUNNING: indicates that the application is running.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'TaskState' => [ - 'description' => 'The state of the latest task initiated on the application instance. Valid values:'."\n" - ."\n" - .'* 0: UNKNOWN: indicates that the state of the latest task is unknown.'."\n" - .'* 1: PROCESSING: indicates that the latest task is being processed.'."\n" - .'* 2: SUCCESS: indicates that the latest task is executed.'."\n" - .'* 3: FAILED: indicates that the latest task failed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CreateTime' => [ - 'description' => 'The time when the ECC was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626226691', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'ContainerStatus' => [ - 'description' => 'The status of the container.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'Ip' => [ - 'description' => 'The private IP address of the ECU.'."\n", - 'type' => 'string', - 'example' => '172.16.*.***', - ], - ], - ], - ], - ], - ], - 'GroupList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Group' => [ - 'description' => 'The information about the instance groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the instance group.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the instance group was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627441388', - ], - 'GroupName' => [ - 'description' => 'The name of the instance group.'."\n", - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group.'."\n", - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'CreateTime' => [ - 'description' => 'The time when the instance group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626155185', - ], - 'AppVersionId' => [ - 'description' => 'The ID of the change process for application deployment in the instance group.'."\n", - 'type' => 'string', - 'example' => 'changeorder_a**_*******_**', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'PackageVersionId' => [ - 'description' => 'The version of the deployment package that was used to deploy an application in the instance group.'."\n", - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'GroupType' => [ - 'description' => 'The type of the instance group. Valid values:'."\n" - ."\n" - .'* 0: default group'."\n" - .'* 1: self-managed group'."\n" - .'* 2: canary release group'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - ], - ], - ], - ], - ], - 'DeployRecordList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DeployRecord' => [ - 'description' => 'The information about deployment records.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of deployment records.'."\n", - 'type' => 'object', - 'properties' => [ - 'EccId' => [ - 'description' => 'The unique ID of the ECC.'."\n", - 'type' => 'string', - 'example' => '0cf49a6c-95a8-4aa8-****-************', - ], - 'EcuId' => [ - 'description' => 'The unique ID of the ECU.'."\n", - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'PackageMd5' => [ - 'description' => 'The MD5 hash value of the deployment package.'."\n", - 'type' => 'string', - 'example' => 'd0db5bcb442e492104d0f00e10a03dd9', - ], - 'CreateTime' => [ - 'description' => 'The time when the deployment record was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626226691', - ], - 'PackageVersionId' => [ - 'description' => 'The version of the deployment package that was used to deploy an application in the instance group.'."\n", - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'DeployRecordId' => [ - 'description' => 'The ID of the deployment record.'."\n", - 'type' => 'string', - 'example' => 'bbc6c0d5-d792-4907-****-************', - ], - ], - ], - ], - ], - ], - 'Application' => [ - 'description' => 'The basic information about the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthCheckUrl' => [ - 'description' => 'The health check URL.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'Owner' => [ - 'description' => 'The ID of the user who created the application.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626207270', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'Port' => [ - 'description' => 'The port used by the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => 'The number of application instances that are running.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Phone' => [ - 'description' => 'The mobile number of the user who created the application.'."\n", - 'type' => 'string', - 'example' => '1886666****', - ], - 'RegionId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen:test', - ], - 'BuildPackageId' => [ - 'description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Dockerize' => [ - 'description' => 'Indicates whether the application is a Docker application.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Email' => [ - 'description' => 'The email address of the user who created the application.'."\n", - 'type' => 'string', - 'example' => '1234567@qq.com', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores used by the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InstanceCount' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LaunchTime' => [ - 'description' => 'The time when the application was launched. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Memory' => [ - 'description' => 'The memory size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'EDAS-scaled-cluster:default cluster'."\n", - ], - 'ApplicationId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - ], - ], - ], - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-********\\",\\n \\"AppInfo\\": {\\n \\"EcuList\\": {\\n \\"Ecu\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246zg************\\",\\n \\"UpdateTime\\": 1573635952012,\\n \\"IpAddr\\": \\"172.16.*.**\\",\\n \\"AvailableCpu\\": 0,\\n \\"CreateTime\\": 1573626207270,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"InstanceId\\": \\"i-wz9fp1ljg***********\\",\\n \\"RegionId\\": \\"cn-shen****-*\\",\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"DockerEnv\\": false,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 0,\\n \\"ZoneId\\": \\"cn-shen****-*\\",\\n \\"Name\\": \\"EDAS-scaled-cluster:默认集群\\",\\n \\"HeartbeatTime\\": 1573635952012\\n }\\n ]\\n },\\n \\"EccList\\": {\\n \\"Ecc\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246zg************\\",\\n \\"UpdateTime\\": 1573635952012,\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"EccId\\": \\"0cf49a6c-95a8-4aa8-****-************\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"AppState\\": 7,\\n \\"TaskState\\": 3,\\n \\"CreateTime\\": 1573626226691,\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"ContainerStatus\\": \\"“”\\",\\n \\"Ip\\": \\"172.16.*.***\\"\\n }\\n ]\\n },\\n \\"GroupList\\": {\\n \\"Group\\": [\\n {\\n \\"UpdateTime\\": 1573627441388,\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"CreateTime\\": 1573626155185,\\n \\"AppVersionId\\": \\"changeorder_a**_*******_**\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"PackageVersionId\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"GroupType\\": 0,\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\"\\n }\\n ]\\n },\\n \\"DeployRecordList\\": {\\n \\"DeployRecord\\": [\\n {\\n \\"EccId\\": \\"0cf49a6c-95a8-4aa8-****-************\\",\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"PackageMd5\\": \\"d0db5bcb442e492104d0f00e10a03dd9\\",\\n \\"CreateTime\\": 1573626226691,\\n \\"PackageVersionId\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"DeployRecordId\\": \\"bbc6c0d5-d792-4907-****-************\\"\\n }\\n ]\\n },\\n \\"Application\\": {\\n \\"HealthCheckUrl\\": \\"“”\\",\\n \\"Owner\\": \\"edas_com***_****@******-*****.***\\",\\n \\"CreateTime\\": 1573626207270,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"Phone\\": \\"1886666****\\",\\n \\"RegionId\\": \\"cn-shenzhen:test\\",\\n \\"BuildPackageId\\": 0,\\n \\"Dockerize\\": false,\\n \\"Email\\": \\"1234567@qq.com\\",\\n \\"Cpu\\": 0,\\n \\"InstanceCount\\": 1,\\n \\"LaunchTime\\": 0,\\n \\"Memory\\": 0,\\n \\"Name\\": \\"EDAS-scaled-cluster:默认集群\\",\\n \\"ApplicationId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<AppInfo>\\n <EcuList>\\n <Ecu>\\n <AvailableMem>0</AvailableMem>\\n <AvailableCpu>0</AvailableCpu>\\n <InstanceId>i-wz9fp1ljg***********</InstanceId>\\n <Online>true</Online>\\n <UpdateTime>1573635952012</UpdateTime>\\n <UserId>edas_com***_****@******-*****.***</UserId>\\n <ZoneId>cn-shen****-*</ZoneId>\\n <GroupId>8123db90-880f-486f-****-************</GroupId>\\n <VpcId>vpc-wz9b246zg************</VpcId>\\n <IpAddr>172.16.0.107</IpAddr>\\n <Name>EDAS-scaled-cluster:默认集群</Name>\\n <HeartbeatTime>1573635952012</HeartbeatTime>\\n <CreateTime>1573626207270</CreateTime>\\n <RegionId>cn-shenzhen:xuanye</RegionId>\\n <EcuId>07bd417a-b863-477d-****-************</EcuId>\\n <DockerEnv>false</DockerEnv>\\n </Ecu>\\n </EcuList>\\n <EccList>\\n <Ecc>\\n <Ip>172.16.*.***</Ip>\\n <AppState>7</AppState>\\n <EccId>0cf49a6c-95a8-4aa8-****-************</EccId>\\n <CreateTime>1573626226691</CreateTime>\\n <AppId>3616cdca-4f92-4413-****-************</AppId>\\n <UpdateTime>1573635952024</UpdateTime>\\n <EcuId>07bd417a-b863-477d-****-************</EcuId>\\n <TaskState>3</TaskState>\\n <GroupId>8123db90-880f-486f-****-************</GroupId>\\n <VpcId>vpc-wz9b246zg************</VpcId>\\n </Ecc>\\n </EccList>\\n <Application>\\n <HealthCheckUrl/>\\n <Owner>edas_com***_****@******-*****.***</Owner>\\n <Phone>1886666****</Phone>\\n <RunningInstanceCount>1</RunningInstanceCount>\\n <BuildPackageId>0</BuildPackageId>\\n <UserId>edas_com***_****@******-*****.***</UserId>\\n <ApplicationId>3616cdca-4f92-4413-****-************</ApplicationId>\\n <Name>testPopApi</Name>\\n <InstanceCount>1</InstanceCount>\\n <Memory>0</Memory>\\n <Cpu>0</Cpu>\\n <Port>8080</Port>\\n <Email>1234567@qq.com</Email>\\n <ClusterId>0d247b93-8d62-4e34-****-************</ClusterId>\\n <Dockerize>false</Dockerize>\\n <RegionId>cn-*******</RegionId>\\n <CreateTime>1573626155177</CreateTime>\\n <LaunchTime>0</LaunchTime>\\n </Application>\\n <DeployRecordList>\\n <DeployRecord>\\n <EccId>0cf49a6c-95a8-4aa8-****-************</EccId>\\n <PackageVersionId>441beb18-da42-44dc-****-************</PackageVersionId>\\n <CreateTime>1573627453139</CreateTime>\\n <DeployRecordId>bbc6c0d5-d792-4907-****-************</DeployRecordId>\\n <EcuId>07bd417a-b863-477d-****-************</EcuId>\\n <PackageMd5>d0db5bcb442e492104d0f00e10a03dd9</PackageMd5>\\n </DeployRecord>\\n </DeployRecordList>\\n <GroupList>\\n <Group>\\n <GroupType>0</GroupType>\\n <GroupName>_DEFAULT_GROUP</GroupName>\\n <ClusterId>0d247b93-8d62-4e34-****-************</ClusterId>\\n <PackageVersionId>441beb18-da42-44dc-****-************</PackageVersionId>\\n <CreateTime>1573626155185</CreateTime>\\n <AppId>3616cdca-4f92-4413-****-************</AppId>\\n <UpdateTime>1573627441388</UpdateTime>\\n <AppVersionId>changeorder_a**_*******_**</AppVersionId>\\n <GroupId>8123db90-880f-486f-****-************</GroupId>\\n </Group>\\n </GroupList>\\n</AppInfo>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'QueryApplicationStatus', - 'summary' => 'Queries the status of an application.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"Transform submit success!\\",\\n \\"RequestId\\": \\"01B49A88-B06F-423B-A5EF-E5C0A89******\\"\\n}","errorExample":""},{"type":"xml","example":"<InsertClusterMemberResponse>\\n <RequestId>01B49A88-B06F-423B-A5EF-E5C0A892709D</RequestId>\\n <Data>Transform submit success!</Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n</InsertClusterMemberResponse>","errorExample":""}]', ], 'InsertDeployGroup' => [ 'summary' => 'Creates an instance group for a specified application.', 'path' => '/pop/v5/deploy_group', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12222,43 +8094,22 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-***********', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-***********', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance group. The name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The name of the instance group. The name can be up to 64 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'InitPackageVersionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the initial deployment package associated with the instance group. You can call the ListHistoryDeployVersion operation to query the version. For more information, see [ListHistoryDeployVersion](~~149392~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '441beb18-da42-44dc-****-****', - ], + 'schema' => ['description' => 'The version of the initial deployment package associated with the instance group. You can call the ListHistoryDeployVersion operation to query the version. For more information, see [ListHistoryDeployVersion](~~149392~~).', 'type' => 'string', 'required' => false, 'example' => '441beb18-da42-44dc-****-****', 'title' => ''], ], ], 'responses' => [ @@ -12266,106 +8117,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3RD9-D3FRE****************', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3RD9-D3FRE****************', 'title' => ''], 'DeployGroupEntity' => [ - 'description' => 'The information about the instance group.'."\n", + 'description' => 'The information about the instance group.', 'type' => 'object', 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the instance group was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'GroupName' => [ - 'description' => 'The name of the instance group.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => 'The time when the instance group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'AppVersionId' => [ - 'description' => 'The version of the deployment package for the application.'."\n" - ."\n" - .'* If the application is deployed, a string of random numbers is returned.'."\n" - .'* If the application is not deployed, the return value is empty.'."\n", - 'type' => 'string', - 'example' => '****f4c50-16ee-a02b-667*****', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-***********', - ], - 'PackageVersionId' => [ - 'description' => 'The version of the deployment package that was used to deploy an application in the instance group.'."\n" - ."\n" - .'* If an application is deployed in the instance group, a string of random numbers is returned.'."\n" - .'* If no application is deployed in the instance group, the return value is empty.'."\n", - 'type' => 'string', - 'example' => '****7b93-8d62-4e34***********', - ], - 'GroupType' => [ - 'description' => 'The type of the instance group. Valid values:'."\n" - ."\n" - .'* 0: the default group.'."\n" - .'* 1: a group for which canary traffic management is not enabled.'."\n" - .'* 2: a group for which canary traffic management is enabled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Id' => [ - 'description' => 'The ID of the instance group.'."\n", - 'type' => 'string', - 'example' => '577f4c50-16ee-43d8-a02b-667*********', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34***********', - ], + 'UpdateTime' => ['description' => 'The time when the instance group was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779', 'title' => ''], + 'GroupName' => ['description' => 'The name of the instance group.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the instance group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779', 'title' => ''], + 'AppVersionId' => ['description' => 'The version of the deployment package for the application.'."\n" + ."\n" + .'- If the application is deployed, a string of random numbers is returned.'."\n" + ."\n" + .'- If the application is not deployed, the return value is empty.', 'type' => 'string', 'example' => '****f4c50-16ee-a02b-667*****', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-***********', 'title' => ''], + 'PackageVersionId' => ['description' => 'The version of the deployment package that was used to deploy an application in the instance group.'."\n" + ."\n" + .'- If an application is deployed in the instance group, a string of random numbers is returned.'."\n" + ."\n" + .'- If no application is deployed in the instance group, the return value is empty.', 'type' => 'string', 'example' => '****7b93-8d62-4e34***********', 'title' => ''], + 'GroupType' => ['description' => 'The type of the instance group. Valid values:'."\n" + ."\n" + .'- 0: the default group.'."\n" + ."\n" + .'- 1: a group for which canary traffic management is not enabled.'."\n" + ."\n" + .'- 2: a group for which canary traffic management is enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Id' => ['description' => 'The ID of the instance group.', 'type' => 'string', 'example' => '577f4c50-16ee-43d8-a02b-667*********', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '0d247b93-8d62-4e34***********', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3RD9-D3FRE****************\\",\\n \\"DeployGroupEntity\\": {\\n \\"UpdateTime\\": 1573627695779,\\n \\"GroupName\\": \\"test\\",\\n \\"CreateTime\\": 1573627695779,\\n \\"AppVersionId\\": \\"****f4c50-16ee-a02b-667*****\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-***********\\",\\n \\"PackageVersionId\\": \\"****7b93-8d62-4e34***********\\",\\n \\"GroupType\\": 1,\\n \\"Id\\": \\"577f4c50-16ee-43d8-a02b-667*********\\",\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34***********\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<DeployGroupEntity>\\n <GroupType>1</GroupType>\\n <GroupName>test</GroupName>\\n <ClusterId>0d247b93-8d62-4e34***************</ClusterId>\\n <PackageVersionId/>\\n <CreateTime>1573627695779</CreateTime>\\n <AppId>3616cdca-4f92-4413-***********</AppId>\\n <UpdateTime>1573627695779</UpdateTime>\\n <Id>577f4c50-16ee-43d8-a02b-667*********</Id>\\n <AppVersionId/>\\n</DeployGroupEntity>\\n<Code>200</Code>","errorExample":""}]', 'title' => 'InsertDeployGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BindEcsSlb' => [ - 'summary' => 'Binds a Server Load Balancer (SLB) instance to an application that is deployed in an Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/app/slb/bind_slb', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertDeployGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3RD9-D3FRE****************\\",\\n \\"DeployGroupEntity\\": {\\n \\"UpdateTime\\": 1573627695779,\\n \\"GroupName\\": \\"test\\",\\n \\"CreateTime\\": 1573627695779,\\n \\"AppVersionId\\": \\"****f4c50-16ee-a02b-667*****\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-***********\\",\\n \\"PackageVersionId\\": \\"****7b93-8d62-4e34***********\\",\\n \\"GroupType\\": 1,\\n \\"Id\\": \\"577f4c50-16ee-43d8-a02b-667*********\\",\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34***********\\"\\n }\\n}","type":"json"}]', + ], + 'InsertK8sApplication' => [ + 'path' => '/pop/v5/k8s/acs/create_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12373,1406 +8194,729 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'IntranetTargetPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => 'The backend port of the internal-facing SLB instance. This is also the service port of the application. The value must be in the range of 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], ], [ - 'name' => 'SlbId', + 'name' => 'IntranetSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-uf6j54m3a****cj01jx8', - ], + 'schema' => ['description' => 'The frontend port of the internal-facing SLB instance. The value must be in the range of 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], ], [ - 'name' => 'ListenerPort', + 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener port for the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '80', - ], + 'schema' => ['description' => 'The address of the image. This parameter is required when you set `PackageType` to `Image`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'registry.cn-beijing.aliyuncs.com/****_test/****-cons****:1.0'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'ApplicationDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group for the SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-2ze****6l*****', - ], + 'schema' => ['description' => 'The description of the application.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Production Environment'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'RepoId', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener protocol for the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'The ID of the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ced********'], ], [ - 'name' => 'DeployGroupId', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group whose application you want to bind. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '577f4c50-16ee-43d8-****-****', - ], + 'schema' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '4'], ], [ - 'name' => 'VServerGroupName', + 'name' => 'LimitCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '****/31405/internet-test-ack-test****/default/clusterid', - ], + 'schema' => ['description' => 'The maximum number of CPU cores that can be used by an application instance. If you specify LimitmCpu, this parameter is ignored.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '4'], ], [ - 'name' => 'ListenerHealthCheckUrl', + 'name' => 'LimitMem', 'in' => 'query', - 'schema' => [ - 'description' => 'The health check URL.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/_ehc.html', - ], + 'schema' => ['description' => 'The maximum amount of memory that can be used by an application instance. Unit: MB. The value of LimitMem must be greater than or equal to the value of RequestsMem.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '2'], ], [ - 'name' => 'VForwardingUrlRule', + 'name' => 'RequestsCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The forwarding rule of the SLB listener.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com/forwarding', - ], + 'schema' => ['description' => 'The number of CPU cores requested for an application instance upon creation. Unit: cores. A value of 0 means no limit. If you specify RequestsmCpu, this parameter is ignored.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The change process ID for this operation.'."\n", - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', - ], - ], - ], + [ + 'name' => 'RequestsMem', + 'in' => 'query', + 'schema' => ['description' => 'The amount of memory requested for an application instance upon creation. Unit: MB. A value of 0 means no limit. The value of RequestsMem cannot be greater than the value of LimitMem.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","type":"json"}]', - 'title' => 'BindEcsSlb', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UnbindSlb' => [ - 'summary' => 'Unbinds a Server Load Balancer (SLB) instance from an application.', - 'path' => '/pop/app/unbind_slb_json', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => 'The startup command of the application. If you set this parameter, the original startup command of the image is overridden.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ls'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d-********************', - ], + 'schema' => ['description' => 'The arguments for the startup command. The arguments are a JSON array of strings. Example: `[{"argument":"-c"},{"argument":"test"}]`. In this example, `-c` and `test` are two arguments.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"argument":"-lh"}]'], ], [ - 'name' => 'SlbId', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-wz9vo49****************', - ], + 'schema' => ['description' => 'The name of the application. The name must start with a letter and can contain digits, letters, and hyphens (-). The name can be up to 36 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'doc-test'], ], [ - 'name' => 'Type', + 'name' => 'IntranetSlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the SLB instance. Valid values:'."\n" - ."\n" - .'* **internet**: Internet-facing SLB instance'."\n" - .'* **intranet**: internal-facing SLB instance'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], + 'schema' => ['description' => 'The protocol used by the internal-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TCP'], ], [ - 'name' => 'DeleteListener', + 'name' => 'IntranetSlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the configured listeners. Valid values:'."\n" - ."\n" - .'* true: removes the configured listeners.'."\n" - .'* false: does not remove the configured listeners.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the internal-facing SLB instance. If you do not specify this parameter, EDAS automatically purchases a new SLB instance for you.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ae93********'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'Unbind slb success', - ], - 'Data' => [ - 'description' => 'This parameter is left empty. It has no meaning.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - ], - ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'c9cd****'], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Unbind slb success\\",\\n \\"Data\\": \\"{}\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>D16979DC-4D42-************</RequestId>\\n<Message>Unbind slb success</Message>\\n<Data>{}</Data>\\n<Code>200</Code>","errorExample":""}]', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RollbackApplication' => [ - 'path' => '/pop/v5/changeorder/co_rollback', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'InternetSlbId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the internet-facing SLB instance. If you do not specify this parameter, EDAS automatically purchases a new SLB instance for you.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'a3d4********'], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'InternetSlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~423162~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-4413-************', - ], + 'schema' => ['description' => 'The protocol used by the internet-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TCP'], ], [ - 'name' => 'HistoryVersion', + 'name' => 'InternetSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The historical version to which you want to roll back the application. Call the ListHistoryDeployVersion operation to query the historical versions of the application. Then, set this parameter based on the returned value of `PackageVersion`. For more information, see [ListHistoryDeployVersion](~~423163~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-13 14:22:22', - ], + 'schema' => ['description' => 'The frontend port of the internet-facing SLB instance. The value must be in the range of 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], ], [ - 'name' => 'GroupId', + 'name' => 'InternetTargetPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The application group ID. You can call the ListDeployGroup operation to query the application group ID. For more information, see [ListDeployGroup](~~423184~~).'."\n" - ."\n" - .'If you need to roll back the application in all application groups, set this parameter to `all`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '8123db90-880f-48***************', - ], + 'schema' => ['description' => 'The backend port of the internal SLB instance, which also serves as the service port for the application. The port number must be an integer from 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '8080'], ], [ - 'name' => 'Batch', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of batches for the rollback. Default value: 1. Valid values: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The environment variables for the deployment. The value must be a JSON array of objects. Three types of environment variables are supported: regular environment variables, Kubernetes ConfigMap environment variables, and Kubernetes Secret environment variables. The format of a regular environment variable is as follows:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'You can use a ConfigMap to inject the value of a specific key into a container\'s environment variable. The format is as follows:'."\n" + ."\n" + .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" + ."\n" + .'You can use a Secret to inject the value of a specific key into a container\'s environment variable. The format is as follows:'."\n" + ."\n" + .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" + ."\n" + .'> To clear this configuration, set the value to an empty JSON array (\\[]).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]'], ], [ - 'name' => 'BatchWaitTime', + 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => 'The wait time between batches. Default value: 0. The default value indicates no wait time. Valid values: 0 to 5. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The script that is run before the container is stopped. Example: `{"tcpSocket":{"host":"", "port":8080}}`.'."\n" + ."\n" + .'To clear this configuration, set the value to `""` or `{}`. If you do not set this parameter, it is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The change process ID. You can call the GetChangeOrderInfo operation to query the progress of this rollback. For more information, see [GetChangeOrderInfo](~~423155~~).'."\n", - 'type' => 'string', - 'example' => '921026b8-d1be-************', - ], - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*********', - ], - ], - ], + [ + 'name' => 'PostStart', + 'in' => 'query', + 'schema' => ['description' => 'The script that is run after the container is started. Example: `{"exec":{"command":["cat","/etc/group"]}}`.'."\n" + ."\n" + .'To clear this configuration, set the value to `""` or `{}`. If you do not set this parameter, it is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"921026b8-d1be-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*********\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>D16979DC-4D42-*********</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>921026b8-d1be-************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'RollbackApplication', - 'summary' => 'Rolls back an application.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InsertApplication' => [ - 'summary' => 'Creates an application in an Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/changeorder/co_create_app', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Liveness', + 'in' => 'query', + 'schema' => ['description' => 'The liveness probe of the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`.'."\n" + ."\n" + .'To clear this configuration, set the value to `""` or `{}`. If you do not set this parameter, it is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'Readiness', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS cluster in which you want to create the application. If you specify an ID, the application is created in the specified ECS cluster. If you leave this parameter empty, the application is created in the default cluster. We recommend that you specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '13136119-f384-4f50-b76e-xxxxxxxxxxx', - ], + 'schema' => ['description' => 'The readiness probe of the container. If the check fails, traffic is not routed to the container through the Kubernetes Service. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}`.'."\n" + ."\n" + .'To clear this configuration, set the value to `""` or `{}`. If you do not set this parameter, it is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}'], ], [ - 'name' => 'BuildPackId', + 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'description' => 'The build package number of EDAS Container. This parameter is required if you create a High-Speed Service Framework (HSF) application. You can query the build package number by using one of the following methods:'."\n" - ."\n" - .'* Call the ListBuildPack operation. For more information, see [ListBuildPack](~~149391~~).'."\n" - .'* Obtain the value in the **Build package number** column of the [Release notes for EDAS Container](~~92614~~) topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '59', - ], + 'schema' => ['description' => 'The ID of the NAS file system that you want to mount. If you do not specify this parameter but mountDescs is specified, a new NAS file system is automatically purchased and mounted to a vSwitch in the VPC.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'dfs23****'], ], [ - 'name' => 'Description', + 'name' => 'MountDescs', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'create by edas pop api', - ], + 'schema' => ['description' => 'The description of the mount configuration. The value is a serialized JSON string. Example: `[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]`. `nasPath` specifies the file storage path. `mountPath` specifies the path to which the file system is mounted in the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]'], ], [ - 'name' => 'ApplicationName', + 'name' => 'StorageType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. The name can contain only digits, letters, hyphens (-), and underscores (\\_) and must start with a letter. The name can be up to 36 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'hello-edas-test-1', - ], + 'schema' => ['description' => 'The storage type of the NAS file system. Valid values:'."\n" + ."\n" + .'- General-purpose NAS file systems: Capacity and Performance'."\n" + ."\n" + .'- Extreme NAS file systems: Standard and Advance'."\n" + ."\n" + .'Currently, only the Performance type is supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Performance'], ], [ - 'name' => 'ReservedPortStr', + 'name' => 'LocalVolume', 'in' => 'query', - 'schema' => [ - 'description' => 'The reserved port for the application. This parameter is deprecated.', - 'type' => 'string', - 'required' => false, - 'example' => '8090', - ], + 'schema' => ['description' => 'The configuration for mounting a host file to a container. Example: `[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]`. The following parameters are included:'."\n" + ."\n" + .'- `nodePath`: the path on the host.'."\n" + ."\n" + .'- `mountPath`: the path in the container.'."\n" + ."\n" + .'- `type`: the mount type.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]'], ], [ - 'name' => 'EcuInfo', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The value of `ecu_id` of the ECS instance to be added during scale-out. The ECU ID is the unique identity for an ECS instance that is imported to EDAS. Separate multiple values of `ecu_id` with commas (,). You can call the ListScaleOutEcu operation to query the value of `ecu_id`. For more information, see [ListScaleOutEcu](~~149371~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '07bd417a-b863-477d-****-************', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster. This parameter determines the Kubernetes namespace in which your application is deployed. The default value is default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], ], [ - 'name' => 'Cpu', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of CPU cores that can be used by the application container in a Swarm cluster. \\*\\*This parameter is deprecated.\\*\\*'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the EDAS namespace. This parameter is required if you want to use a non-default namespace.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-shenzhen:beta****'], ], [ - 'name' => 'Mem', + 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that can be used by the application container in a Swarm cluster. \\*\\*This parameter is deprecated.\\*\\*'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '2048', - ], + 'schema' => ['description' => 'The type of the application package. Valid values: FatJar, WAR, and Image.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'WAR'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the microservices namespace. To query the ID of a microservices namespace, you can choose **Resource Management** > **Microservice Namespaces** in the left-side navigation pane of the EDAS console or call the ListUserDefineRegion operation. For more information, see [ListUserDefineRegion](~~149377~~).'."\n" - ."\n" - .'* This parameter is required if the cluster you specify is not deployed in the default microservices namespace. Otherwise, the message `application regionId is different with cluster regionId!` appears.'."\n" - .'* If the cluster you specify is deployed in the default microservices namespace, you do not need to specify this parameter. Set this parameter to the ID of the microservices namespace in which the cluster you specify is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:prod', - ], + 'schema' => ['description' => 'The URL of the deployment package. This parameter is required for applications that are deployed using a FatJar or WAR package.'."\n" + ."\n" + .'> The version of the EDAS POP API SDK for Java or Python must be 2.44.0 or later.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], ], [ - 'name' => 'Jdk', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java Development Kit (JDK) used to deploy the application. **This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8', - ], + 'schema' => ['description' => 'The version number of the deployment package. This parameter is required for WAR and FatJar packages. You can define the meaning of the version number.'."\n" + ."\n" + .'> The version of the EDAS POP API SDK for Java or Python must be 2.44.0 or later.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '20200720'], + ], + [ + 'name' => 'JDK', + 'in' => 'query', + 'schema' => ['description' => 'The version of the Java Development Kit (JDK) on which the deployment package depends. Valid values: Open JDK 7, Open JDK 8, and Custom OpenJDK. This parameter is not supported for image-based deployments. If you select Custom OpenJDK, you must also specify the UserBaseImageUrl parameter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Open JDK 8'], ], [ 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of Apache Tomcat. **This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The version of the Tomcat container on which the deployment package depends. This parameter is applicable to Spring Cloud and Dubbo applications that are deployed using a WAR package. This parameter is not supported for image-based deployments.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'apache-tomcat-7.0.91'], ], [ - 'name' => 'PackageType', + 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the application deployment package. Valid values: war and jar.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'war', - ], + 'schema' => ['description' => 'The version of the `EDAS-Container` on which the deployment package depends.'."\n" + ."\n" + .'> This parameter is not supported for image-based deployments.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '3.5.9'], ], [ - 'name' => 'ComponentIds', + 'name' => 'UriEncoding', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application component. You can call the ListComponents operation to query the component IDs. For more information, see [ListComponents](~~97502~~).'."\n" - ."\n" - .'This parameter is required if the application runs in Apache Tomcat or in a standard Java application runtime environment. The Apache Tomcat application runtime environment is applicable to Dubbo applications that are deployed by using WAR packages. A standard Java application runtime environment is applicable to Spring Boot or Spring Cloud applications that are deployed by using JAR packages.'."\n" - ."\n" - .'Valid values for common application components:'."\n" - ."\n" - .'* 4: Apache Tomcat 7.0.91'."\n" - .'* 7: Apache Tomcat 8.5.42'."\n" - .'* 5: OpenJDK 1.8.x'."\n" - .'* 6: OpenJDK 1.7.x'."\n" - ."\n" - .'This parameter is available only for Java SDK 2.57.3 or later, or Python SDK 2.57.3 or later. Assume that you use an SDK that is not provided by EDAS, for example, aliyun-python-sdk-core, aliyun-java-sdk-core, and Alibaba Cloud CLI. In this case, you can directly specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The URI encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" + ."\n" + .'> If you do not set this parameter for the application, the default value of Tomcat is used.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'GBK'], ], [ - 'name' => 'Hooks', + 'name' => 'UseBodyEncoding', 'in' => 'query', - 'schema' => [ - 'description' => 'The script to mount. Set the value in the JSON format. Example: `[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"},{"ignoreFail":true,"name":"postdeleteInstanceDataOnScaleIn","script":""},{"ignoreFail":true,"name":"prestartInstance","script":""},{"ignoreFail":true,"name":"poststartInstance","script":""},{"ignoreFail":true,"name":"prestopInstance","script":""},{"ignoreFail":true,"name":"poststopInstance","script":""}]`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]', - ], + 'schema' => ['description' => 'Specifies whether to enable useBodyEncodingForURI.'."\n" + ."\n" + .'> If you do not set this parameter for the application, the default value false is used.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'JvmOptions', + 'name' => 'RequestsmCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Dproperty=value', - ], + 'schema' => ['description' => 'The number of CPU cores requested for an application instance upon creation. Unit: millicores.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '500'], ], [ - 'name' => 'MinHeapSize', + 'name' => 'LimitmCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The initial size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '500', - ], + 'schema' => ['description' => 'The maximum number of CPU cores that can be used by an application instance. Unit: millicores. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1000'], ], [ - 'name' => 'MaxPermSize', + 'name' => 'RuntimeClassName', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the permanent generation heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '200', - ], + 'schema' => ['description' => 'The type of the container runtime. This parameter is applicable only to clusters that use sandboxed containers.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'runc'], ], [ - 'name' => 'MaxHeapSize', + 'name' => 'DeployAcrossZones', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of the heap memory. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '1000', - ], + 'schema' => ['description' => 'Specifies whether to distribute application instances to multiple zones. A value of `true` means yes. Other values mean no.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'true'], ], [ - 'name' => 'EnableUrlCheck', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the URL health check. Valid values:'."\n" - ."\n" - .'* **true**: enables the URL health check.'."\n" - .'* **false**: does not enable the URL health check.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The timeout period for the change process. Unit: seconds. The value must be in the range of 1 to 1800. If you do not specify this parameter, the default value 1800 is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '60'], ], [ - 'name' => 'EnablePortCheck', + 'name' => 'EnableAhas', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the port health check. Valid values:'."\n" - ."\n" - .'* **true**: enable the port health check.'."\n" - .'* **false**: does not enable the port health check.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable Application High Availability Service (AHAS):'."\n" + ."\n" + .'- true: Enable AHAS.'."\n" + ."\n" + .'- false: Do not enable AHAS.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ - 'name' => 'HealthCheckUrl', + 'name' => 'WebContainerConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The health check URL of the application. This parameter is equivalent to the HealthCheckURL parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://127.0.0.1:8080/_ehc.html', - ], + 'schema' => ['description' => 'The configuration of the Tomcat container. To clear the configuration, set the value to "" or "{}":'."\n" + ."\n" + .'- useDefaultConfig: Specifies whether to use the default configuration. If you set this parameter to true, the custom configuration is not used. If you set this parameter to false, the custom configuration is used. If you do not use the custom configuration, the following parameter settings do not take effect.'."\n" + ."\n" + .'- contextInputType: The access path of the application.'."\n" + ."\n" + .' - war: You do not need to specify a custom path. The access path is the name of the WAR package.'."\n" + ."\n" + .' - root: You do not need to specify a custom path. The access path is `/`.'."\n" + ."\n" + .' - custom: You must specify a custom path in the contextPath parameter.'."\n" + ."\n" + .'- contextPath: The custom path. This parameter is required only when you set contextInputType to custom.'."\n" + ."\n" + .'- httpPort: The port number. The value must be in the range of 1024 to 65535. Ports smaller than 1024 require root permissions. Because the container is configured with administrator permissions, specify a port number greater than 1024. If you do not specify this parameter, the default port 8080 is used.'."\n" + ."\n" + .'- maxThreads: The maximum number of connections in the connection pool. Default value: 400.'."\n" + ."\n" + .' > This parameter greatly affects application performance. Configure this parameter with the help of a professional.'."\n" + ."\n" + .'- uriEncoding: The encoding format for Tomcat. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312. If you do not specify this parameter, the default value ISO-8859-1 is used.'."\n" + ."\n" + .'- useBodyEncoding: Specifies whether to use BodyEncoding for URLs.'."\n" + ."\n" + .'- useAdvancedServerXml: Specifies whether to use advanced settings to customize the server.xml file. If the preceding parameter types and specific parameters cannot meet your requirements, you can use advanced settings to directly edit the server.xml file of Tomcat.'."\n" + ."\n" + .'- serverXml: The content of the server.xml file that is customized in the advanced settings. This parameter takes effect only when useAdvancedServerXml is set to true.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'JavaStartUpConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek24j4s4b*****', - ], + 'schema' => ['description' => 'The Java startup parameters. You can configure startup parameters for a Java application. You can configure memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom parameters. Proper parameter configuration helps reduce GC overhead, shorten server response time, and improve throughput. The value is a JSON string. original specifies the configuration value, and startup specifies the startup parameter. The system automatically concatenates all startup values as the Java startup parameters for the application. To clear the configuration, set the value to `""` or `"{}"`. The keys in the JSON string are described as follows:'."\n" + ."\n" + .'- InitialHeapSize: the initial heap size.'."\n" + ."\n" + .'- MaxHeapSize: the maximum heap size.'."\n" + ."\n" + .'- CustomParams: custom content, such as JVM -D parameters.'."\n" + ."\n" + .'- Other keys: You can view the JSON structure submitted by the frontend.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"},"CustomParams":{"original":"-Dcustom.property.sample=false","startup":"-Dcustom.property.sample=false"}}'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'The application name test-hsy-C5039-paas-6 had been created successfully.', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4264F69C-686C-4107-B493-0599C8xxxxxx', - ], - 'ApplicationInfo' => [ - 'description' => 'The information about the created application.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'd0cf569e-dce3-4efb-****-08b70021****', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'hello-edas-test-1', - ], - 'Owner' => [ - 'description' => 'The owner of the application. The owner is the user who created the application.'."\n", - 'type' => 'string', - 'example' => '249763358688********', - ], - 'Dockerize' => [ - 'description' => 'Indicates whether the application is a Docker application. Valid values:'."\n" - ."\n" - .'* **true**: The application is a Docker application.'."\n" - .'* **false**: The application is not a Docker application.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AppId' => [ - 'description' => 'The ID of the application. The ID is the unique identifier of the application in EDAS.'."\n", - 'type' => 'string', - 'example' => '6c733bcd-6efb-47a1-8226-cf722c******', - ], - 'UserId' => [ - 'description' => 'The ID of the user who created the application.'."\n", - 'type' => 'string', - 'example' => 'tdy218@1362469756xxxxxx', - ], - 'Port' => [ - 'description' => 'The port used by the created application. Default value: 8080. You can call the UpdateContainerConfiguration operation to change the port. For more information, see [UpdateContainerConfiguration](~~149403~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - ], - ], - ], - ], + [ + 'name' => 'SlsConfigs', + 'in' => 'query', + 'schema' => ['description' => 'The Logstore configuration. To clear the configuration, set the value to `""` or `"{}"`:'."\n" + ."\n" + .'- Configs:'."\n" + ."\n" + .' - type: The collection type. file indicates the file type. stdout indicates the standard output type.'."\n" + ."\n" + .' - Logstore: The name of the Logstore. Make sure that the Logstore name is unique in the same cluster and meets the following naming conventions:'."\n" + ."\n" + .' - The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .' - The name must start and end with a lowercase letter or a digit.'."\n" + ."\n" + .' - The name must be 3 to 63 characters in length. If you leave this parameter empty, the system automatically generates a name.'."\n" + ."\n" + .' - LogDir: If the collection type is standard output, the collection path is stdout.log. If the collection type is file, the collection path is the path of the file to be collected. Wildcards are supported. The collection path must match the following regular expression: `^/(.+)/(.*)^/$`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"The application name test-hsy-C5039-paas-6 had been created successfully.\\",\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8xxxxxx\\",\\n \\"ApplicationInfo\\": {\\n \\"ChangeOrderId\\": \\"d0cf569e-dce3-4efb-****-08b70021****\\",\\n \\"AppName\\": \\"hello-edas-test-1\\",\\n \\"Owner\\": \\"249763358688********\\",\\n \\"Dockerize\\": false,\\n \\"RegionName\\": \\"cn-hangzhou\\",\\n \\"AppId\\": \\"6c733bcd-6efb-47a1-8226-cf722c******\\",\\n \\"UserId\\": \\"tdy218@1362469756xxxxxx\\",\\n \\"Port\\": 8080\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4264F69C-686C-4107-B493-0599C8xxxxxx</RequestId>\\n<Message>The application name test-hsy-C5039-paas-6 had been created successfully.</Message>\\n<ApplicationInfo>\\n <Dockerize>false</Dockerize>\\n <Owner>249763358688********</Owner>\\n <AppId>6c733bcd-6efb-47a1-8226-cf722c******</AppId>\\n <RegionName>cn-hangzhou</RegionName>\\n <UserId>tdy218@1362469756xxxxxx</UserId>\\n <Port>8080</Port>\\n <ChangeOrderId>d0cf569e-dce3-4efb-****-08b70021****</ChangeOrderId>\\n <AppName>hello-edas-test-1</AppName>\\n</ApplicationInfo>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'InsertApplication', - 'description' => '> To create an application in a Kubernetes cluster, call the InsertK8sApplication operation provided by Enterprise Distributed Application Service (EDAS).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Common application parameters'."\n" - ."\n" - .'1. Assume that you use EDAS SDK for Java to create a native Dubbo or Java web application that runs in Apache Tomcat. In this case, you can use the following common parameters:'."\n" - ."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setApplicationName("hello-edas-test-1"); // The name of the application. '."\n" - .' request.setPackageType("war"); // The type of the application deployment package. This parameter is optional. '."\n" - .' request.setComponentIds("7"); // The application component. Set the value to 7 or 4. 7 indicates Apache Tomcat 8.5.42 and 4 indicates Apache Tomcat 7.0.91. '."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n" - ."\n" - .'2. Assume that you use EDAS SDK for Java to create a native Spring Boot or Spring Cloud application that runs in a standard Java application runtime environment. A Fat JAR package is used to create the application. In this case, you can use the following common parameters:'."\n" - ."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setApplicationName("hello-edas-test-2"); // The name of the application. '."\n" - .' request.setPackageType("jar"); // The type of the application deployment package. This parameter is optional. '."\n" - .' request.setComponentIds("5"); // The application component. Set the value to 5 or 6. 5 indicates OpenJDK 1.8.0 and 6 indicates OpenJDK 1.8.0. If you leave this parameter empty, OpenJDK 1.8.0 is used. '."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n" - ."\n" - .'3. Assume that you use EDAS SDK for Java to create an HSF application that runs in EDAS Container. In this case, you can use the following common parameters:'."\n" - ."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setBuildPackId(59); // The build package number of EDAS Container. The value 59 indicates that edas-container 3.5.8 is used. '."\n" - .' request.setApplicationName("hello-edas-test-3"); // The name of the application. '."\n" - .' request.setPackageType("war"); // The type of the application deployment package. Valid values: war and jar. This parameter is optional. '."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // The ID of the namespace. Take note that this parameter does not specify the name of the namespace. This parameter is required if the cluster you specify is not deployed in the default namespace. '."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // The ID of the ECS cluster in which the application is to be created. '."\n", - ], - 'DeployApplication' => [ - 'summary' => 'Deploys an application in an Elastic Compute Service (ECS) cluster.', - 'path' => '/pop/v5/changeorder/co_deploy', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'IsMultilingualApp', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the application is a multilingual application.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'DeployAcrossNodes', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~423162~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-********************', - ], + 'schema' => ['description' => 'Specifies whether to distribute application instances to multiple nodes. A value of `true` means yes. Other values mean no.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'true'], ], [ - 'name' => 'PackageVersion', + 'name' => 'PvcMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the application deployment package. The value can be up to 64 characters in length. We recommend that you use a timestamp.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The configuration for mounting a Kubernetes PersistentVolumeClaim (PVC). You can mount a Kubernetes PVC volume to a specified directory in a container. The following parameters are included in PvcMountDescs:'."\n" + ."\n" + .'- pvcName: The name of the PVC volume. The PVC volume must exist and be in the Bound state.'."\n" + ."\n" + .'- mountPaths: The list of mount directories. You can configure multiple mount directories. Each mount directory supports two parameters.'."\n" + ."\n" + .' - mountPath: The mount path. The path must be an absolute path that starts with a forward slash (/).'."\n" + ."\n" + .' - readOnly: The mount mode. true specifies the read-only mode. false specifies the read and write mode. Default value: false.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]'], ], [ - 'name' => 'Desc', + 'name' => 'ConfigMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the application deployment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Deploy by edas pop api', - ], + 'schema' => ['description' => 'The configuration for mounting Kubernetes ConfigMaps and Secrets. You can mount ConfigMaps and Secrets to specified directories in a container. The following parameters are included in ConfigMountDescs:'."\n" + ."\n" + .'- name: The name of the ConfigMap or Secret.'."\n" + ."\n" + .'- type: The configuration type. Valid values: ConfigMap and Secret.'."\n" + ."\n" + .'- mountPath: The mount path. The path must be an absolute path that starts with a forward slash (/).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]'], ], [ - 'name' => 'DeployType', + 'name' => 'CsClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment mode of the application. Valid values: `url` and `image`. The image value is deprecated. You can deploy an application to a Swarm cluster only by using an image.``'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'URL', - ], + 'schema' => ['description' => 'You must specify CsClusterId only when you create an application in a cluster that has never been imported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'abcdefg'], ], [ - 'name' => 'WarUrl', + 'name' => 'EnableAsm', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the application deployment package. The package can be a WAR or JAR package. This parameter is required if you set the **DeployType** parameter to `url`. We recommend that you specify the URL of an application deployment package that is stored in an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war', - ], + 'schema' => ['description' => 'You must set this parameter to true only when you create an application in a cluster that has never been imported and enable Service Mesh (ASM).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'ImageUrl', + 'name' => 'EnvFroms', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the application image that is used to deploy the application in a Swarm cluster. We recommend that you use an image that is stored in Alibaba Cloud Container Registry. This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', - ], + 'schema' => ['description' => 'The configuration for environment variables of the Kubernetes EnvFrom type. You can mount a specified ConfigMap or Secret to a specified directory. Each key corresponds to a file in the directory. The content of the file is the value of the key.'."\n" + ."\n" + .'The following parameters are included in EnvFroms:'."\n" + ."\n" + .'- configMapRef: The reference to the ConfigMap. This field includes the following parameter:'."\n" + ."\n" + .' - name: The name of the ConfigMap.'."\n" + ."\n" + .'- secretRef: The reference to the Secret. This field includes the following parameter:'."\n" + ."\n" + .' - name: The name of the Secret.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]'], ], [ - 'name' => 'GroupId', + 'name' => 'EmptyDirs', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group to which the application is deployed. You can call the ListDeployGroup operation to query the ID of the instance group. For more information, see [ListDeployGroup](~~423184~~).'."\n" - ."\n" - .'Set the parameter to `all` if you want to deploy the application to all instance groups.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'all', - ], + 'schema' => ['description' => 'The configuration for mounting a Kubernetes emptyDir volume. You can mount an emptyDir volume to a specified directory in a container. The following parameters are included in EmptyDirs:'."\n" + ."\n" + .'- mountPath: The mount path in the container. This parameter is required.'."\n" + ."\n" + .'- readOnly: Specifies whether the volume is read-only. This parameter is optional. true specifies read-only. false specifies read and write. Default value: false.'."\n" + ."\n" + .'- subPathExpr: The subdirectory expression. This parameter is optional.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]'], ], [ - 'name' => 'Batch', + 'name' => 'BuildPackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of batches per instance group.'."\n" - ."\n" - .'* If you specify an ID when you set the GroupId parameter, the application is deployed to the specified instance group. The minimum number of batches that can be specified is 1. The maximum number of batches is the maximum number of ECS instances in the Normal state in the instance group. The actual value falls in the range of \\[1, specified number]. The specified number of batches equals the number of ECS instances in the specified instance group.'."\n" - .'* If you set the GroupId parameter to all, the application is deployed to all instance groups. The minimum number of batches that can be specified is 1. The maximum number of batches is the number of ECS instances in the instance group that has the largest number of ECS instances in the Normal state.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The version of EDAS Container. This parameter conflicts with `EdasContainerVersion`. Use the `EdasContainerVersion` parameter instead.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '-1'], ], [ - 'name' => 'BatchWaitTime', + 'name' => 'CustomAffinity', 'in' => 'query', - 'schema' => [ - 'description' => 'The wait time between deployment batches for the application. Unit: minutes.'."\n" - ."\n" - .'* Default value: 0. If no wait time between deployment batches is needed, set this parameter to 0.'."\n" - .'* Maximum value: 5.'."\n" - ."\n" - .'If many deployment batches are needed, we recommend that you specify a small value for this parameter. Otherwise, the application deployment is time-consuming.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The custom affinity.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'demo'], ], [ - 'name' => 'AppEnv', + 'name' => 'CustomTolerations', 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables of the application. Specify each environment variable by using two key-value pairs. Example: `{"name":"x","value":"y"},{"name":"x2","value":"y2"}`. The `keys` of the two key-value pairs are `name` and `value`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{\\"name\\":\\"env_name_1\\", \\"value\\":\\"env_value_1\\"}, {\\"name\\":\\"env_name_2\\",\\"value\\":\\"env_value_2\\"}]', - ], + 'schema' => ['description' => 'The custom tolerations.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'demo'], ], [ - 'name' => 'BuildPackId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The build package number of EDAS Container.'."\n" - ."\n" - .'* You do not need to set the parameter if you do not need to change the EDAS Container version during the deployment.'."\n" - .'* Set the parameter if you need to update the EDAS Container version of the application during the deployment.'."\n" - ."\n" - .'You can query the build package number by using one of the following methods:'."\n" - ."\n" - .'* Call the ListBuildPack operation. For more information, see [ListBuildPack](~~149391~~).'."\n" - .'* Obtain the value in the **Build package number** column of the [Release notes for EDAS Container](~~92614~~) topic. For example, `59` indicates `EDAS Container 3.5.8`.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '59', - ], + 'schema' => ['title' => '', 'description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => '461'], ], [ - 'name' => 'ComponentIds', + 'name' => 'Annotations', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the components used by the application. The parameter is not applicable to High-Speed Framework (HSF) applications. You can call the ListComponents operation to query the component IDs. For more information, see [ListComponents](~~423223~~).'."\n" - ."\n" - .'* If you have specified the component IDs when you create the application, you do not need to set the parameter when you deploy the application.'."\n" - .'* Set the parameter if you need to update the component versions for the application during the deployment.'."\n" - ."\n" - .'Valid values for common application components:'."\n" - ."\n" - .'* 4: Apache Tomcat 7.0.91'."\n" - .'* 7: Apache Tomcat 8.5.42'."\n" - .'* 5: OpenJDK 1.8.x'."\n" - .'* 6: OpenJDK 1.7.x'."\n" - ."\n" - .'For more information, see the Common application parameters section of the [InsertApplication](~~423185~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The annotations of the application pod.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}'], ], [ - 'name' => 'ReleaseType', + 'name' => 'Labels', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which the deployment batches are triggered. Valid values:'."\n" - ."\n" - .'* 0: automatic.'."\n" - .'* 1: You must manually trigger the next batch. You can manually click **Proceed to Next Batch** in the console or call the ContinuePipeline operation to proceed to the next batch. We recommend that you choose the automatic mode when you call an API operation to deploy the application. For more information, see [ContinuePipeline](~~126990~~).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The labels of the application pod.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}'], ], [ - 'name' => 'Gray', + 'name' => 'EnableEmptyPushReject', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether canary release is selected as the deployment method. Valid values:'."\n" - ."\n" - .'* true: Canary release is selected.'."\n" - ."\n" - .' * To implement a canary release, specify the GroupId parameter, which specifies the ID of the instance group for the canary release.'."\n" - .' * Canary release can be selected as the deployment method for only one batch.'."\n" - .' * After the canary release is complete, the application is released in regular mode. The Batch parameter specifies the number of batches.'."\n" - ."\n" - .'* false: Single-batch release or phased release is selected.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable protection against empty pushes:'."\n" + ."\n" + .'- true: Enable protection against empty pushes.'."\n" + ."\n" + .'- false: Do not enable protection against empty pushes.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'TrafficControlStrategy', + 'name' => 'EnableLosslessRule', 'in' => 'query', - 'schema' => [ - 'description' => 'The canary release policy. For more information about canary release policies, see [DeployK8sApplication](~~423212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful start rule:'."\n" + ."\n" + .'- true: Enable the graceful start rule.'."\n" + ."\n" + .'- false: Do not enable the graceful start rule.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The change process ID of the application deployment.'."\n", - 'type' => 'string', - 'example' => 'adf86823-055b-48a4-a59f-fa5582******', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'd6834ee9-5045-*************', - ], - ], - ], + [ + 'name' => 'LosslessRuleWarmupTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The warm-up duration of the service. Unit: seconds. The value must be in the range of 0 to 86400.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"adf86823-055b-48a4-a59f-fa5582******\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d6834ee9-5045-*************\\"\\n}","errorExample":""},{"type":"xml","example":"<DeployApplicationResponse>\\n <Code>200</Code>\\n <ChangeOrderId>adf86823-055b-48a4-a59f-fa5582******</ChangeOrderId>\\n <Message>success</Message>\\n <RequestId>d6834ee9-5045-*************</RequestId>\\n</DeployApplicationResponse>","errorExample":""}]', - 'title' => 'DeployApplication', - 'description' => '> To deploy an application in a Container Service for Kubernetes (ACK) cluster that is imported into Enterprise Distributed Application Service (EDAS), call the DeployK8sApplication operation provided by EDAS. For more information, see [](~~149420~~)DeployK8sApplication.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ScaleoutApplicationWithNewInstances' => [ - 'summary' => 'Purchases Elastic Compute Service (ECS) instances in the Enterprise Distributed Application Service (EDAS) console and adds the purchased ECS instances to the specified instance group of an application.', - 'path' => '/pop/v5/scaling/scale_out', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LosslessRuleDelayTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The delay of service registration. Unit: seconds. The value must be in the range of 0 to 86400.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'paid', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LosslessRuleFuncType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to scale out. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'e370c17f-*****-3df0721a327', - ], + 'schema' => ['title' => '', 'description' => 'The warm-up curve of the service. The value must be in the range of 0 to 20. Default value: 2. This value is suitable for normal warm-up scenarios and indicates that the traffic that the service provider receives follows a quadratic curve during the warm-up period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'GroupId', + 'name' => 'LosslessRuleAligned', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group that you want to scale out. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'e37**********-33df0721a327', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful rolling deployment mode in which service registration is complete before the readiness probe is passed:'."\n" + ."\n" + .'- true: A health check URL is provided for the application on port 55199. The path is /health. The URL returns 200 after the service is registered. Otherwise, the URL returns 500.'."\n" + ."\n" + .' > If you also set `LosslessRuleRelated` to `true`, this URL is used to check whether the service warm-up is complete.'."\n" + ."\n" + .'- false: A URL is not provided for the application to check whether the service is registered.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ScalingNum', + 'name' => 'LosslessRuleRelated', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances to be added for the scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the graceful rolling deployment mode in which service warm-up is complete before the readiness probe is passed:'."\n" + ."\n" + .'- true: A health check URL is provided for the application on port 55199. The path is /health. The URL returns 200 after the service warm-up is complete. Otherwise, the URL returns 500.'."\n" + ."\n" + .'- false: A URL is not provided for the application to check whether the service warm-up is complete.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'TemplateId', + 'name' => 'ServiceConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance launch template. You can call the DescribeLaunchTemplates operation to query the launch template ID. For more information, see [DescribeLaunchTemplates](~~73759~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-****hy9s2 ', - ], + 'schema' => ['title' => '', 'description' => 'The configuration of the Kubernetes Service.', 'type' => 'string', 'required' => false, 'example' => '[{"name": "test-svc-create","serviceType":"ClusterIP","portMappings":[{"servicePort": {"targetPort":8080,"port":80,"protocol":"TCP"}}]}]'], ], [ - 'name' => 'TemplateVersion', + 'name' => 'AppTemplateName', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the ECS instance launch template. You can call the DescribeLaunchTemplateVersions operation to query the launch template version. For more information, see [DescribeLaunchTemplateVersions](~~73761~~).'."\n" - ."\n" - .'> If you set this parameter to `-1`, the default launch template version is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['title' => '', 'description' => 'The name of the application template that is used to create the application. If you specify an application template when you create the application, the application template and the AppConfig parameter are preferentially used to determine the application configuration. Other configurations are ignored.', 'type' => 'string', 'required' => false, 'example' => 'app-template001'], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'AppConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - ."\n" - .'For more information about how to remove instances from a specified scaling group, see [RemoveInstances](~~25955~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'release', - ], + 'schema' => ['title' => '', 'description' => 'The application configuration when an application template is used. The value is a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{}'], ], [ - 'name' => 'TemplateInstanceId', + 'name' => 'LimitEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the existing ECS instance used for the scale-out. If this parameter is specified, the specifications and configurations of the specified ECS instance are used as a template to purchase new instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'schema' => ['description' => 'The maximum ephemeral storage. Unit: GB. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '4'], ], [ - 'name' => 'ClusterId', + 'name' => 'RequestsEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster to which you want to add ECS instances. If the application and application instance group for the scale-out are specified, this parameter is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'e37**********-33df0721a327', - ], + 'schema' => ['description' => 'The minimum ephemeral storage. Unit: GB. A value of 0 means no limit.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '2'], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'SecretName', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the instance. Valid values:'."\n" - ."\n" - .'* PrePaid: subscription.'."\n" - .'* PostPaid: pay-as-you-go. This is the default value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PrePaid', - ], + 'schema' => ['description' => 'The name of the image pull secret. You must create the secret.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'edas-app-01-image-secret'], ], [ - 'name' => 'InstanceChargePeriodUnit', + 'name' => 'ContainerRegistryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the subscription period. Valid values:'."\n" - ."\n" - .'* Week: billed on a weekly basis.'."\n" - .'* Month: billed on a monthly basis. This is the default value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + 'schema' => ['description' => 'The ID of the repository that is used to build the image repository. If you leave this parameter empty, the default repository provided by EDAS is used. Currently, only the default repository provided by EDAS is supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'leave empty'], ], [ - 'name' => 'InstanceChargePeriod', + 'name' => 'WorkloadType', 'in' => 'query', - 'schema' => [ - 'description' => 'The duration of the subscription. The unit of the subscription duration is specified by the InstanceChargePeriodUnit parameter. This parameter takes effect only when the InstanceChargeType parameter is set to PrePaid.'."\n" - ."\n" - .'* If the InstanceChargePeriodUnit parameter is set to Week, the valid values of the InstanceChargePeriod parameter are 1, 2, 3, and 4.'."\n" - .'* If the InstanceChargePeriodUnit parameter is set to Month, the valid values of the InstanceChargePeriod parameter are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The type of the workload. Currently, only deployments are supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Deployment'], ], [ - 'name' => 'AutoRenew', + 'name' => 'Sidecars', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto-renewal. This parameter takes effect only when the InstanceChargeType parameter is set to PrePaid. Valid values:'."\n" - ."\n" - .'* true: enables auto-renewal.'."\n" - .'* false: does not enable auto-renewal. This is the default value.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The sidecar containers for the application pod. You can set the container configuration in the YAML format. The value is the Base64-encoded YAML configuration of the sidecar container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"yamlEncoded":"Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="}]'], ], [ - 'name' => 'AutoRenewPeriod', + 'name' => 'InitContainers', 'in' => 'query', - 'schema' => [ - 'description' => 'The auto-renewal period. Valid values:'."\n" - ."\n" - .'* If the InstanceChargePeriodUnit parameter is set to Week, the valid values of the AutoRenewPeriod parameter are 1, 2, and 3.'."\n" - .'* If the InstanceChargePeriodUnit parameter is set to Month, the valid values of the AutoRenewPeriod parameter are 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The init containers for the application pod. You can set the container configuration in the YAML format. The value is the Base64-encoded YAML configuration of the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" + .' }'."\n" + .']'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The content that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process for the scale-out.'."\n", - 'type' => 'string', - 'example' => 'e370c17f-*****-3df0721a327', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'e370c17f-*****-3df0721a327', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of purchased ECS instances.'."\n", - 'type' => 'string', - 'example' => '["i-28wt4****","i-28wt4****"]', - ], - ], - ], - ], + [ + 'name' => 'UserBaseImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'If you use a custom JDK runtime, you must configure the address of the base image. The address must be accessible over the Internet. The EDAS server pulls the image to build an application image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'openjdk:8u302'], ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + [ + 'name' => 'TerminateGracePeriod', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for a graceful stop. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '120'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"e370c17f-*****-3df0721a327\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"e370c17f-*****-3df0721a327\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-28wt4****\\\\\\",\\\\\\"i-28wt4****\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>e370c17f-*****-3df0721a327</RequestId>\\n<ChangeOrderId>e370c17f-*****-3df0721a327</ChangeOrderId>\\n<InstanceIds>i-28wt4****</InstanceIds>\\n<InstanceIds>i-28wt4****</InstanceIds>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ScaleoutApplicationWithNewInstances', - 'description' => '## Limits'."\n" - ."\n" - .'Assume that the auto scaling feature is configured and enabled for an application. When an auto scale-in is triggered for the application, the ECS instances that are purchased by calling this operation are removed first.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ScaleOutApplication' => [ - 'summary' => 'Scales out an application.', - 'path' => '/pop/v5/changeorder/co_scale_out', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ImagePlatforms', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The architecture of the image platform. This parameter is valid when you use a WAR or JAR package for deployment. Examples:'."\n" + ."\n" + .'- To specify the x86-64 architecture, enter linux/amd64.'."\n" + ."\n" + .'- To specify the ARM64 architecture, enter linux/arm64.'."\n" + ."\n" + .'- To build a dual-architecture image, enter linux/amd64,linux/arm64.'."\n" + ."\n" + .'- If you do not enter a value, the default architecture is used.', 'type' => 'string', 'required' => false, 'example' => 'linux/arm64,linux/amd64'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Startup', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to scale out. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413*****************', - ], + 'schema' => ['description' => 'The startup probe. You can use a startup probe to check the liveness of a slow-start container and prevent the container from being killed before it is started. Example: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}]}}.'."\n" + ."\n" + .'To clear this configuration, set the value to "" or {}. If you do not set this parameter, it is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], ], [ - 'name' => 'EcuInfo', + 'name' => 'FeatureConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute unit (ECU) that corresponds to the Elastic Compute Service (ECS) instance to be added to the instance group for scale-out. You can call the ListScaleOutEcu operation to query the ECU ID. For more information, see [ListScaleOutEcu](~~149371~~). Separate multiple ECU IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8123db90-880f-486f-b***************', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The configuration of the custom monitoring and administration solution.', 'title' => '', 'example' => '{"features":[{"name":"base.combination.arms","enable":true},{"name":"base.combination.mse","enable":true}]}'], ], [ - 'name' => 'DeployGroup', + 'name' => 'CustomAgentVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance group where the application you want to scale out is deployed. You can call the QueryApplicationStatus operation to query the group ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f1fb6f5-6769-4bd6******************', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The version of the agent.', 'title' => '', 'example' => '2.8.3,3.2.10,4.3.1'], + ], + [ + 'name' => 'SecurityContext', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => 'The SecurityContext attribute for the application pod container. The value is the Base64-encoded YAML configuration of the SecurityContext.', 'required' => false, 'title' => '', 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response to the request.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the progress of this scale-out. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => 'f4208118-7171-4e20-92************', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-***********************', + 'Code' => ['description' => 'The status code of the interface or the POP error code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'b197-40ab-9155-****'], + 'ApplicationInfo' => [ + 'description' => 'The details of the application.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the ID. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'title' => '', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c'], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Dockerize' => ['description' => 'Indicates whether the application is a Docker application.'."\n" + ."\n" + .'- true: The application is a Docker application.'."\n" + ."\n" + .'- false: The application is not a Docker application.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Owner' => ['description' => 'The owner of the application.', 'type' => 'string', 'title' => '', 'example' => 'zp'], + 'EdasId' => ['description' => 'The ID of the user account.', 'type' => 'string', 'title' => '', 'example' => '1172****6608****'], + 'ClusterType' => ['description' => 'The type of the cluster in which the application is deployed.'."\n" + ."\n" + .'- 0: regular Docker cluster.'."\n" + ."\n" + .'- 1: Swarm cluster (discontinued).'."\n" + ."\n" + .'- 2: ECS cluster.'."\n" + ."\n" + .'- 3: self-managed Kubernetes cluster in EDAS (discontinued).'."\n" + ."\n" + .'- 4: cluster for applications that are automatically registered with Pandora.'."\n" + ."\n" + .'- 5: Kubernetes clusters and Serverless Kubernetes clusters.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'AppId' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'title' => '', 'example' => 'e83acea6-****-47e1-96ae-c0e95377****'], + 'UserId' => ['description' => 'The Alibaba Cloud account that is used to create the application.', 'type' => 'string', 'title' => '', 'example' => 'edas_test****@aliyun****.com'], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing'], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"f4208118-7171-4e20-92************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-***********************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>f4208118-7171-4e20-92************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ScaleOutApplication', + 'title' => 'InsertK8sApplication', + 'summary' => 'Creates an application in a Kubernetes cluster or a Serverless Kubernetes cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ScaleInApplication' => [ - 'summary' => 'Scales in the instances of an application.', - 'path' => '/pop/v5/changeorder/co_scale_in', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ApplicationInfo\\": {\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"AppName\\": \\"test\\",\\n \\"Dockerize\\": true,\\n \\"Owner\\": \\"zp\\",\\n \\"EdasId\\": \\"1172****6608****\\",\\n \\"ClusterType\\": 5,\\n \\"AppId\\": \\"e83acea6-****-47e1-96ae-c0e95377****\\",\\n \\"UserId\\": \\"edas_test****@aliyun****.com\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n}","type":"json"}]', + ], + 'InsertOrUpdateRegion' => [ + 'summary' => 'Creates or edits a custom namespace.', + 'path' => '/pop/v5/user_region_def', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'paid', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-44***********************', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- The ID of a custom namespace is in the `Region ID:Namespace identifier` format. Example: cn-beijing:tdy218.'."\n" + ."\n" + .'- The ID of the default namespace is in the `region ID` format. Example: cn-beijing.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'EccInfo', + 'name' => 'RegionName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance to be removed for the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7040f221-42df-48e8-9*******************', - ], + 'schema' => ['description' => 'The name of the namespace. The name can be up to 63 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test_region', 'title' => ''], ], [ - 'name' => 'ForceStatus', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly unpublish the application from the ECS instance. You need to set this parameter to true only if the ECS instance expires. In normal cases, you do not need to set this parameter to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The description of the namespace. The description can be up to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create or modify the namespace. If this parameter is left empty or is set to 0, the namespace is created. Otherwise, the namespace is modified.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'DebugEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable remote debugging. Valid values:'."\n" + ."\n" + .'- true: enables remote debugging.'."\n" + ."\n" + .'- false: disables remote debugging.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'RegistryType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the registry.'."\n" + ."\n" + .'- default: the shared registry of Enterprise Distributed Application Service (EDAS)'."\n" + ."\n" + .'- exclusive\\_mse: a Microservices Engine (MSE) registry', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'default'], + ], + [ + 'name' => 'MseInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the MSE registry.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'mse_prepaid_public_cn-tl32n******'], ], ], 'responses' => [ @@ -13780,209 +8924,195 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this scale-in. For more information, see [GetChangeOrderInfo](~~62072~~). No ID is generated if the ForceStatus parameter is set to true. You can check whether the request is successful based on the value of the Code parameter.'."\n", - 'type' => 'string', - 'example' => 'ddf5a4c7-a507-4a6e****************', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '37793352-C568-4A5A-BF69-4DC853******', 'title' => ''], + 'UserDefineRegionEntity' => [ + 'description' => 'The information about the custom namespace.', + 'type' => 'object', + 'properties' => [ + 'BelongRegion' => ['description' => 'The ID of the region to which the namespace belongs.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'RegionName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'test_region', 'title' => ''], + 'Description' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'Logical region', 'title' => ''], + 'DebugEnable' => ['description' => 'Indicates whether remote debugging is enabled. Valid values:'."\n" + ."\n" + .'- true: Remote debugging is enabled.'."\n" + ."\n" + .'- false: Remote debugging is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account to which the custom namespace belongs.', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com', 'title' => ''], + 'Id' => ['description' => 'Indicates whether the namespace is created or modified. If this parameter is left empty or 0 is returned, the namespace is created. Otherwise, the namespace is modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '15160', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:tdy218.'."\n" + ."\n" + .'- The ID of the default namespace is in the `region ID` format. Example: cn-beijing.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"ddf5a4c7-a507-4a6e****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>ddf5a4c7-a507-4a6e****************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ScaleInApplication', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"37793352-C568-4A5A-BF69-4DC853******\\",\\n \\"UserDefineRegionEntity\\": {\\n \\"BelongRegion\\": \\"cn-beijing\\",\\n \\"RegionName\\": \\"test_region\\",\\n \\"Description\\": \\"Logical region\\",\\n \\"DebugEnable\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"Id\\": 15160,\\n \\"RegionId\\": \\"cn-beijing:test\\"\\n }\\n}","type":"json"}]', + 'title' => 'InsertOrUpdateRegion', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ResetApplication' => [ - 'summary' => 'Resets an application.', - 'path' => '/pop/v5/changeorder/co_reset', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertOrUpdateRegion'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:CreateNamespace', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'NameSpace', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'InsertRole' => [ + 'path' => '/pop/v5/account/create_role', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92*********', - ], + 'schema' => ['description' => 'The name of the role.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testrole', 'title' => ''], ], [ - 'name' => 'EccInfo', + 'name' => 'ActionData', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute container (ECC) for which you want to reset the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0cf49a6c-***********', - ], + 'schema' => ['description' => 'The set of permissions to be granted to the role. The value is in the format of `Permission group ID 1:Permission serial number 1;...;Permission group ID n:Permission serial number n`. Example: `1:1;1:2;2:1;2:2`. For more information about permission groups and permission serial numbers, see [ListAuthority](~~149409~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '15:1;14:2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this operation. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => '1c66548e-a082-40************', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*********', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********', 'title' => ''], + 'RoleId' => ['description' => 'The ID of the role.', 'type' => 'integer', 'format' => 'int32', 'example' => '33', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"1c66548e-a082-40************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*********\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>1c66548e-a082-40************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ResetApplication', + 'title' => 'InsertRole', + 'summary' => 'Creates a role.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RestartApplication' => [ - 'summary' => 'Restarts an application. This operation is suitable for applications that are deployed on Elastic Compute Service (ECS) instances.', - 'path' => '/pop/v5/changeorder/co_restart', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertRole'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:InsertRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"RoleId\\": 33\\n}","type":"json"}]', + ], + 'InsertServiceGroup' => [ + 'summary' => 'Creates a service group.', + 'path' => '/pop/v5/service/serviceGroups', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d*******', - ], - ], - [ - 'name' => 'EccInfo', + 'name' => 'GroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic compute container (ECC) that corresponds to the ECS instance on which you want to restart the application. You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n" - ."\n" - .'* Separate multiple ECC IDs with commas (,).'."\n" - .'* If you leave this parameter empty, the application will be restarted on all the ECS instances deployed with the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '006c0ea5-5f8d-4398-af1e-**********', - ], + 'schema' => ['description' => 'The name of the service group that you want to create.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'edas-test-group', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n" - ."\n" - .'You can call the GetChangeOrderInfo operation to query the progress of this restart. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => 'a9557bac-ddd7-*********************', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"a9557bac-ddd7-*********************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>a9557bac-ddd7-*********************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'RestartApplication', + 'title' => 'InsertServiceGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateK8sService' => [ - 'summary' => 'Creates an application service in a Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertServiceGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:InsertServiceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857EAF4\\"\\n}","type":"json"}]', + ], + 'InsertSwimmingLane' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13990,137 +9120,163 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => 'The ID of the custom namespace. The ID is in the `physical region ID:custom namespace identifier` format. Example: `cn-hangzhou:test`.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Kubernetes Service.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], + 'schema' => ['description' => 'The name of the lane.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'Tag', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Kubernetes Service. Set the value to ClusterIP.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ClusterIP', - ], + 'schema' => ['description' => 'The tag.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tag', 'title' => ''], ], [ - 'name' => 'ServicePorts', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The port mapping of the Kubernetes Service. Set this parameter to a JSON array. The following parameters are included in the configurations:'."\n" - ."\n" - .'* **protocol**: the protocol used by the Service. Valid values: TCP and UDP. This parameter is mandatory.'."\n" - .'* **port**: the frontend service port. Valid values: 1 to 65535. This parameter is mandatory.'."\n" - .'* **targetPort**: the backend container port. Valid values: 1 to 65535. This parameter is mandatory.'."\n" - ."\n" - .'Example: `[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', - ], + 'schema' => ['description' => 'The ID of the lane group.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '95', 'title' => ''], ], [ - 'name' => 'ExternalTrafficPolicy', + 'name' => 'EntryRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The policy used for external traffic management. Valid values:'."\n" - ."\n" - .'* Local: The network traffic can be routed to pods on the node where the Service is deployed.'."\n" - .'* Cluster: The network traffic can be routed to pods on other nodes in the cluster.'."\n" - ."\n" - .'Default value: Local.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Local', - ], + 'schema' => ['description' => 'The throttling conditions.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"priority":1,"path":"/traffic","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testvalue","cond":"==","operator":"rawvalue"}]}]', 'title' => ''], + ], + [ + 'name' => 'EnableRules', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the throttling rule.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'AppInfos', + 'in' => 'query', + 'schema' => ['description' => 'The information about applications related to the lane.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"5049d2c8-f997-4fc9-92a2-153506a6****"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned content.'."\n", + 'description' => 'The object data that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The change process ID.'."\n", - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '75972A87-5682-5277-ADA7-DA2A01BE****', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => 'The ID of the namespace.'."\n", 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the lane group.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '95', 'title' => ''], + 'EntryRule' => ['description' => 'The throttling rule for the lane.'."\n" + ."\n" + .'priority: the priority of the throttling rule for the lane. Valid values: 1 to 100.'."\n" + ."\n" + .'path: the path that is matched by the throttling rule for the lane.'."\n" + ."\n" + .'restItems: conditions to be met.'."\n" + ."\n" + .'condition: the relationship among the conditions to be met.'."\n" + ."\n" + .'* AND: all conditions'."\n" + .'* OR: one of the conditions'."\n" + ."\n" + .'restItems.type: the type of the rule. Valid values:'."\n" + ."\n" + .'* header: matches by request header.'."\n" + .'* cookie: matches by request cookie.'."\n" + .'* param: matches by request parameters.'."\n" + ."\n" + .'restItems.name: the key that matches the rule.'."\n" + ."\n" + .'restItems.value: the value that matches the rule.'."\n" + ."\n" + .'restItems.cond: the condition that matches the rule. Valid values:'."\n" + ."\n" + .'* "==": The parameter value is equal to the value that you enter in the Value field.'."\n" + .'* "!=": The parameter value is not equal to the value that you enter in the Value field.'."\n" + .'* ">": The parameter value is greater than the value that you enter in the Value field.'."\n" + .'* "<": The parameter value is less than the value that you enter in the Value field.'."\n" + .'* ">=": The parameter value is greater than or equal to the value that you enter in the Value field.'."\n" + .'* "<=": The parameter value is less than or equal to the value that you enter in the Value field.'."\n" + .'* "in": The parameter value is within the values that you enter in the Value field.'."\n" + ."\n" + .'restItems.operator: the type of the value. Valid values:'."\n" + ."\n" + .'* rawvalue: the initial value'."\n" + .'* mod: the reminder obtained by performing modulo operation'."\n" + .'* list: the value from the list'."\n", 'type' => 'string', 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":false,\\"path\\":\\"/traffic\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"testvalue\\",\\"name\\":\\"testheader\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"testvalue\\"}]}]', 'title' => ''], + 'AppInfos' => ['description' => 'The applications that are associated with lanes.'."\n", 'type' => 'string', 'example' => '[{"appId":"9dcba109-ee9f-4e67-8916-41'."\n" + .'*******"}]', 'title' => ''], + 'Tag' => ['description' => 'The tag of the lane.'."\n", 'type' => 'string', 'example' => '8202e09', 'title' => ''], + 'Name' => ['description' => 'The name of the lane.'."\n", 'type' => 'string', 'example' => 'test1', 'title' => ''], + 'Id' => ['description' => 'The ID of the lane.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '88', 'title' => ''], + 'SwimmingLaneAppRelationShipList' => [ + 'description' => 'The association relationships between lanes and applications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object data that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'Rules' => ['description' => 'The association rule.'."\n", 'type' => 'string', 'example' => 'dubbo', 'title' => ''], + 'LaneId' => ['description' => 'The ID of the lane.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '88', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'bd170895-096c-4944-9007-d4582c77****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 605 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-****-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'CreateK8sService', - 'requestParamsDescription' => '> '."\n" - ."\n" - .'* The nodePort value must be unique within a cluster.'."\n" - ."\n" - .'* When you configure multi-port mappings for a Kubernetes Service, you cannot map a service port to multiple container ports by using the same protocol.'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteK8sApplication' => [ - 'summary' => 'Deletes an application from a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'delete', + 'title' => 'InsertSwimmingLane', + 'summary' => 'Creates a lane.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertSwimmingLane'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"75972A87-5682-5277-ADA7-DA2A01BE****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"GroupId\\": 95,\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/traffic\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheader\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testvalue\\\\\\\\\\\\\\"}]}]\\",\\n \\"AppInfos\\": \\"[{\\\\\\"appId\\\\\\":\\\\\\"9dcba109-ee9f-4e67-8916-41\\\\n*******\\\\\\"}]\\",\\n \\"Tag\\": \\"8202e09\\",\\n \\"Name\\": \\"test1\\",\\n \\"Id\\": 88,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"Rules\\": \\"dubbo\\",\\n \\"LaneId\\": 88,\\n \\"AppId\\": \\"bd170895-096c-4944-9007-d4582c77****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'InsertSwimmingLaneGroup' => [ + 'summary' => 'Creates a lane group.', + 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14128,81 +9284,122 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to delete. You can call the ListApplication operation to query the application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dbac7e3c-****-49bc-b6de-ffc550018b45', - ], + 'schema' => ['description' => 'The name of the lane group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'Force', + 'name' => 'EntryApp', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly delete the application and disable application deletion protection.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ingress application. The application is in the EDAS:{application ID} format.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'EDAS:5cc89013-9232-4b36-b3eb-ff89b3d2****', 'title' => ''], + ], + [ + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => ['description' => 'IDs of all applications that are related to the lane group. Separate multiple applications with commas (,).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****,ee33ed0c-fddc-47b5-9f63-e1ccc4be****', 'title' => ''], + ], + [ + 'name' => 'LogicalRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the custom namespace. The ID is in the physical region ID:custom namespace identifier format. Example: cn-hangzhou:test.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou:test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process for this operation. If an instance on which the application is deployed is running or a Server Load Balancer (SLB) instance is bound to the application, this operation generates a change process ID and deletes the application. You can call the GetChangeOrderInfo operation to query the progress of this operation. You can determine whether the operation is successful based on the value of the Code parameter.'."\n", - 'type' => 'string', - 'example' => '0a34531a-****-49dc-8e7f-0cbbbfa12cf0', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D5268CAC-D356-5C8D-BC7C-FBE0D13B****', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-hangzhou:test', 'title' => ''], + 'Name' => ['description' => 'The name of the lane group.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Id' => ['description' => 'The ID of the lane group.', 'type' => 'integer', 'format' => 'int64', 'example' => '64', 'title' => ''], + 'ApplicationList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Application' => [ + 'description' => 'The list of all applications that are related to the lane group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about applications.', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EntryApplication' => [ + 'description' => 'The information about the Enterprise Distributed Application Service (EDAS) ingress gateway.', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25c****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"0a34531a-****-49dc-8e7f-0cbbbfa12cf0\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323******\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>0a34531a-****-49dc-8e7f-0cbbbfa12cf0</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteK8sApplication', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteK8sService' => [ - 'summary' => 'Deletes an application service from a Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'delete', + 'errorCodes' => [ + 605 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'InsertSwimmingLaneGroup', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertSwimmingLaneGroup'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:InsertSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D5268CAC-D356-5C8D-BC7C-FBE0D13B****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\",\\n \\"Name\\": \\"test\\",\\n \\"Id\\": 64,\\n \\"ApplicationList\\": {\\n \\"Application\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"bdb251cc-02a6-48dd-891b-2ab21b25****\\"\\n }\\n ]\\n },\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"bdb251cc-02a6-48dd-891b-2ab21b25c****\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'InstallAgent' => [ + 'summary' => 'Uses the Cloud Assistant provided by Elastic Compute Service (ECS) to install Enterprise Distributed Application Service (EDAS) Agent and imports ECS instances to EDAS.', + 'path' => '/pop/v5/ecss/install_agent', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14210,441 +9407,347 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd***a286-781659d9f54c', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], + 'schema' => ['description' => 'The ID of the ECS instance. Separate multiple IDs with commas (,). Example: instanceId1,instanceId2.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2ze7s2v0b789k60pk1af', 'title' => ''], + ], + [ + 'name' => 'DoAsync', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is discontinued.', 'type' => 'boolean', 'required' => false, 'default' => 'true', 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'b4b37bde-a125-43fc-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9041389c-*****-459c-8253-724bca7f51f0', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'ExecutionResultList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ExecutionResult' => [ + 'description' => 'The execution result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the installation command.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'FinishedTime' => ['description' => 'The time when the installation was complete.', 'type' => 'string', 'example' => '20**-11-10T07:02:17Z', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-2ze7s2v0b789k*******', 'title' => ''], + 'InvokeRecordStatus' => ['description' => 'The state of the installation.', 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the installation was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-43fc-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"9041389c-*****-459c-8253-724bca7f51f0\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>9041389c-*****-459c-8253-724bca7f51f0</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-43fc-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteK8sService', + 'title' => 'InstallAgent', + 'description' => 'If you call this operation to import an ECS instance into EDAS, the operating system of the ECS instance is not reinstalled. We recommend that you call this operation to import ECS instances into EDAS.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateK8sApplicationBaseInfo' => [ - 'summary' => 'Modifies basic information about an application that is deployed in a Kubernetes cluster.', - 'path' => '/pop/v5/oam/update_app_basic_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'extraInfo' => '## Additional considerations'."\n" + ."\n" + .'To call this operation, you may encounter a timeout issue when you connect to OpenAPI Developer Portal from a client. The default timeout period is 10 seconds. To resolve this issue, before you call this operation, you must set the timeout period for reading the data returned by OpenAPI Developer Portal. We recommend that you set the timeout period to 30 seconds. This is because the time limit for service processing between OpenAPI Developer Portal and the server is 30 seconds.'."\n" + ."\n" + .'* If you use EDAS SDK for Java and call this operation in the client code, you can set the read timeout period in the following way:'."\n" + ."\n" + .'```java'."\n" + .'InstallAgentRequest request = new InstallAgentRequest();'."\n" + .'request.setSysReadTimeout(30000); // The timeout period for the client to wait for OpenAPI Developer Portal to return data. Unit: milliseconds.'."\n" + .'request.setClusterId(clusterId);'."\n" + .'........'."\n" + .'```'."\n" + ."\n" + .'* If you use EDAS SDK for Python and call this operation in the client code, you can set the read timeout period in the following way:'."\n" + ."\n" + .'```python'."\n" + .'request = InstallAgentRequest()'."\n" + .'request.set_read_timeout(30000)'."\n" + .'request.set_ClusterId(clusterId)'."\n" + .'```'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallAgent'], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the application. The description can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'app for pre-production', - ], - ], - [ - 'name' => 'Owner', - 'in' => 'query', - 'schema' => [ - 'description' => 'The owner of the application. The value can be up to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Tom'."\n", - ], - ], + 'ramActions' => [ [ - 'name' => 'PhoneNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number of the application owner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1361234xxxx', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"ExecutionResultList\\": {\\n \\"ExecutionResult\\": [\\n {\\n \\"Status\\": \\"OK\\",\\n \\"FinishedTime\\": \\"20**-11-10T07:02:17Z\\",\\n \\"InstanceId\\": \\"i-2ze7s2v0b789k*******\\",\\n \\"InvokeRecordStatus\\": \\"Finished\\",\\n \\"Success\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListAliyunRegion' => [ + 'path' => '/pop/v5/resource/region_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Email', - 'in' => 'query', - 'schema' => [ - 'description' => 'The email address of the application owner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mymail@example.com', - ], + 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'Result' => [ - 'description' => 'The result of the modification.'."\n", - 'type' => 'string', - 'example' => 'success', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'RegionEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionEntity' => [ + 'description' => 'The details of the regions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China East 1 (Hangzhou)', 'title' => ''], + 'Id' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 'title' => 'ListAliyunRegion', + 'summary' => 'Queries Alibaba Cloud regions supported by Enterprise Distributed Application Service (EDAS).', + 'requestParamsDescription' => 'No request parameters.', + 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAliyunRegion'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"Result\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>57F146F6-3C94-****-****-A66EF4B9*****</RequestId>\\n<Code>200</Code>\\n<Result>success</Result>","errorExample":""}]', - 'title' => 'UpdateK8sApplicationBaseInfo', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionEntityList\\": {\\n \\"RegionEntity\\": [\\n {\\n \\"Name\\": \\"China East 1 (Hangzhou)\\",\\n \\"Id\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'UpdateK8sApplicationConfig' => [ - 'path' => '/pop/v5/k8s/acs/k8s_app_configuration', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListApplication' => [ + 'path' => '/pop/v5/app/app_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~423162~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '23bf94d9-****-4994-9917-616a827aa777', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can query the cluster ID by calling the ListCluster operation. For more information, see [ListCluster](~~411844~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], + 'schema' => ['description' => 'The cluster ID. Specify this parameter if you want to filter applications by cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'c37aec2a-bcca-4ec1-****-************'], ], [ - 'name' => 'CpuLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. The value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '1', - ], - ], - [ - 'name' => 'MemoryLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. The value 0 indicates that no limit is set on the memory size.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '4', - ], - ], - [ - 'name' => 'McpuLimit', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed. The value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The namespace ID. Specify this parameter if you want to filter applications by namespace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'CpuRequest', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of CPU cores requested for each application instance when the application is running. Unit: cores. We recommend that you set this parameter. The value 0 indicates that no limit is set on CPU cores.'."\n" - ."\n" - .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The name of the application. Specify this parameter if you want to filter applications by application name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testapp'], ], [ - 'name' => 'McpuRequest', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of CPU cores required. Unit: cores. The value 0 indicates that no limit is set on CPU cores.'."\n" - ."\n" - .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The ID of the resource group. Specify this parameter if you want to filter applications by resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-aek24j4s4b*****'], ], [ - 'name' => 'MemoryRequest', + 'name' => 'LogicalRegionIdFilter', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of memory requested for each application instance when the application is running. Unit: MB. We recommend that you set this parameter. If you do not want to apply for a memory quota, set this parameter to 0.'."\n" - ."\n" - .'> You must set this parameter together with the MemoryLimit parameter. Make sure that the value of this parameter does not exceed that of the MemoryLimit parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '400', - ], + 'schema' => ['description' => 'The ID of the namespace that you use in the exact search to filter applications.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'Timeout', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Valid values: 1 to 1800. Default value: 600. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The application IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' "5657d271-****-4f03-9bb2-431f942886bb",'."\n" + .' "5657d271-****-4f03-9bb2-431f942bbddd"'."\n" + .']'], ], [ - 'name' => 'EphemeralStorageRequest', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.'."\n" - ."\n" - .'> You must set this parameter together with the EphemeralStorageLimit parameter. Make sure that the value of this parameter does not exceed that of the EphemeralStorageLimit parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The page number. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'EphemeralStorageLimit', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '8806d1c6-****-48eb-9373-6bdef3007466', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5d6fa0bc-cc3**********'], + 'ApplicationList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Application' => [ + 'description' => 'The information about applications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the array object.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => '00ee517d-dd7d-4d4e-****-************'], + 'RegionId' => ['description' => 'The region ID of the application.'."\n", 'type' => 'string', 'example' => 'cn-beijing:docTes'], + 'Name' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'doc-test-consumer'], + 'Instances' => ['description' => 'The number of application instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Port' => ['description' => 'The service port of the application.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'State' => ['description' => 'The state of the application. Valid values:'."\n" + ."\n" + .'* RUNNING: The application is running.'."\n" + .'* STOPPED: The application is stopped.'."\n" + .'* DEPLOYING: The application is being deployed.'."\n" + .'* DELETING: The application is being deleted.'."\n", 'type' => 'string', 'example' => 'RUNNING'], + 'CreateTime' => ['description' => 'The time when the application was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1664208000000'], + 'SlbIp' => ['description' => 'The IP address of the internal-facing Server Load Balancer (SLB) instance.'."\n", 'type' => 'string', 'example' => '192.168.0.***'], + 'SlbPort' => ['description' => 'The port of the internal-facing SLB instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'SlbListenerPort' => ['description' => 'The listener port of the internal-facing SLB instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8088'], + 'ExtSlbListenerPort' => ['description' => 'The listener port of the Internet-facing SLB instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'BuildPackageId' => ['description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '58'], + 'ExtSlbIp' => ['description' => 'The IP address of the Internet-facing SLB instance.'."\n", 'type' => 'string', 'example' => '100.100.70.***'], + 'ApplicationType' => ['description' => 'The deployment type of the application. Valid values:'."\n" + ."\n" + .'* War: The application is deployed by using a WAR package.'."\n" + .'* FatJar: The application is deployed by using a JAR package.'."\n" + .'* Image: The application is deployed by using an image.'."\n" + .'* If this parameter is empty, the application is not deployed.'."\n", 'type' => 'string', 'example' => 'FatJar'], + 'ClusterType' => ['description' => 'The type of the cluster in which the application is deployed. Valid values:'."\n" + ."\n" + .'* **2**: Elastic Compute Service (ECS) cluster'."\n" + .'* **3**: self-managed Kubernetes cluster in EDAS'."\n" + .'* **5**: Container Service for Kubernetes (ACK) cluster'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'RunningInstanceCount' => ['description' => 'The number of running application instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ClusterId' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'example' => 'c37aec2a-bcca-4ec1-****-************'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek24j4s4b*****'], + 'K8sNamespace' => ['description' => 'The namespace of the Kubernetes cluster.'."\n", 'type' => 'string', 'example' => 'default'], + 'NamespaceId' => ['description' => 'The ID of the microservices namespace.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou:test'], + ], + ], + ], + ], + 'description' => '', ], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Edas.errorcode.K8SAppConfiguration.UpdateFail', - 'errorMessage' => 'Failed to set app configuration.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"8806d1c6-****-48eb-9373-6bdef3007466\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>8806d1c6-87ab-48eb-9373-6bdef3007466</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateK8sApplicationConfig', - 'summary' => 'Updates the configuration of an application in a Container Service for Kubernetes (ACK) or Serverless Kubernetes cluster.', + 'title' => 'ListApplication', + 'summary' => 'Queries a list of applications.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartK8sApplication' => [ - 'summary' => 'Starts an application in a Container Service for Kubernetes (ACK) cluster or Serverless Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/start_k8s_app', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"ApplicationList\\": {\\n \\"Application\\": [\\n {\\n \\"AppId\\": \\"00ee517d-dd7d-4d4e-****-************\\",\\n \\"RegionId\\": \\"cn-beijing:docTes\\",\\n \\"Name\\": \\"doc-test-consumer\\",\\n \\"Instances\\": 5,\\n \\"Port\\": 8080,\\n \\"State\\": \\"RUNNING\\",\\n \\"CreateTime\\": 1664208000000,\\n \\"SlbIp\\": \\"192.168.0.***\\",\\n \\"SlbPort\\": 80,\\n \\"SlbListenerPort\\": 8088,\\n \\"ExtSlbListenerPort\\": 8080,\\n \\"BuildPackageId\\": 58,\\n \\"ExtSlbIp\\": \\"100.100.70.***\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ClusterType\\": 2,\\n \\"RunningInstanceCount\\": 0,\\n \\"ClusterId\\": \\"c37aec2a-bcca-4ec1-****-************\\",\\n \\"ResourceGroupId\\": \\"rg-aek24j4s4b*****\\",\\n \\"K8sNamespace\\": \\"default\\",\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5d6fa0bc-cc3**********</RequestId>\\n<Message>success</Message>\\n<ApplicationList>\\n <Application>\\n <BuildPackageId>58</BuildPackageId>\\n <ApplicationType>FatJar</ApplicationType>\\n <ResourceGroupId>rg-aek24j4s4b*****</ResourceGroupId>\\n <AppId>00ee517d-dd7d-4d4e-****-************</AppId>\\n <ClusterId>c37aec2a-bcca-4ec1-****-************</ClusterId>\\n <ClusterType>2</ClusterType>\\n <RegionId>cn-beijing:docTes</RegionId>\\n <RunningInstanceCount>0</RunningInstanceCount>\\n <Name>doc-test-consumer</Name>\\n </Application>\\n</ApplicationList>\\n<Code>200</Code>","errorExample":""}]', + ], + 'ListApplicationEcu' => [ + 'path' => '/pop/v5/resource/ecu_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances on which you want to start the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Timeout', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Valid values: 1 to 1800. Default value: 600. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The ID of the application whose ECUs you want to query. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => false, 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*******-ed2ae98de18d', - ], + 'schema' => ['description' => 'The ID of the microservices namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:***wei', 'title' => ''], ], ], 'responses' => [ @@ -14652,284 +9755,318 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '*********d237-4827-a4f4-ed2ae98de18d', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'EcuInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => 'The information about ECUs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-2zef6ob8**********', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1599803995894', 'title' => ''], + 'IpAddr' => ['description' => 'The internal IP address allocated to the ECU.', 'type' => 'string', 'example' => '192.168.XXX.XXX', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1542692376066', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.', 'type' => 'string', 'example' => '****_common_****@aliyun.com', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Elastic Compute Service (ECS) instance.', 'type' => 'string', 'example' => 'i-2zej4i2jdf*********', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.', 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed. Valid values:'."\n" + ."\n" + .'- true: Docker is installed.'."\n" + ."\n" + .'- false: Docker is not installed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online. Valid values:'."\n" + ."\n" + .'- true: The ECU is online.'."\n" + ."\n" + .'- false: The ECU is offline.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of available memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.', 'type' => 'string', 'example' => 'cn-beijing-h', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"*********d237-4827-a4f4-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>*********d237-4827-a4f4-ed2ae98de18d</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'requestParamsDescription' => ' ', + 'staticInfo' => [], + 'title' => 'ListApplicationEcu', + 'summary' => 'Queries elastic compute units (ECUs).', + 'requestParamsDescription' => '- If AppId is set, the ECUs of the specified application will be queried.'."\n" + ."\n" + .'- If AppId is not set, the ECUs in the current region will be queried.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopK8sApplication' => [ - 'summary' => 'Stops an application in a Container Service for Kubernetes (ACK) cluster or a Serverless Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/stop_k8s_app', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationEcu'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"EcuInfoList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8**********\\",\\n \\"UpdateTime\\": 1599803995894,\\n \\"IpAddr\\": \\"192.168.XXX.XXX\\",\\n \\"AvailableCpu\\": 1,\\n \\"CreateTime\\": 1542692376066,\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"Mem\\": 500,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Cpu\\": 1,\\n \\"AppId\\": \\"e809****-43d7-4c6b-8e01-b0d9d1db****\\",\\n \\"DockerEnv\\": true,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 200,\\n \\"ZoneId\\": \\"cn-beijing-h\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListAuthority' => [ + 'summary' => 'Queries all permissions.', + 'path' => '/pop/v5/account/authority_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-d237-*******8de18d', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********', 'title' => ''], + 'AuthorityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Authority' => [ + 'description' => 'The permissions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => 'The ID of the permission group.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Name' => ['description' => 'The name of the permission group.', 'type' => 'string', 'example' => 'Application management', 'title' => ''], + 'Description' => ['description' => 'The description of the permission group.', 'type' => 'string', 'example' => 'All operations on the application', 'title' => ''], + 'ActionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Action' => [ + 'description' => 'The set of permissions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The code of the permission.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Description' => ['description' => 'The description of the permission.', 'type' => 'string', 'example' => '创建应用', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the permission group.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Name' => ['description' => 'The name of the permission.', 'type' => 'string', 'example' => '创建应用', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"AuthorityList\\": {\\n \\"Authority\\": [\\n {\\n \\"GroupId\\": \\"1\\",\\n \\"Name\\": \\"Application management\\",\\n \\"Description\\": \\"All operations on the application\\",\\n \\"ActionList\\": {\\n \\"Action\\": [\\n {\\n \\"Code\\": \\"1\\",\\n \\"Description\\": \\"创建应用\\",\\n \\"GroupId\\": \\"1\\",\\n \\"Name\\": \\"创建应用\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListAuthority', + 'requestParamsDescription' => 'No request parameters.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAuthority'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListAuthority', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'translator' => 'manual', + ], + 'ListBuildPack' => [ + 'summary' => 'Calls the ListBuildPack operation to retrieve the list of container versions.', + 'path' => '/pop/v5/app/build_pack_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '*******27-a4f4-ed2ae98de18d', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => 'code ', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4FD4-*************', 'title' => ''], + 'BuildPackList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BuildPack' => [ + 'description' => 'The list of container versions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The container version object.', + 'type' => 'object', + 'properties' => [ + 'PandoraVersion' => ['description' => 'The Pandora version number.', 'type' => 'string', 'example' => 'edas.public.sar.V3.5.6', 'title' => ''], + 'ConfigId' => ['description' => 'The container version ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '57', 'title' => ''], + 'Feature' => ['description' => 'The beta feature.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'PandoraDesc' => ['description' => 'The Pandora description.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'PluginInfo' => ['description' => 'The plugin description.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Disabled' => ['description' => 'Indicates whether the container version is disabled. A disabled container version cannot be selected for use.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TengineDownloadUrl' => ['description' => 'The download URL of the Tengine installer.', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh', 'title' => ''], + 'TomcatPath' => ['description' => 'The Tomcat directory name.', 'type' => 'string', 'example' => 'taobao-tomcat-production-7.0.59.3', 'title' => ''], + 'TomcatDesc' => ['description' => 'The Tomcat description.', 'type' => 'string', 'example' => '1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。', 'title' => ''], + 'SupportFeatures' => ['description' => 'The supported features.', 'type' => 'string', 'example' => 'tengine,fatjar,restful,eip_nodeport,dpath', 'title' => ''], + 'TomcatDownloadUrl' => ['description' => 'The download URL of the Tomcat installer.', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz', 'title' => ''], + 'TomcatVersion' => ['description' => 'The Tomcat version number.', 'type' => 'string', 'example' => '8.5.63', 'title' => ''], + 'PandoraDownloadUrl' => ['description' => 'The Pandora download URL.', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz', 'title' => ''], + 'PackVersion' => ['description' => 'The application version number.', 'type' => 'string', 'example' => '3.5.6', 'title' => ''], + 'MultipleTenant' => ['description' => 'Indicates whether multi-tenancy is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TengineImageId' => ['description' => 'The Tengine image ID of the container.', 'type' => 'string', 'example' => 'registry.aliyuncs.com/edas/****-*********-*****:*.*.*', 'title' => ''], + 'WithTengine' => ['description' => 'Indicates whether traffic management is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ImageId' => ['description' => 'The base image ID of the container.', 'type' => 'string', 'example' => 'registry.aliyuncs.com/ed**/****-*********:*.*.*', 'title' => ''], + 'ScriptName' => ['description' => 'The shell script name.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'ScriptVersion' => ['description' => 'The shell script version.', 'type' => 'string', 'example' => '1.0.3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"*******27-a4f4-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>*******27-a4f4-ed2ae98de18d</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'StopK8sApplication', - 'requestParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4FD4-*************\\",\\n \\"BuildPackList\\": {\\n \\"BuildPack\\": [\\n {\\n \\"PandoraVersion\\": \\"edas.public.sar.V3.5.6\\",\\n \\"ConfigId\\": 57,\\n \\"Feature\\": \\"“”\\",\\n \\"PandoraDesc\\": \\"test\\",\\n \\"PluginInfo\\": \\"1\\",\\n \\"Disabled\\": false,\\n \\"TengineDownloadUrl\\": \\"http://edas-hz.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh\\",\\n \\"TomcatPath\\": \\"taobao-tomcat-production-7.0.59.3\\",\\n \\"TomcatDesc\\": \\"1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。\\",\\n \\"SupportFeatures\\": \\"tengine,fatjar,restful,eip_nodeport,dpath\\",\\n \\"TomcatDownloadUrl\\": \\"http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz\\",\\n \\"TomcatVersion\\": \\"8.5.63\\",\\n \\"PandoraDownloadUrl\\": \\"http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz\\",\\n \\"PackVersion\\": \\"3.5.6\\",\\n \\"MultipleTenant\\": true,\\n \\"TengineImageId\\": \\"registry.aliyuncs.com/edas/****-*********-*****:*.*.*\\",\\n \\"WithTengine\\": true,\\n \\"ImageId\\": \\"registry.aliyuncs.com/ed**/****-*********:*.*.*\\",\\n \\"ScriptName\\": \\"default\\",\\n \\"ScriptVersion\\": \\"1.0.3\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Retrieve container version list', + 'requestParamsDescription' => ' No request parameters are required.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateK8sSlb' => [ - 'summary' => 'Updates the Server Load Balancer (SLB) instance bound to an application that is deployed in a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBuildPack'], + ], ], + 'ramActions' => [], + ], + 'ListCluster' => [ + 'summary' => 'Queries clusters.', + 'path' => '/pop/v5/resource/cluster_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], - ], - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can query the cluster ID by calling the GetK8sCluster operation. For more information, see [GetK8sCluster](~~181437~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SLB instance. Valid values:'."\n" - ."\n" - .'* Internet: an Internet-facing SLB instance'."\n" - .'* Intranet: an internal-facing SLB instance'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Internet', - ], - ], - [ - 'name' => 'SlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol used by the SLB instance. Set the value to TCP.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'TCP', - ], - ], - [ - 'name' => 'TargetPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port, which is also the service port of the application. Valid values: 1 to 65535.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8082', - ], - ], - [ - 'name' => 'Port', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port. Valid values: 1 to 65535.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '80', - ], - ], - [ - 'name' => 'ServicePortInfos', - 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the ports. This parameter is required if you want to configure multi-port mappings or use a protocol other than TCP. You must set this parameter to a JSON array. Example: \\[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809\\_16c185d6fa2\\_1914500329\\_-xxxxxxx","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}]'."\n" - ."\n" - .'* port: required. The frontend port. Valid values: 1 to 65535. Each port must be unique.'."\n" - .'* targetPort: required. The backend port. Valid values: 1 to 65535.'."\n" - .'* loadBalancerProtocol: required. Valid values: TCP and HTTPS. If the HTTP protocol is used, set this parameter to TCP.'."\n" - .'* certId: the ID of the certificate. This parameter is required if the HTTPS protocol is used. You can purchase an SLB instance in the SLB console.'."\n" - .'* Note: The ServicePortInfos parameter is specified to support multi-port mappings. If you want this parameter to take effect, make sure that you specify the AppId, ClusterId, Type, and SlbId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-xxxxxxx","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}', - ], - ], - [ - 'name' => 'Specification', - 'in' => 'query', - 'schema' => [ - 'description' => 'The specifications of the SLB instance.'."\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" - .'If you do not specify this parameter, the default value slb.s1.small is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm for the SLB instance. If you do not specify this parameter, the default value rr is used. SLB supports the following scheduling algorithms: round-robin and weighted round-robin. Valid values:'."\n" - ."\n" - .'* wrr: weighted round-robin scheduling. Backend servers that have higher weights receive more requests than those that have lower weights.'."\n" - .'* rr: round-robin scheduling. Requests are sequentially distributed to backend servers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'SlbName', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SLB_doctest', - ], + 'schema' => ['description' => 'The ID of the namespace. You can call the ListUserDefineRegion operation to query the namespace ID. For more information, see [ListUserDefineRegion](~~149377~~).'."\n" + ."\n" + .'- If this parameter is left empty, the clusters in the default namespace are queried.'."\n" + ."\n" + .'- If this parameter is specified, the clusters in the specified namespace are queried.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'DisableForceOverride', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable listener configuration overriding.'."\n" - ."\n" - .'* true: disables listener configuration overriding.'."\n" - .'* false: enables listener configuration overriding.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the resource group. You can call the ListResourceGroup operation to query the resource group ID. For more information, see [ListResourceGroup](~~62055~~).'."\n" + ."\n" + .'- If this parameter is left empty, the clusters in the default resource group are queried.'."\n" + ."\n" + .'- If this parameter is specified, the clusters in the specified resource group are queried.', 'type' => 'string', 'required' => false, 'example' => '461', 'title' => ''], ], ], 'responses' => [ @@ -14937,658 +10074,426 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '9a1dcdee-****-****-ad37-cbf9dc91fba9', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '1053-08e4-47a5-b2ab-5c0323de****', 'title' => ''], + 'ClusterList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cluster' => [ + 'description' => 'The clusters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-23727****', 'title' => ''], + 'OversoldFactor' => ['description' => 'The CPU overcommit ratio that is supported by a Docker cluster. Valid values:'."\n" + ."\n" + .'- 1: 1:1, which means that CPU resources are not overcommitted.'."\n" + ."\n" + .'- 2: 1:2, which means that CPU resources are overcommitted by 1:2.'."\n" + ."\n" + .'- 4: 1:4, which means that CPU resources are overcommitted by 1:4.'."\n" + ."\n" + .'- 8: 1:8, which means that CPU resources are overcommitted by 1:8.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'UpdateTime' => ['description' => 'The timestamp when the cluster was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1533820823203', 'title' => ''], + 'MemUsed' => ['description' => 'The size of used memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'IaasProvider' => ['description' => 'The provider of the cluster.', 'type' => 'string', 'example' => 'ALIYUN', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp when the cluster was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1502888064561', 'title' => ''], + 'CpuUsed' => ['description' => 'The number of used CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '3072', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CsClusterId' => ['description' => 'The ID of the cluster in Container Service for Kubernetes (ACK).', 'type' => 'string', 'example' => 'c2ce************b9203a9', 'title' => ''], + 'NetworkMode' => ['description' => 'The network type of the cluster. Valid values:'."\n" + ."\n" + .'- 1: classic network'."\n" + ."\n" + .'- 2: virtual private cloud (VPC)', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.', 'type' => 'string', 'example' => 'Test cluster', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'- 0: regular Docker cluster'."\n" + ."\n" + .'- 1: Swarm cluster'."\n" + ."\n" + .'- 2: Elastic Compute Service (ECS) cluster'."\n" + ."\n" + .'- 3: self-managed Kubernetes cluster in Enterprise Distributed Application Service (EDAS)'."\n" + ."\n" + .'- 4: cluster in which Pandora automatically registers applications'."\n" + ."\n" + .'- 5: ACK cluster', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => '461', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'cluster-test', 'title' => ''], + 'NodeNum' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster in EDAS.', 'type' => 'string', 'example' => 'b98b5919-c111-4dad-9f74-7233********', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"9a1dcdee-****-****-ad37-cbf9dc91fba9\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>9a1dcdee-****-****-ad37-cbf9dc91fba9</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de****\\",\\n \\"ClusterList\\": {\\n \\"Cluster\\": [\\n {\\n \\"VpcId\\": \\"vpc-23727****\\",\\n \\"OversoldFactor\\": 1,\\n \\"UpdateTime\\": 1533820823203,\\n \\"MemUsed\\": 200,\\n \\"IaasProvider\\": \\"ALIYUN\\",\\n \\"CreateTime\\": 1502888064561,\\n \\"CpuUsed\\": 1,\\n \\"Mem\\": 3072,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"Cpu\\": 2,\\n \\"CsClusterId\\": \\"c2ce************b9203a9\\",\\n \\"NetworkMode\\": 1,\\n \\"Description\\": \\"Test cluster\\",\\n \\"ClusterType\\": 2,\\n \\"ResourceGroupId\\": \\"461\\",\\n \\"ClusterName\\": \\"cluster-test\\",\\n \\"NodeNum\\": 2,\\n \\"ClusterId\\": \\"b98b5919-c111-4dad-9f74-7233********\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListCluster', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateK8sService' => [ - 'summary' => 'Updates an application service in a Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ListClusterMembers' => [ + 'path' => '/pop/v5/resource/cluster_member_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], - ], - [ - 'name' => 'Name', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service in a Kubernetes cluster.'."\n" - ."\n" - .'* The name can contain lowercase letters, digits, and hyphens (-).'."\n" - .'* It must start with a letter and end with a letter or digit.'."\n" - .'* The name can be 2 to 32 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], + 'schema' => ['description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service in a Kubernetes cluster. Set the value to ClusterIP.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ClusterIP', - ], + 'schema' => ['description' => 'The number of the page to return. If you do not specify this parameter, the first page is returned.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ServicePorts', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The mappings between service ports. Set this parameter to a JSON array. The following parameters are included in the configurations:'."\n" - ."\n" - .'* **protocol**: the protocol used by the service. Valid values: TCP and UDP. This parameter is required.'."\n" - .'* **port**: the frontend service port. Valid values: 1 to 65535. This parameter is required.'."\n" - .'* **targetPort**: the backend container port. Valid values: 1 to 65535. This parameter is required.'."\n" - ."\n" - .'Example: `[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', - ], + 'schema' => ['description' => 'The number of ECS instances to return on each page. If you do not specify this parameter, all ECS instances in the specified cluster are returned on one page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ExternalTrafficPolicy', + 'name' => 'EcsList', 'in' => 'query', - 'schema' => [ - 'description' => 'The policy used for external traffic management. Valid values:'."\n" - ."\n" - .'* Local: local mode'."\n" - .'* Cluster: cluster mode'."\n" - ."\n" - .'Default value: Local.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Local', - ], + 'schema' => ['description' => 'The number of ECS instances.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'ClusterMemberPage' => [ + 'description' => 'The information about the ECS instances in the cluster.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The page number of the returned page. If this parameter is not returned, the first page is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of ECS instances returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of pages returned when all ECS instances are returned based on the specified PageSize parameter.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ClusterMemberList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ClusterMember' => [ + 'description' => 'The list of ECS instances in the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about ECS instances in the cluster.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the ECS instance. Valid values:'."\n" + ."\n" + .'- 1: The instance is running.'."\n" + ."\n" + .'- 0: The instance is being converted.'."\n" + ."\n" + .'- -1: The instance fails to be converted.'."\n" + ."\n" + .'- -2: The instance is offline.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'UpdateTime' => ['description' => 'The timestamp when the ECS instance was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041113', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the elastic compute unit (ECU). You can run the `dmidecode` command on the ECS instance to query the ECU ID.', 'type' => 'string', 'example' => '70ed3f59-b476-49aa-be09-9e6c375d****', 'title' => ''], + 'EcsId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-2zej4i2jdf3ntwhj****', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp when the ECS instance was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281038175', 'title' => ''], + 'ClusterMemberId' => ['description' => 'The ID of the ECS instance in the cluster.', 'type' => 'string', 'example' => 'adb03eeb-3adf-4d7e-afe1-03d1ad45****', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', 'title' => ''], + 'PrivateIp' => ['description' => 'The private IP address for the ECS instance.', 'type' => 'string', 'title' => '', 'example' => '172.16.XXX.XXX'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-****-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateK8sService', + 'title' => 'ListClusterMembers', + 'summary' => 'Queries Elastic Compute Service (ECS) instances in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateSlsLogStore' => [ - 'summary' => 'Configures a Logstore for an application.', - 'path' => '/pop/v5/k8s/sls/update_sls_log_store', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterMembers'], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'af58edcf-f7eb-****-****-db4e425f****', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ClusterMemberPage\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 5,\\n \\"ClusterMemberList\\": {\\n \\"ClusterMember\\": [\\n {\\n \\"Status\\": 1,\\n \\"UpdateTime\\": 1573281041113,\\n \\"EcuId\\": \\"70ed3f59-b476-49aa-be09-9e6c375d****\\",\\n \\"EcsId\\": \\"i-2zej4i2jdf3ntwhj****\\",\\n \\"CreateTime\\": 1573281038175,\\n \\"ClusterMemberId\\": \\"adb03eeb-3adf-4d7e-afe1-03d1ad45****\\",\\n \\"ClusterId\\": \\"52984524-6d48-4bbd-85f2-a34b0e5b****\\",\\n \\"PrivateIp\\": \\"172.16.XXX.XXX\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'ListComponents' => [ + 'summary' => 'Queries the components that are related to applications in Elastic Compute Service (ECS) clusters.', + 'path' => '/pop/v5/resource/components', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Configs', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The configurations of the Logstore.'."\n" - ."\n" - .'* The following parameters are included in the configurations:****'."\n" - ."\n" - .' * **type**: the collection type. Set this parameter to file to specify the file type. Set this parameter to stdout to specify the standard output type.'."\n" - ."\n" - .' * **logstore**: the name of the Logstore. Make sure that the name of the Logstore is unique in the cluster. The name must comply with the following rules:'."\n" - ."\n" - .' * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" - .' * The name must start and end with a lowercase letter or a digit.'."\n" - .' * The name must be 3 to 63 characters in length.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**If you leave this parameter empty, the system automatically generates a name.'."\n" - ."\n" - .' * **LogDir**: If the standard output type is used, the collection path is stdout.log. If the file type is used, the collection path is the path of the collected file. Wildcards (\\*) are supported. The collection path must match the following regular expression: `^/(.+)/(.*)^/$`.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]', - ], + 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ComponentList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Component' => [ + 'description' => 'The components.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the component. Valid values:'."\n" + ."\n" + .'- JDK'."\n" + ."\n" + .'- TOMCAT'."\n" + ."\n" + .'- TENGINE', 'type' => 'string', 'example' => 'JDK', 'title' => ''], + 'ComponentKey' => ['description' => 'The key of the component.', 'type' => 'string', 'example' => 'JDK 7', 'title' => ''], + 'Version' => ['description' => 'The version of the component.', 'type' => 'string', 'example' => 'oraclejdk7', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the component has expired. Valid values:'."\n" + ."\n" + .'- false: The component has not expired.'."\n" + ."\n" + .'- true: The component has expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ComponentId' => ['description' => 'The ID of the component.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Desc' => ['description' => 'The description of the component.', 'type' => 'string', 'example' => 'JDK 7', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","errorExample":""},{"type":"xml","example":"<code>200</code>\\n<message>success</message>\\n<requestId>D16979DC-4D42-**************</requestId>","errorExample":""}]', - 'title' => 'UpdateSlsLogStore', - 'requestParamsDescription' => ' ', + 'title' => 'ListComponents', + 'requestParamsDescription' => 'No request parameters.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartK8sAppPrecheck' => [ - 'summary' => 'Starts precheck for Kubernetes application changes.', - 'path' => '/pop/v5/k8s/app_precheck', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListComponents'], + ], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"ComponentList\\": {\\n \\"Component\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"JDK 7\\",\\n \\"Version\\": \\"oraclejdk7\\",\\n \\"Expired\\": false,\\n \\"ComponentId\\": \\"1\\",\\n \\"Desc\\": \\"JDK 7\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListConfigTemplates' => [ + 'summary' => 'Queries configuration templates.', + 'path' => '/pop/v5/config_template', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c37aec2a-bcca-4ec1-****-****', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster. This parameter specifies the Kubernetes namespace in which your application is deployed. By default, the default namespace is used.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'af58edcf-f7eb-****-****-db4e425f****', - ], - ], - [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 36 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testapp', - ], - ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'LimitmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. Unit: millicores. The value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - ], - [ - 'name' => 'RequestsmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is created. Unit: millicores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], - ], - [ - 'name' => 'LimitMem', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. The value of LimitMem must be greater than or equal to that of RequestsMem.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4096', - ], - ], - [ - 'name' => 'RequestsMem', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is created. Unit: MB. The value 0 indicates that no limit is set on the memory size. The value of RequestsMem cannot be greater than that of LimitMem.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], - ], - [ - 'name' => 'LimitEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - ], - [ - 'name' => 'RequestsEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Envs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables that are used to deploy the application. The value must be a JSON array. Valid values: regular environment variables, Kubernetes ConfigMap environment variables, and Kubernetes Secret environment variables. Specify regular environment variables in the following format:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'Specify Kubernetes ConfigMap environment variables in the following format to reference values from ConfigMaps:'."\n" - ."\n" - .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" - ."\n" - .'Specify Kubernetes Secret environment variables in the following format to reference values from Secrets:'."\n" - ."\n" - .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" - ."\n" - .'> If you want to cancel this configuration, set this parameter to an empty JSON array, which is in the format of "\\[]".'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]', - ], - ], - [ - 'name' => 'EnvFroms', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Kubernetes environment variables that are configured in EnvFrom mode. A ConfigMap or Secret is mounted to a directory. Each key corresponds to a file in the directory, and the content of the file is the value of the key.'."\n" - ."\n" - .'The following parameters are included in the configuration of the EnvFroms parameter:'."\n" - ."\n" - .'* configMapRef: the ConfigMap that is referenced. The following parameter is included:'."\n" - ."\n" - .' name: the name of the ConfigMap.'."\n" - ."\n" - .'* secretRef: the Secret that is referenced. The following parameter is included:'."\n" - ."\n" - .' name: the name of the Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]', - ], - ], - [ - 'name' => 'EmptyDirs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes emptyDir volume to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* mountPath: The mount path in the container. This parameter is required.'."\n" - .'* readOnly: (Optional) The mount mode. The value true indicates the read-only mode. The value false indicates the read and write mode. Default value: false.'."\n" - .'* subPathExpr: (Optional) The regular expression that is used to match the subdirectory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', - ], - ], - [ - 'name' => 'JavaStartUpConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of Java startup parameters for a Java application. These startup parameters involve the memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom configurations. Proper parameter settings help reduce the GC overheads, shorten the server response time, and improve the throughput. Set this parameter to a JSON string. In the example, original indicates the configuration value, and startup indicates a startup parameter. The system automatically concatenates all startup values as the settings of Java startup parameters for the application. To delete this configuration, leave the parameter value empty by entering `""` or `"{}"`. The following parameters are included in the configuration:'."\n" - ."\n" - .'* InitialHeapSize: the initial size of the heap memory.'."\n" - .'* MaxHeapSize: the maximum size of the heap memory.'."\n" - .'* CustomParams: the custom parameters, such as JVM -D parameters.'."\n" - .'* Other parameters: You can view the JSON structure submitted by the frontend.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}', - ], - ], - [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes ConfigMap or Secret to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* name: the name of the Kubernetes ConfigMap or Secret.'."\n" - .'* type: the type of the API object that you want to mount. You can mount a Kubernetes ConfigMap or Secret.'."\n" - .'* mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]', - ], - ], - [ - 'name' => 'PvcMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes PersistentVolumeClaim (PVC) to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* pvcName: the name of the PVC. Make sure that the volume exists and is in the Bound state.'."\n" - ."\n" - .'* mountPaths: the directory to which you want to mount the PVC. You can configure multiple directories. You can set the following two parameters for each mount directory:'."\n" - ."\n" - .' * mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n" - .' * readOnly: the mount mode. The value true indicates the read-only mode. The value false indicates the read and write mode. Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', - ], - ], - [ - 'name' => 'Annotations', - 'in' => 'query', - 'schema' => [ - 'description' => 'The annotation of an application pod.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', - ], - ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'description' => 'The label of an application pod.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', - ], - ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', - ], - ], - [ - 'name' => 'PackageUrl', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the deployment package.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => '', 'required' => false], ], [ - 'name' => 'LocalVolume', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations that are used when the host files are mounted to the container on which the application is running. Example: `\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`. Description:'."\n" - ."\n" - .'* `nodePath`: the host path.'."\n" - .'* `mountPath`: the path in the container.'."\n" - .'* `type`: the mounting type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', - ], + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => '', 'required' => false], ], [ - 'name' => 'RegionId', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the configuration template.', 'type' => 'integer', 'format' => 'int64', 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c******', 'title' => '', 'required' => false], ], [ - 'name' => 'ComponentIds', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application component. You can call the ListComponents operation to query application components. This parameter must be specified when the application runs in Apache Tomcat or in a standard Java application runtime environment. The Apache Tomcat application runtime environment is applicable to Dubbo applications that are deployed by using WAR packages. A standard Java application runtime environment is applicable to Spring Boot or Spring Cloud applications that are deployed by using JAR packages.'."\n" - ."\n" - .'Valid values for regular application component IDs:'."\n" - ."\n" - .'* 4: Apache Tomcat 7.0.91'."\n" - .'* 5: OpenJDK 1.8.x'."\n" - .'* 6: OpenJDK 1.7.x'."\n" - .'* 7: Apache Tomcat 8.5.42'."\n" - ."\n" - .'This parameter is available only for Java SDK 2.57.3 or later, or Python SDK 2.57.3 or later. Assume that you use an SDK that is not provided by Enterprise Distributed Application Service (EDAS), such as aliyun-python-sdk-core, aliyun-java-sdk-core, and Alibaba Cloud CLI. In this case, you can directly specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The name of the configuration template.', 'type' => 'string', 'example' => 'config-tmpl-1', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The returned content.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7638276F-****-****-884F-54CC0BC84A8D', - ], - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '4D9F-DR94-FD****************'], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'title' => '', + 'description' => 'The result of the request.', 'type' => 'object', 'properties' => [ - 'Jobs' => [ - 'description' => 'The jobs and the details about the jobs.'."\n", + 'CurrentPage' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of configuration templates.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Result' => [ + 'title' => '', + 'description' => 'The configuration templates.', 'type' => 'array', 'items' => [ - 'description' => 'The name of the job.'."\n", - 'type' => 'string', - 'example' => 'Cluster Health Check'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the configuration template.', 'type' => 'string', 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c2b460c', 'title' => ''], + 'Name' => ['description' => 'The name of the configuration template.', 'type' => 'string', 'example' => 'config-tmpl-1', 'title' => ''], + 'Format' => ['description' => 'The data format of the configuration template.', 'type' => 'string', 'example' => 'JSON', 'title' => ''], + 'Description' => ['description' => 'The description of the configuration template.', 'type' => 'string', 'example' => 'Test configuration template', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration template.', 'type' => 'string', 'example' => '{"name":"William"}', 'title' => ''], + 'GmtCreate' => ['description' => 'The time when the configuration template was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1638171689626', 'title' => ''], + 'GmtModified' => ['description' => 'The time when the configuration template was updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1638171689626', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message ', 'errorMessage' => 'You are not authorized to perform the operation. ', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7638276F-****-****-884F-54CC0BC84A8D\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Jobs\\": [\\n \\"集群健康检查。\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'StartK8sAppPrecheck', - ], - 'GetK8sApplication' => [ - 'summary' => 'Queries the information about applications deployed in a Container Service for Kubernetes (ACK) cluster or a serverless Kubernetes cluster.', - 'path' => '/pop/v5/changeorder/co_application', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 100,\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"3d84efaf-37d9-49fb-a3a8-b38d5c2b460c\\",\\n \\"Name\\": \\"config-tmpl-1\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Description\\": \\"Test configuration template\\",\\n \\"Content\\": \\"{\\\\\\"name\\\\\\":\\\\\\"William\\\\\\"}\\",\\n \\"GmtCreate\\": 1638171689626,\\n \\"GmtModified\\": 1638171689626\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListConfigTemplates', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConfigTemplates'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListConfigTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ListConsumedServices' => [ + 'path' => '/pop/v5/service/listConsumedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15596,567 +10501,124 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-4f98-a286-781659d9****', - ], - ], - [ - 'name' => 'From', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source from which data is queried.'."\n" - ."\n" - .'* If you leave this parameter empty, a common query is performed.'."\n" - .'* If you set the value to deploy, you query application information from the deployment page.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'deploy', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a66c5d1f-****-****-8c2b-6925f781b203', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response object.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'Applcation' => [ - 'description' => 'The information about the application.'."\n", + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The unique request ID.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'ConsumedServicesList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'example' => 'a5281053-****-47a5-b2ab-5c0323de****', - ], - 'DeployGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DeployGroup' => [ - 'description' => 'The information about the instance group in which the application is deployed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the instance group.'."\n", + 'ListConsumedServices' => [ + 'description' => 'The list of consumed services.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DockerApplication' => ['description' => 'Indicates whether the application is a Docker application.'."\n" + ."\n" + .'- true: Yes.'."\n" + ."\n" + .'- false: No.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Type' => ['description' => 'The type of the consumed service.', 'type' => 'string', 'example' => 'HSF', 'title' => ''], + 'Version' => ['description' => 'The version of the consumed service.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'Group2Ip' => ['description' => 'A reserved parameter.', 'type' => 'string', 'example' => '""', 'title' => ''], + 'Name' => ['description' => 'The name of the consumed service.', 'type' => 'string', 'example' => 'service', 'title' => ''], + 'Ips' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Components' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Components' => [ - 'description' => 'The information about the component.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the component.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The component type. Valid values:'."\n", - 'type' => 'string', - 'example' => 'JDK', - ], - 'ComponentKey' => [ - 'description' => 'The keyword that is included in the component name.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ComponentId' => [ - 'description' => 'The component ID.'."\n", - 'type' => 'string', - 'example' => '5', - ], - ], - ], - ], - ], - ], - 'Env' => [ - 'description' => 'The environment variable. This parameter is different from the EnvList parameter. This parameter specifies the referenced configuration of the ConfigMap or Secret.'."\n", - 'type' => 'string', - 'example' => '"["{\\"name\\":\\"test1\\",\\"valueFrom\\":{\\"configMapKeyRef\\":{\\"name\\":\\"edas-demo-configmap\\",\\"key\\":\\"key1\\"}}}","{\\"name\\":\\"k2\\",\\"value\\":\\"v2\\"}","{\\"name\\":\\"s1\\",\\"valueFrom\\":{\\"secretKeyRef\\":{\\"name\\":\\"edas-demo-secret\\",\\"key\\":\\"k1\\"}}}"]"', - ], - 'EnvFrom' => [ - 'description' => 'The source of the environment variable.'."\n", - 'type' => 'string', - 'example' => '[{"configMapRef":{"name":"test-cm"}}]', - ], - ], - ], - ], - ], - ], - 'ImageInfo' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'RepoId' => [ - 'description' => 'The ID of the image repository.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282', - ], - 'RepoOriginType' => [ - 'description' => 'The source type of the image repository.'."\n", - 'type' => 'string', - 'example' => 'ALI_HUB', - ], - 'Tag' => [ - 'description' => 'The tag of the image.'."\n", - 'type' => 'string', - 'example' => '5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282', - ], - 'RepoName' => [ - 'description' => 'The name of the image repository.'."\n", - 'type' => 'string', - 'example' => '131****067006888_shared_repo', - ], - 'RepoNamespace' => [ - 'description' => 'The namespace to which the image repository belongs.'."\n", - 'type' => 'string', - 'example' => 'edas-server****-user', - ], - 'RegionId' => [ - 'description' => 'The region ID of the image repository.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - 'App' => [ - 'description' => 'The basic information about the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestMem' => [ - 'description' => 'The size of the reserved memory. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'InstancesBeforeScaling' => [ - 'description' => 'The number of application instances before the last auto scaling operation.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'DeployType' => [ - 'description' => 'The deployment type of the application. Example: Image.'."\n", - 'type' => 'string', - 'example' => 'Image', - ], - 'ApplicationName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ApplicationType' => [ - 'description' => 'The type of the application.'."\n", - 'type' => 'string', - 'example' => 'War', - ], - 'Instances' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'LimitMem' => [ - 'description' => 'The maximum size of the memory allowed. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'Cmd' => [ - 'description' => 'The startup command.'."\n", - 'type' => 'string', - 'example' => 'ls', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'BuildpackId' => [ - 'description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '57', - ], - 'TomcatVersion' => [ - 'description' => 'The version of Apache Tomcat.'."\n", - 'type' => 'string', - 'example' => '8.5.55', - ], - 'CsClusterId' => [ - 'description' => 'The ID of the cluster to which the container belongs.'."\n", - 'type' => 'string', - 'example' => 'c383bc813c1974e****451b50c0c8****', - ], - 'RequestCpuM' => [ - 'description' => 'The number of requested CPU cores. Unit: millicores. 1,000 millicores equal one CPU core.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'AppId' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'example' => '00ee517d-dd7d-4d4e-****-****', - ], - 'K8sNamespace' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'EdasContainerVersion' => [ - 'description' => 'The version of EDAS Container.'."\n", - 'type' => 'string', - 'example' => '3.60.0', - ], - 'LimitCpuM' => [ - 'description' => 'The maximum number of CPU cores allowed. Unit: millicores. 1,000 millicores equal one CPU core.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'c37aec2a-bcca-4ec1-****-****', - ], - 'EnvList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Env' => [ - 'description' => 'The list of environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of environment variables.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'CATALINA_OPTS', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)', - ], - ], + 'ip' => [ + 'type' => 'array', + 'items' => ['description' => 'The IP address for service subscription.', 'type' => 'string', 'example' => '102.XX.XX.23', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - 'CmdArgs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CmdArg' => [ - 'description' => 'The list of commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command parameters.'."\n", - 'type' => 'string', - 'example' => '-lh', + 'Groups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'group' => [ + 'type' => 'array', + 'items' => ['description' => 'The group of the consumed service.', 'type' => 'string', 'example' => '”group“', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - 'DevelopType' => [ - 'description' => 'The application type. Valid values:'."\n" - ."\n" - .'* General: native Java application'."\n" - .'* Pandora: Pandora application'."\n" - .'* Multilingual: multilingual application'."\n", - 'type' => 'string', - 'example' => 'General', - ], - 'SlbInfo' => [ - 'description' => 'The configuration information about the Server Load Balancer (SLB).'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' {'."\n" - .' "addressType": "intranet",'."\n" - .' "externalTrafficPolicy": "Local",'."\n" - .' "ip": "192.168.254.***",'."\n" - .' "name": "intranet-testapp",'."\n" - .' "portMappings": ['."\n" - .' {'."\n" - .' "loadBalancerProtocol": "TCP",'."\n" - .' "servicePort": {'."\n" - .' "port": 8080,'."\n" - .' "protocol": "TCP",'."\n" - .' "targetPort": 18081,'."\n" - .' "vServerGroupName": "k8s/31414/intranet-testapp/default/cc90e0c9508a44667bdae2e83d3******"'."\n" - .' }'."\n" - .' }'."\n" - .' ],'."\n" - .' "scheduler": "rr",'."\n" - .' "serviceType": "LoadBalancer",'."\n" - .' "slbId": "lb-bp1ikoh3nrpgqsm******",'."\n" - .' "source": "create",'."\n" - .' "specification": "slb.s3.large"'."\n" - .' }'."\n" - .']', - ], - 'Annotations' => [ - 'description' => 'The annotation of an application pod.'."\n", - 'type' => 'string', - 'example' => '{"test-annokey":"test-annovalue"}', - ], - 'Labels' => [ - 'description' => 'The label of an application pod.'."\n", - 'type' => 'string', - 'example' => '{"test-labelkey":"test-labelvalue"}', - ], - 'LimitEphemeralStorage' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'string', - 'example' => '4', - ], - 'RequestEphemeralStorage' => [ - 'description' => 'The size of space reserved for ephemeral storage resources. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'EnableEmptyPushReject' => [ - 'description' => 'Indicates whether the Empty List Protection feature is enabled for the application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableLosslessRule' => [ - 'description' => 'Indicates whether the Graceful Release feature is enabled for the application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleAligned' => [ - 'description' => 'Indicates whether the Graceful Rolling Release and Configure Complete Service Registration before Readiness Probing feature is enabled for the application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleDelayTime' => [ - 'description' => 'The delay of service registration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'LosslessRuleFuncType' => [ - 'description' => 'The number of prefetching curves.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'LosslessRuleRelated' => [ - 'description' => 'Indicates whether the Graceful Rolling Release and Configure Complete Service Prefetching before Readiness Probing feature is enabled for the application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleWarmupTime' => [ - 'description' => 'The service prefetching duration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'FeatureAnnotations' => [ - 'description' => 'The feature annotations. Possible values:'."\n" - ."\n" - .'* base.combination.edas: enables EDAS integrated management solution.'."\n" - .'* base.combination.arms: enables ARMS monitoring.'."\n" - .'* base.combination.mse: enables MSE microservices governance.'."\n" - .'* base.combination.none: enables lifecycle management.'."\n", - 'type' => 'string', - 'example' => 'base.combination.edas', - ], - 'WorkloadType' => [ - 'description' => 'The workload type. Valid values: Deployment and StatefulSet. If you do not specify this parameter, Deployment is used.'."\n", - 'type' => 'string', - 'example' => 'Deployment', - ], - 'SecurityContext' => [ - 'type' => 'string', - ], - ], - ], - 'Conf' => [ - 'description' => 'The configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'PostStart' => [ - 'description' => 'The script executed after the container is started.'."\n", - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'Readiness' => [ - 'description' => 'The information about the readiness check on the container.'."\n", - 'type' => 'string', - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}', - ], - 'AhasEnabled' => [ - 'description' => 'Indicates whether the application is connected to Application High Availability Service (AHAS).'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'K8sCmdArgs' => [ - 'description' => 'The parameters of the startup command.'."\n", - 'type' => 'string', - 'example' => '-lh', - ], - 'Liveness' => [ - 'description' => 'The information about the liveness check on the container.'."\n", - 'type' => 'string', - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], - 'DeployAcrossNodes' => [ - 'description' => 'Indicates whether the application instances are deployed across nodes.'."\n" - ."\n" - .'* Value `true` indicates that the application instances are deployed across nodes.'."\n" - .'* Other values indicate that the application instances are not deployed across nodes.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'K8sCmd' => [ - 'description' => 'The startup command.'."\n", - 'type' => 'string', - 'example' => 'ls', - ], - 'PreStop' => [ - 'description' => 'The script executed before the container is stopped.'."\n", - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'DeployAcrossZones' => [ - 'description' => 'Indicates whether the application instances are deployed across zones.'."\n" - ."\n" - .'* Value `true` indicates that the application instances are deployed across zones.'."\n" - .'* Other values indicate that the application instances are not deployed across zones.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'JarStartArgs' => [ - 'description' => 'The startup parameters for a JAR application. This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => '-lh', - ], - 'K8sNasInfo' => [ - 'description' => 'The information about the File Storage NAS (NAS) storage.', - 'type' => 'string', - 'example' => '[{"nasPath":"/mnt/","mountPath":"/mnt/"}]', - ], - 'JarStartOptions' => [ - 'description' => 'The startup options for a JAR application. This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => '-h', - ], - 'RuntimeClassName' => [ - 'description' => 'The type of the container runtime. This parameter is applicable only to clusters that use sandboxed containers.'."\n", - 'type' => 'string', - 'example' => 'runc', - ], - 'K8sLocalvolumeInfo' => [ - 'description' => 'The information about the local storage.'."\n", - 'type' => 'string', - 'example' => '[{"type":"","nodePath":"/mnt/","mountPath":"/mnt/"}]', - ], - 'K8sVolumeInfo' => [ - 'description' => 'The information about the storage.'."\n", - 'type' => 'string', - 'example' => '"{\\"hostPaths\\":\\"[]\\",\\"emptyDirs\\":\\"[]\\"}"', - ], - 'Affinity' => [ - 'description' => 'The affinity configuration of the pod.'."\n", - 'type' => 'string', - 'example' => '"{\\"nodeAffinity\\":{\\"requiredDuringSchedulingIgnoredDuringExecution\\":{\\"nodeSelectorTerms\\":[{\\"matchExpressions\\":[{\\"key\\":\\"beta.kubernetes.io/arch\\",\\"operator\\":\\"NotIn\\",\\"values\\":[\\"arm64\\",\\"arm32\\"]}]}]},\\"preferredDuringSchedulingIgnoredDuringExecution\\":[{\\"weight\\":5,\\"preference\\":{\\"matchExpressions\\":[{\\"key\\":\\"kubernetes.io/os\\",\\"operator\\":\\"In\\",\\"values\\":[\\"linux\\"]}]}}]},\\"podAffinity\\":{\\"requiredDuringSchedulingIgnoredDuringExecution\\":[{\\"labelSelector\\":{\\"matchExpressions\\":[{\\"key\\":\\"edas.oam.acname\\",\\"operator\\":\\"NotIn\\",\\"values\\":[\\"edas-test-app\\"]}]},\\"namespaces\\":[\\"default\\"],\\"topologyKey\\":\\"kubernetes.io/hostname\\"}]},\\"podAntiAffinity\\":{\\"preferredDuringSchedulingIgnoredDuringExecution\\":[{\\"weight\\":15,\\"podAffinityTerm\\":{\\"labelSelector\\":{\\"matchExpressions\\":[{\\"key\\":\\"edas.oam.acname\\",\\"operator\\":\\"In\\",\\"values\\":[\\"edas-test-app-2\\"]}]},\\"namespaces\\":[\\"default\\"],\\"topologyKey\\":\\"failure-domain.beta.kubernetes.io/zone\\"}}]}}"', - ], - 'Tolerations' => [ - 'description' => 'The scheduling tolerance configuration of the pod.'."\n", - 'type' => 'string', - 'example' => '"[{\\"key\\":\\"edas-taint-key2\\",\\"operator\\":\\"Exists\\",\\"effect\\":\\"NoExecute\\",\\"tolerationSeconds\\":50},{\\"key\\":\\"edas-taint-key\\",\\"operator\\":\\"Equal\\",\\"value\\":\\"edas-taint-value\\",\\"effect\\":\\"PreferNoSchedule\\"}]"', - ], - 'UserBaseImageUrl' => [ - 'description' => 'The URL of the base image. If you use a custom Java Development Kit (JDK) runtime, you must specify this parameter.'."\n", - 'type' => 'string', - 'example' => 'openjdk:8u302', - ], - ], - ], - 'LatestVersion' => [ - 'description' => 'The information about the latest version.'."\n", - 'type' => 'object', - 'properties' => [ - 'Url' => [ - 'description' => 'The URL of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application.'."\n", - 'type' => 'string', - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], - 'WarUrl' => [ - 'description' => 'The URL of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application.'."\n", - 'type' => 'string', - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package.'."\n", - 'type' => 'string', - 'example' => '20200720', - ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"Applcation\\": {\\n \\"AppId\\": \\"a5281053-****-47a5-b2ab-5c0323de****\\",\\n \\"DeployGroups\\": {\\n \\"DeployGroup\\": [\\n {\\n \\"Components\\": {\\n \\"Components\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"Open JDK 8\\",\\n \\"ComponentId\\": \\"5\\"\\n }\\n ]\\n },\\n \\"Env\\": \\"\\\\\\"[\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"valueFrom\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"configMapKeyRef\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-demo-configmap\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"key1\\\\\\\\\\\\\\"}}}\\\\\\",\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"v2\\\\\\\\\\\\\\"}\\\\\\",\\\\\\"{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"s1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"valueFrom\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"secretKeyRef\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-demo-secret\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k1\\\\\\\\\\\\\\"}}}\\\\\\"]\\\\\\"\\",\\n \\"EnvFrom\\": \\"[{\\\\\\"configMapRef\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"test-cm\\\\\\"}}]\\"\\n }\\n ]\\n },\\n \\"ImageInfo\\": {\\n \\"RepoId\\": \\"cn-hangzhou\\",\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282\\",\\n \\"RepoOriginType\\": \\"ALI_HUB\\",\\n \\"Tag\\": \\"5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282\\",\\n \\"RepoName\\": \\"131****067006888_shared_repo\\",\\n \\"RepoNamespace\\": \\"edas-server****-user\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"App\\": {\\n \\"RequestMem\\": 1024,\\n \\"InstancesBeforeScaling\\": 10,\\n \\"DeployType\\": \\"Image\\",\\n \\"ApplicationName\\": \\"test\\",\\n \\"ApplicationType\\": \\"War\\",\\n \\"Instances\\": 4,\\n \\"LimitMem\\": 1024,\\n \\"Cmd\\": \\"ls\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BuildpackId\\": 57,\\n \\"TomcatVersion\\": \\"8.5.55\\",\\n \\"CsClusterId\\": \\"c383bc813c1974e****451b50c0c8****\\",\\n \\"RequestCpuM\\": 1000,\\n \\"AppId\\": \\"00ee517d-dd7d-4d4e-****-****\\",\\n \\"K8sNamespace\\": \\"default\\",\\n \\"EdasContainerVersion\\": \\"3.60.0\\",\\n \\"LimitCpuM\\": 1000,\\n \\"ClusterId\\": \\"c37aec2a-bcca-4ec1-****-****\\",\\n \\"EnvList\\": {\\n \\"Env\\": [\\n {\\n \\"Name\\": \\"CATALINA_OPTS\\",\\n \\"Value\\": \\"-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)\\"\\n }\\n ]\\n },\\n \\"CmdArgs\\": {\\n \\"CmdArg\\": [\\n \\"-lh\\"\\n ]\\n },\\n \\"DevelopType\\": \\"General\\",\\n \\"SlbInfo\\": \\"[\\\\n {\\\\n \\\\\\"addressType\\\\\\": \\\\\\"intranet\\\\\\",\\\\n \\\\\\"externalTrafficPolicy\\\\\\": \\\\\\"Local\\\\\\",\\\\n \\\\\\"ip\\\\\\": \\\\\\"192.168.254.***\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"intranet-testapp\\\\\\",\\\\n \\\\\\"portMappings\\\\\\": [\\\\n {\\\\n \\\\\\"loadBalancerProtocol\\\\\\": \\\\\\"TCP\\\\\\",\\\\n \\\\\\"servicePort\\\\\\": {\\\\n \\\\\\"port\\\\\\": 8080,\\\\n \\\\\\"protocol\\\\\\": \\\\\\"TCP\\\\\\",\\\\n \\\\\\"targetPort\\\\\\": 18081,\\\\n \\\\\\"vServerGroupName\\\\\\": \\\\\\"k8s/31414/intranet-testapp/default/cc90e0c9508a44667bdae2e83d3******\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"scheduler\\\\\\": \\\\\\"rr\\\\\\",\\\\n \\\\\\"serviceType\\\\\\": \\\\\\"LoadBalancer\\\\\\",\\\\n \\\\\\"slbId\\\\\\": \\\\\\"lb-bp1ikoh3nrpgqsm******\\\\\\",\\\\n \\\\\\"source\\\\\\": \\\\\\"create\\\\\\",\\\\n \\\\\\"specification\\\\\\": \\\\\\"slb.s3.large\\\\\\"\\\\n }\\\\n]\\",\\n \\"Annotations\\": \\"{\\\\\\"test-annokey\\\\\\":\\\\\\"test-annovalue\\\\\\"}\\",\\n \\"Labels\\": \\"{\\\\\\"test-labelkey\\\\\\":\\\\\\"test-labelvalue\\\\\\"}\\",\\n \\"LimitEphemeralStorage\\": \\"4\\",\\n \\"RequestEphemeralStorage\\": \\"2\\",\\n \\"EnableEmptyPushReject\\": true,\\n \\"EnableLosslessRule\\": true,\\n \\"LosslessRuleAligned\\": true,\\n \\"LosslessRuleDelayTime\\": 120,\\n \\"LosslessRuleFuncType\\": 2,\\n \\"LosslessRuleRelated\\": true,\\n \\"LosslessRuleWarmupTime\\": 120,\\n \\"FeatureAnnotations\\": \\"base.combination.edas\\",\\n \\"WorkloadType\\": \\"Deployment\\",\\n \\"SecurityContext\\": \\"{\\\\\\\\\\\\\\"runAsUser\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"runAsGroup\\\\\\\\\\\\\\":0}\\"\\n },\\n \\"Conf\\": {\\n \\"PostStart\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"Readiness\\": \\"{\\\\\\"failureThreshold\\\\\\": 3,\\\\\\"initialDelaySeconds\\\\\\": 5,\\\\\\"successThreshold\\\\\\": 1,\\\\\\"timeoutSeconds\\\\\\": 1,\\\\\\"httpGet\\\\\\": {\\\\\\"path\\\\\\": \\\\\\"/consumer\\\\\\",\\\\\\"port\\\\\\": 8080,\\\\\\"scheme\\\\\\": \\\\\\"HTTP\\\\\\",\\\\\\"httpHeaders\\\\\\": \\\\\\\\[{\\\\\\"name\\\\\\": \\\\\\"test\\\\\\",\\\\\\"value\\\\\\": \\\\\\"testvalue\\\\\\"}\\\\\\\\]}}\\",\\n \\"AhasEnabled\\": true,\\n \\"K8sCmdArgs\\": \\"-lh\\",\\n \\"Liveness\\": \\"{\\\\\\"failureThreshold\\\\\\": 3,\\\\\\"initialDelaySeconds\\\\\\": 5,\\\\\\"successThreshold\\\\\\": 1,\\\\\\"timeoutSeconds\\\\\\": 1,\\\\\\"tcpSocket\\\\\\":{\\\\\\"host\\\\\\":\\\\\\"\\\\\\", \\\\\\"port\\\\\\":8080}}\\",\\n \\"DeployAcrossNodes\\": \\"true\\",\\n \\"K8sCmd\\": \\"ls\\",\\n \\"PreStop\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"DeployAcrossZones\\": \\"true\\",\\n \\"JarStartArgs\\": \\"-lh\\",\\n \\"K8sNasInfo\\": \\"[{\\\\\\"nasPath\\\\\\":\\\\\\"/mnt/\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/mnt/\\\\\\"}]\\",\\n \\"JarStartOptions\\": \\"-h\\",\\n \\"RuntimeClassName\\": \\"runc\\",\\n \\"K8sLocalvolumeInfo\\": \\"[{\\\\\\"type\\\\\\":\\\\\\"\\\\\\",\\\\\\"nodePath\\\\\\":\\\\\\"/mnt/\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/mnt/\\\\\\"}]\\",\\n \\"K8sVolumeInfo\\": \\"\\\\\\"{\\\\\\\\\\\\\\"hostPaths\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"[]\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"emptyDirs\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"[]\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"Affinity\\": \\"\\\\\\"{\\\\\\\\\\\\\\"nodeAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"requiredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"nodeSelectorTerms\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"beta.kubernetes.io/arch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NotIn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"arm64\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"arm32\\\\\\\\\\\\\\"]}]}]},\\\\\\\\\\\\\\"preferredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"weight\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"preference\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"kubernetes.io/os\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"In\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"linux\\\\\\\\\\\\\\"]}]}}]},\\\\\\\\\\\\\\"podAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"requiredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"labelSelector\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas.oam.acname\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NotIn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"edas-test-app\\\\\\\\\\\\\\"]}]},\\\\\\\\\\\\\\"namespaces\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"topologyKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"kubernetes.io/hostname\\\\\\\\\\\\\\"}]},\\\\\\\\\\\\\\"podAntiAffinity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"preferredDuringSchedulingIgnoredDuringExecution\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"weight\\\\\\\\\\\\\\":15,\\\\\\\\\\\\\\"podAffinityTerm\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"labelSelector\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"matchExpressions\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas.oam.acname\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"In\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"edas-test-app-2\\\\\\\\\\\\\\"]}]},\\\\\\\\\\\\\\"namespaces\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"default\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"topologyKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"failure-domain.beta.kubernetes.io/zone\\\\\\\\\\\\\\"}}]}}\\\\\\"\\",\\n \\"Tolerations\\": \\"\\\\\\"[{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-key2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Exists\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"effect\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NoExecute\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"tolerationSeconds\\\\\\\\\\\\\\":50},{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-key\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Equal\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"edas-taint-value\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"effect\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PreferNoSchedule\\\\\\\\\\\\\\"}]\\\\\\"\\",\\n \\"UserBaseImageUrl\\": \\"openjdk:8u302\\"\\n },\\n \\"LatestVersion\\": {\\n \\"Url\\": \\"https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar\\",\\n \\"WarUrl\\": \\"https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar\\",\\n \\"PackageVersion\\": \\"20200720\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetK8sApplicationResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <RequestId>1053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n <Applcation>\\n <AppId>a5281053-****-47a5-b2ab-5c0323de****</AppId>\\n <DeployGroups>\\n <Components>\\n <Type>JDK</Type>\\n <ComponentKey>Open JDK 8</ComponentKey>\\n <ComponentId>5</ComponentId>\\n </Components>\\n </DeployGroups>\\n <ImageInfo>\\n <RepoId>cn-hangzhou</RepoId>\\n <ImageUrl>registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282</ImageUrl>\\n <RepoOriginType>ALI_HUB</RepoOriginType>\\n <Tag>5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282</Tag>\\n <RepoName>131****067006888_shared_repo</RepoName>\\n <RepoNamespace>edas-server****-user</RepoNamespace>\\n <RegionId>cn-beijing</RegionId>\\n </ImageInfo>\\n <App>\\n <RequestMem>1024</RequestMem>\\n <InstancesBeforeScaling>10</InstancesBeforeScaling>\\n <DeployType>Image</DeployType>\\n <ApplicationName>test</ApplicationName>\\n <ApplicationType>War</ApplicationType>\\n <Instances>4</Instances>\\n <LimitMem>1024</LimitMem>\\n <Cmd>ls</Cmd>\\n <RegionId>cn-hangzhou</RegionId>\\n <BuildpackId>57</BuildpackId>\\n <TomcatVersion>8.5.55</TomcatVersion>\\n <CsClusterId>c383bc813c1974e****451b50c0c8****</CsClusterId>\\n <RequestCpuM>1000</RequestCpuM>\\n <AppId>00ee517d-dd7d-4d4e-****-****</AppId>\\n <K8sNamespace>default</K8sNamespace>\\n <EdasContainerVersion>3.60.0</EdasContainerVersion>\\n <ClusterId>c37aec2a-bcca-4ec1-****-****</ClusterId>\\n <EnvList>\\n <Name>CATALINA_OPTS</Name>\\n <Value>-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)</Value>\\n </EnvList>\\n <CmdArgs>-lh</CmdArgs>\\n </App>\\n <Conf>\\n <PostStart>{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"ls\\\\\\",\\\\\\"/\\\\\\"]}}\\"</PostStart>\\n <Readiness>{\\"failureThreshold\\": 3,\\"initialDelaySeconds\\": 5,\\"successThreshold\\": 1,\\"timeoutSeconds\\": 1,\\"httpGet\\": {\\"path\\": \\"/consumer\\",\\"port\\": 8080,\\"scheme\\": \\"HTTP\\",\\"httpHeaders\\": \\\\[{\\"name\\": \\"test\\",\\"value\\": \\"testvalue\\"}\\\\]}}</Readiness>\\n <AhasEnabled>true</AhasEnabled>\\n <K8sCmdArgs>-lh</K8sCmdArgs>\\n <Liveness>{\\"failureThreshold\\": 3,\\"initialDelaySeconds\\": 5,\\"successThreshold\\": 1,\\"timeoutSeconds\\": 1,\\"tcpSocket\\":{\\"host\\":\\"\\", \\"port\\":8080}}</Liveness>\\n <DeployAcrossNodes>true</DeployAcrossNodes>\\n <K8sCmd>ls</K8sCmd>\\n <PreStop>{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"ls\\\\\\",\\\\\\"/\\\\\\"]}}\\"</PreStop>\\n <DeployAcrossZones>true</DeployAcrossZones>\\n <JarStartArgs>-lh</JarStartArgs>\\n <K8sNasInfo>[{\\"nasPath\\":\\"/mnt/\\",\\"mountPath\\":\\"/mnt/\\"}]</K8sNasInfo>\\n <JarStartOptions>-h</JarStartOptions>\\n <RuntimeClassName>runc</RuntimeClassName>\\n <K8sLocalvolumeInfo>[{\\"type\\":\\"\\",\\"nodePath\\":\\"/mnt/\\",\\"mountPath\\":\\"/mnt/\\"}]</K8sLocalvolumeInfo>\\n <K8sVolumeInfo>\\"{\\\\\\"hostPaths\\\\\\":\\\\\\"[]\\\\\\",\\\\\\"emptyDirs\\\\\\":\\\\\\"[]\\\\\\"}\\"</K8sVolumeInfo>\\n <ApmBinderLogFileConfigs>[{\\"filePattern\\":\\"test\\",\\"name\\":\\"auto-logstash\\",\\"path\\":\\"/home/admin\\",\\"type\\":\\"file\\"}]</ApmBinderLogFileConfigs>\\n </Conf>\\n <LatestVersion>\\n <Url>https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar</Url>\\n <WarUrl>https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar</WarUrl>\\n <PackageVersion>20200720</PackageVersion>\\n </LatestVersion>\\n </Applcation>\\n</GetK8sApplicationResponse>","errorExample":""}]', - 'title' => 'GetK8sApplication', + 'title' => 'ListConsumedServices', + 'summary' => 'Queries consumed services.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sServices' => [ - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConsumedServices'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NamespaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"ConsumedServicesList\\": {\\n \\"ListConsumedServices\\": [\\n {\\n \\"DockerApplication\\": true,\\n \\"Type\\": \\"HSF\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AppId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"Group2Ip\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Name\\": \\"service\\",\\n \\"Ips\\": {\\n \\"ip\\": [\\n \\"102.XX.XX.23\\"\\n ]\\n },\\n \\"Groups\\": {\\n \\"group\\": [\\n \\"”group“\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListConvertableEcu' => [ + 'path' => '/pop/v5/resource/convertable_ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16164,129 +10626,108 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'clusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'Services' => [ - 'description' => 'The list of services in the Kubernetes cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the services in the Kubernetes cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the service.'."\n", - 'type' => 'string', - 'example' => 'ClusterIP', - ], - 'Name' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'service-http', - ], - 'ClusterIP' => [ - 'description' => 'The IP address of the service in the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => '104.23.xx.xx', - ], - 'ServicePorts' => [ - 'description' => 'The mapping of service ports.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the service port mapping.'."\n", - 'type' => 'object', - 'properties' => [ - 'TargetPort' => [ - 'description' => 'The backend container port.'."\n", - 'type' => 'string', - 'example' => '8080', - ], - 'NodePort' => [ - 'description' => 'The port of the node.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Port' => [ - 'description' => 'The frontend service port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => 'The protocol of the service.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'InstanceList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => 'The ECS instances that can be imported to the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about ECS instances.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-2zef6ob8m************', 'title' => ''], + 'Status' => ['description' => 'The state of the instance. Valid values:'."\n" + ."\n" + .'- Pending: The instance is being created.'."\n" + ."\n" + .'- Running: The instance is running.'."\n" + ."\n" + .'- Starting: The instance is being started.'."\n" + ."\n" + .'- Stopping: The instance is being stopped.'."\n" + ."\n" + .'- Stopped: The instance is stopped.', 'type' => 'string', 'example' => ' Running', 'title' => ''], + 'PrivateIp' => ['description' => 'The private IP address of the ECS instance. This parameter is valid only when the ECS instance is deployed in a VPC.', 'type' => 'string', 'example' => '192.XX.XX.123', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the ECS instance has expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-2ze7s2v0b***********', 'title' => ''], + 'Mem' => ['description' => 'The size of memory for the ECS instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '4096', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the ECS instance is located.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'VpcName' => ['description' => 'The name of the VPC.', 'type' => 'string', 'example' => 'jianwei-test', 'title' => ''], + 'EcuId' => ['description' => 'The ID of the elastic compute units (ECU).', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores of the ECS instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InnerIp' => ['description' => 'The private IP address of the ECS instance. This parameter is valid only when the ECS instance is deployed in a VPC.', 'type' => 'string', 'example' => '192.168.13.xx', 'title' => ''], + 'Eip' => ['description' => 'The elastic IP address (EIP) associated with the ECS instance. The EIP can be changed.', 'type' => 'string', 'example' => '13.xx.xxx.xx', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'worker-k8s', 'title' => ''], + 'PublicIp' => ['description' => 'The public IP address of the ECS instance. This IP address can be used only by the ECS instance.', 'type' => 'string', 'example' => '13.xx.xx.xxx', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"Services\\": [\\n {\\n \\"Type\\": \\"ClusterIP\\",\\n \\"Name\\": \\"service-http\\",\\n \\"ClusterIP\\": \\"104.23.xx.xx\\",\\n \\"ServicePorts\\": [\\n {\\n \\"TargetPort\\": \\"8080\\",\\n \\"NodePort\\": 0,\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<Services>\\n <ClusterIP>104.23.xx.xx</ClusterIP>\\n <Type>ClusterIP</Type>\\n <Name>service-http</Name>\\n</Services>\\n<Services>\\n <ServicePorts>\\n <NodePort>0</NodePort>\\n <TargetPort>8080</TargetPort>\\n <Protocol>TCP</Protocol>\\n <Port>80</Port>\\n </ServicePorts>\\n</Services>\\n<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'summary' => 'Queries application services that are deployed in a Kubernetes cluster.', + 'errorCodes' => [], + 'title' => 'ListConvertableEcu', + 'summary' => 'Queries the Elastic Compute Service (ECS) instances that can be imported to a specified cluster. This operation is applicable to ECS clusters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QuerySlsLogStoreList' => [ - 'path' => '/pop/v5/k8s/sls/query_sls_log_store_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConvertableEcu'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"InstanceList\\": {\\n \\"Instance\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8m************\\",\\n \\"Status\\": \\" Running\\",\\n \\"PrivateIp\\": \\"192.XX.XX.123\\",\\n \\"Expired\\": false,\\n \\"InstanceId\\": \\"i-2ze7s2v0b***********\\",\\n \\"Mem\\": 4096,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VpcName\\": \\"jianwei-test\\",\\n \\"EcuId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.13.xx\\",\\n \\"Eip\\": \\"13.xx.xxx.xx\\",\\n \\"InstanceName\\": \\"worker-k8s\\",\\n \\"PublicIp\\": \\"13.xx.xx.xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListDeployGroup' => [ + 'summary' => 'Call the ListDeployGroup operation to obtain a list of deployment groups.', + 'path' => '/pop/v5/app/deploy_group_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16294,148 +10735,133 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'af58edcf-f7eb-****-****-db4e425f****', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of data that is collected by Log Service. Valid values:'."\n" - ."\n" - .'* file: the file type'."\n" - .'* stdout: the standard output type'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'file', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from Page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the application. Call the ListApplication operation to obtain the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'd6834ee9-5045-*************', - ], - 'TotalSize' => [ - 'description' => 'The number of log sources configured for the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Result' => [ - 'description' => 'The configurations of Log Service for the application.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Link' => [ - 'description' => 'The URL of the logging service.'."\n", - 'type' => 'string', - 'example' => 'https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss', - ], - 'CreateTime' => [ - 'description' => 'The time when the logging service was created.'."\n", - 'type' => 'string', - 'example' => '2020-05-18 22:08:46', - ], - 'Logstore' => [ - 'description' => 'The name of the Logstore.'."\n", - 'type' => 'string', - 'example' => 'thisisatestlogstore', - ], - 'ConsumerSide' => [ - 'description' => 'The type of the logging service.'."\n", - 'type' => 'string', - 'example' => 'Log Service'."\n", - ], - 'Project' => [ - 'description' => 'The name of the project.'."\n", - 'type' => 'string', - 'example' => 'k8s-log-c846f28edbd1d4c6aa9d78c0e********', - ], - 'Source' => [ - 'description' => 'The source of logs. Valid values:'."\n" - ."\n" - .'* Standard output: stdout.log'."\n" - .'* File log: the directory that stores logs'."\n", - 'type' => 'string', - 'example' => '/var/log/*', + 'Code' => ['description' => 'The status code of the request or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3FDE-DS9R-*********************', 'title' => ''], + 'DeployGroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployGroup' => [ + 'description' => 'The list of deployment groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'A deployment group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group for the internal-facing SLB instance that is associated with the deployment group.', 'type' => 'string', 'example' => 'rsp-cige6******', 'title' => ''], + 'Status' => ['description' => 'The status of the group.'."\n" + ."\n" + .'- 0: ready'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: stopped'."\n" + ."\n" + .'- 10: failed due to a system exception', 'type' => 'string', 'example' => '2', 'title' => ''], + 'CpuRequest' => ['description' => 'The number of CPU cores requested for the application instance. A value of 0 indicates that no limit is set.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'UpdateTime' => ['description' => 'The UNIX timestamp when the deployment group was updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779', 'title' => ''], + 'MemoryRequest' => ['description' => 'The amount of memory requested for the application instance. Unit: MB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'example' => '512', 'title' => ''], + 'NameSpace' => ['description' => 'The namespace.', 'type' => 'string', 'example' => 'ping****est', 'title' => ''], + 'AppVersionId' => ['description' => 'The ID of the deployment record for the group.', 'type' => 'string', 'example' => 'changeorder_a**_*******_**', 'title' => ''], + 'CreateTime' => ['description' => 'The UNIX timestamp when the deployment group was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779', 'title' => ''], + 'DeploymentName' => ['description' => 'The name of the deployment.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'PreStop' => ['description' => 'The script that is run before the instance is stopped.', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', 'title' => ''], + 'PackageUrl' => ['description' => 'The URL of the deployment package.', 'type' => 'string', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the deployment package.', 'type' => 'string', 'example' => 'E', 'title' => ''], + 'BaseComponentMetaName' => ['description' => 'The name of the base component.', 'type' => 'string', 'example' => 'k8s-sc-consumer-****', 'title' => ''], + 'CsClusterId' => ['description' => 'The ID of the container cluster.', 'type' => 'string', 'example' => 'c66e65950db****cba92f17434df1****', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + 'LastUpdateTime' => ['description' => 'The UNIX timestamp of the last update.', 'type' => 'integer', 'format' => 'int64', 'example' => '1587888503825', 'title' => ''], + 'Env' => ['description' => 'The ID of the container service cluster.', 'type' => 'string', 'example' => '497806cb-****-6a7', 'title' => ''], + 'CpuLimit' => ['description' => 'The maximum number of CPU cores allowed for the application instance.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'GroupType' => ['description' => 'The type of the group.'."\n" + ."\n" + .'- 0: default group.'."\n" + ."\n" + .'- 1: Grayscale release is disabled for traffic management.'."\n" + ."\n" + .'- 2: Grayscale release is enabled for traffic management.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************', 'title' => ''], + 'PostStart' => ['description' => 'The script that is run after the instance is started.', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', 'title' => ''], + 'Labels' => ['description' => 'The labels.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MemoryLimit' => ['description' => 'The maximum amount of memory allowed for the application instance. Unit: MB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Strategy' => ['description' => 'The throttling policy. This is a reserved field.', 'type' => 'string', 'example' => 'RollingUpdate', 'title' => ''], + 'Selector' => ['description' => 'The ID of the application that is deployed in an Enterprise Distributed Application Service (EDAS) Kubernetes cluster.', 'type' => 'string', 'example' => '53dd85cc-25b4-4d0e-****-6bf5465****4', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '577f4c50-16ee-43d8-****-************', 'title' => ''], + 'GroupName' => ['description' => 'The name of the group.', 'type' => 'string', 'example' => '_DEFAULT_GROUP', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'doc-test', 'title' => ''], + 'PackageVersionId' => ['description' => 'The ID of the version that was deployed in the group.', 'type' => 'string', 'example' => 'a7d48fe8-ad8f-****-89bd-74cc1ee6****', 'title' => ''], + 'Reversion' => ['description' => 'The application version. The value is an integer that is incremented from 0 to 7.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'VExtServerGroupId' => ['description' => 'The ID of the vServer group for the Internet-facing SLB instance that is associated with the deployment group.', 'type' => 'string', 'example' => 'rsp-cige6******', 'title' => ''], + 'PackagePublicUrl' => ['description' => 'The public URL of the deployment package.', 'type' => 'string', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', 'title' => ''], + 'EphemeralStorageRequest' => ['description' => 'The minimum temporary storage required. Unit: GB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'EphemeralStorageLimit' => ['description' => 'The maximum temporary storage allowed. Unit: GB. A value of 0 indicates that no limit is set.', 'type' => 'string', 'example' => '8', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d6834ee9-5045-*************\\",\\n \\"TotalSize\\": 1,\\n \\"Result\\": [\\n {\\n \\"Link\\": \\"https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss\\",\\n \\"CreateTime\\": \\"2020-05-18 22:08:46\\",\\n \\"Logstore\\": \\"thisisatestlogstore\\",\\n \\"ConsumerSide\\": \\"SLS日志服务\\",\\n \\"Project\\": \\"k8s-log-c846f28edbd1d4c6aa9d78c0e********\\",\\n \\"Source\\": \\"/var/log/*\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<code>200</code>\\n<message>success</message>\\n<result>\\n <consumerSide>SLS日志服务</consumerSide>\\n <createTime>2020-05-18 22:08:46</createTime>\\n <link>https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss</link>\\n <logstore>thisisatestlogstore</logstore>\\n <project>k8s-log-c846f28edbd1d4c6aa9d78c0e********</project>\\n <source>/var/log/*</source>\\n</result>\\n<totalSize>1</totalSize>","errorExample":""}]', - 'title' => 'QuerySlsLogStoreList', - 'summary' => 'Queries the configuration details of Log Service for an application.', + 'title' => 'ListDeployGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetAppDeployment' => [ - 'summary' => 'Queries the information about the Deployment of a Kubernetes application.', - 'path' => '/pop/v5/oam/app_deployment', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDeployGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3FDE-DS9R-*********************\\",\\n \\"DeployGroupList\\": {\\n \\"DeployGroup\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-cige6******\\",\\n \\"Status\\": \\"2\\",\\n \\"CpuRequest\\": \\"1\\",\\n \\"UpdateTime\\": 1573627695779,\\n \\"MemoryRequest\\": \\"512\\",\\n \\"NameSpace\\": \\"ping****est\\",\\n \\"AppVersionId\\": \\"changeorder_a**_*******_**\\",\\n \\"CreateTime\\": 1573627695779,\\n \\"DeploymentName\\": \\"test\\",\\n \\"PreStop\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"PackageUrl\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar\\",\\n \\"PackageVersion\\": \\"E\\",\\n \\"BaseComponentMetaName\\": \\"k8s-sc-consumer-****\\",\\n \\"CsClusterId\\": \\"c66e65950db****cba92f17434df1****\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"LastUpdateTime\\": 1587888503825,\\n \\"Env\\": \\"497806cb-****-6a7\\",\\n \\"CpuLimit\\": \\"400\\",\\n \\"GroupType\\": 1,\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\",\\n \\"PostStart\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ls\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"]}}\\\\\\"\\",\\n \\"Labels\\": \\"test\\",\\n \\"MemoryLimit\\": \\"0\\",\\n \\"Strategy\\": \\"RollingUpdate\\",\\n \\"Selector\\": \\"53dd85cc-25b4-4d0e-****-6bf5465****4\\",\\n \\"GroupId\\": \\"577f4c50-16ee-43d8-****-************\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"ClusterName\\": \\"doc-test\\",\\n \\"PackageVersionId\\": \\"a7d48fe8-ad8f-****-89bd-74cc1ee6****\\",\\n \\"Reversion\\": \\"2\\",\\n \\"VExtServerGroupId\\": \\"rsp-cige6******\\",\\n \\"PackagePublicUrl\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar\\",\\n \\"EphemeralStorageRequest\\": \\"4\\",\\n \\"EphemeralStorageLimit\\": \\"8\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListEcsNotInCluster' => [ + 'path' => '/pop/v5/resource/ecs_not_in_cluster', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16443,22 +10869,21 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NetworkMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => 'The network type. Valid values:'."\n" + ."\n" + .'- 1: classic network'."\n" + ."\n" + .'- 2: virtual private cloud (VPC)', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC. This parameter is required if the NetworkMode parameter is set to 2.', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zef6ob8****v8x3q46kp', 'title' => ''], ], ], 'responses' => [ @@ -16466,47 +10891,96 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The information about the Deployment of the application. The value is a JSON string.'."\n", - 'type' => 'string', - 'example' => ' {"metadata":{"name":"oambuild-group*","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/oambuil*","uid":"*-afc0-436e-9949-fb01994a9b63","resourceVersion":"969614832","generation":2,"creationTimestamp":"2021-04-06T11:38:46Z","labels":{"edas-domain":"edas-admin","edas.aliyun.oam.com/rollout-name":"oambuild-group-1","edas.aliyun.oam.com/rollout-namespace":"default","edas.aliyun.oam.com/rollout-revision":"3","edas.appid":"fc5e0f54-*-4cab-91a0-b7becb1f6174","edas.controlplane":"edas-oam","edas.oam.acname":"oambuild"...', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'EcsEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcsEntity' => [ + 'description' => 'The information about ECS instances.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-2zef6ob8mrlzv8x3q****', 'title' => ''], + 'Status' => ['description' => 'The status of the ECS instance. Valid values:'."\n" + ."\n" + .'- **Pending**: The ECS instance is being created.'."\n" + ."\n" + .'- **Running**: The ECS instance is running.'."\n" + ."\n" + .'- **Starting**: The ECS instance is being started.'."\n" + ."\n" + .'- **Stopping**: The ECS instance is being stopped.'."\n" + ."\n" + .'- **Stopped**: The ECS instance is stopped.', 'type' => 'string', 'example' => ' Running', 'title' => ''], + 'PrivateIp' => ['description' => 'The private IP address of the ECS instance.', 'type' => 'string', 'example' => '192.168.*.**', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the ECS instance has expired. Valid values:'."\n" + ."\n" + .'- **true**: The ECS instance has expired.'."\n" + ."\n" + .'- **false**: The ECS instance has not expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-2ze7s2v0b***********', 'title' => ''], + 'Mem' => ['description' => 'The size of memory. Unit: bytes.', 'type' => 'integer', 'format' => 'int32', 'example' => '4096', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the ECS instance is located.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'VpcName' => ['description' => 'The name of the VPC.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InnerIp' => ['description' => 'The private IP address of the ECS instance.', 'type' => 'string', 'example' => '192.168.20.113', 'title' => ''], + 'Eip' => ['description' => 'The elastic IP address (EIP) associated with the ECS instance.', 'type' => 'string', 'example' => '139.30.xxx.xx', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****', 'title' => ''], + 'PublicIp' => ['description' => 'The public IP address of the ECS instance.', 'type' => 'string', 'example' => '131.30.xxx.xx', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\" {\\\\\\"metadata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"oambuild-group*\\\\\\",\\\\\\"namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"selfLink\\\\\\":\\\\\\"/apis/apps/v1/namespaces/default/deployments/oambuil*\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"*-afc0-436e-9949-fb01994a9b63\\\\\\",\\\\\\"resourceVersion\\\\\\":\\\\\\"969614832\\\\\\",\\\\\\"generation\\\\\\":2,\\\\\\"creationTimestamp\\\\\\":\\\\\\"2021-04-06T11:38:46Z\\\\\\",\\\\\\"labels\\\\\\":{\\\\\\"edas-domain\\\\\\":\\\\\\"edas-admin\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-name\\\\\\":\\\\\\"oambuild-group-1\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"edas.aliyun.oam.com/rollout-revision\\\\\\":\\\\\\"3\\\\\\",\\\\\\"edas.appid\\\\\\":\\\\\\"fc5e0f54-*-4cab-91a0-b7becb1f6174\\\\\\",\\\\\\"edas.controlplane\\\\\\":\\\\\\"edas-oam\\\\\\",\\\\\\"edas.oam.acname\\\\\\":\\\\\\"oambuild\\\\\\"...\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAppDeploymentResponse>\\n<Message>success</Message>\\n<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<Data> {\\"metadata\\":{\\"name\\":\\"oambuild-group*\\",\\"namespace\\":\\"default\\",\\"selfLink\\":\\"/apis/apps/v1/namespaces/default/deployments/oambuil*\\",\\"uid\\":\\"*-afc0-436e-9949-fb01994a9b63\\",\\"resourceVersion\\":\\"969614832\\",\\"generation\\":2,\\"creationTimestamp\\":\\"2021-04-06T11:38:46Z\\",\\"labels\\":{\\"edas-domain\\":\\"edas-admin\\",\\"edas.aliyun.oam.com/rollout-name\\":\\"oambuild-group-1\\",\\"edas.aliyun.oam.com/rollout-namespace\\":\\"default\\",\\"edas.aliyun.oam.com/rollout-revision\\":\\"3\\",\\"edas.appid\\":\\"fc5e0f54-*-4cab-91a0-b7becb1f6174\\",\\"edas.controlplane\\":\\"edas-oam\\",\\"edas.oam.acname\\":\\"oambuild\\"...</Data>\\n<Code>200</Code>\\n</GetAppDeploymentResponse>","errorExample":""}]', - 'title' => 'GetAppDeployment', + 'title' => 'ListEcsNotInCluster', + 'summary' => 'Queries all Elastic Compute Service (ECS) instances that have not been imported to clusters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAppInstanceList' => [ - 'path' => '/pop/v5/oam/app_instance_list', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEcsNotInCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListEcsNotInCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"EcsEntityList\\": {\\n \\"EcsEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8mrlzv8x3q****\\",\\n \\"Status\\": \\" Running\\",\\n \\"PrivateIp\\": \\"192.168.*.**\\",\\n \\"Expired\\": false,\\n \\"InstanceId\\": \\"i-2ze7s2v0b***********\\",\\n \\"Mem\\": 4096,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VpcName\\": \\"test\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.20.113\\",\\n \\"Eip\\": \\"139.30.xxx.xx\\",\\n \\"InstanceName\\": \\"worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****\\",\\n \\"PublicIp\\": \\"131.30.xxx.xx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListEcuByRegion' => [ + 'path' => '/pop/v5/resource/ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16514,142 +10988,124 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the ID of the application. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:tdy218.'."\n" + ."\n" + .'- The ID of the default namespace is in the `region ID` format. Example: cn-beijing.', 'type' => 'string', 'example' => 'Cn-beijing or cn-beijing:tdy218', 'required' => false, 'title' => ''], ], [ - 'name' => 'WithNodeInfo', + 'name' => 'Act', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the information about the node in which the pod resides.'."\n" - ."\n" - .'* `true`: returns the information about the node in which the pod resides'."\n" - .'* `false`: does not return the information about the node in which the pod resides'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Set the value to `pop-query`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pop-query', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', - ], - 'InstanceList' => [ - 'description' => 'The application instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NodeLabels' => [ - 'description' => 'The labels of the node. The value is a JSON string.'."\n", - 'type' => 'string', - 'example' => '{"alibabacloud.com/nodepool-id":"np0*5b9377fa907","beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"ecs.*","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"cn-hangzhou","failure-domain.beta.kubernetes.io/zone":"cn-hangzhou-b","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"cn-hangzhou*","kubernetes.io/os":"linux","node.kubernetes.io/instance-type":"ecs.*","topology.diskplugin.csi.alibabacloud.com/zone":"cn-hangzhou-b","topology.kubernetes.io/region":"cn-hangzhou","topology.kubernetes.io/zone":"cn-hangzhou-b"}', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group to which the application is deployed.'."\n", - 'type' => 'string', - 'example' => '93fdd228-*****-ed2ae98de18d', - ], - 'GroupName' => [ - 'description' => 'The name of the instance group to which the application is deployed.'."\n", - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'Canary' => [ - 'description' => 'Indicates whether the application was released in canary release mode.'."\n" - ."\n" - .'* `true`: The application was released in canary release mode.'."\n" - .'* `false`: The application was not released in canary release mode'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'NodeName' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou.192.168.0.*', - ], - 'PodRaw' => [ - 'description' => 'The information about the pod. The value is a JSON string.'."\n", - 'type' => 'string', - 'example' => '{"metadata":{"name":"oambuild-group-1-*4xthz","generateName":"oambuild-group-*96-","namespace":"default","selfLink":"/api/v1/namespaces/default/pods/oambuild-grou*96-4xthz","uid":"7a23399c-*fe7ff4018","resourceVersion":"969614830","creationTimestamp":"2021-04-06T11:38:46Z","labels":{"ARMSApmAppId":"*","ARMSApmLicenseKey":"*"...', - ], - 'Version' => [ - 'description' => 'The deployment package version of the node.'."\n", - 'type' => 'string', - 'example' => '2021-04-06 19:37:42', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '93fdd228-*****-ed2ae98de18d', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '00000000-0000-0000-****', 'title' => ''], + 'EcuEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => 'The information about ECUs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details about ECUs.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) in which the ECU resides.', 'type' => 'string', 'example' => 'vpc-2zew8mi6gqbo5wf****', 'title' => ''], + 'UpdateTime' => ['description' => 'The timestamp when the ECU was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1572867895575', 'title' => ''], + 'IpAddr' => ['description' => 'The private IP address of the ECU.', 'type' => 'string', 'example' => '192.168.xxx.xxx', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPU cores for the ECU.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1572539283168', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'edas@aliyun-****.com', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECU.', 'type' => 'string', 'example' => 'i-2ze82h8f4zcn449y****', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region in which the ECU resides.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.', 'type' => 'string', 'example' => 'c96c494c-1b91-4456-bbb3-b5afcd16****', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed. Valid values:'."\n" + ."\n" + .'- true: Docker is installed.'."\n" + ."\n" + .'- false: Docker is not installed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online. Valid values:'."\n" + ."\n" + .'- true: The ECU is online.'."\n" + ."\n" + .'- false: The ECU is offline.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of available memory for the ECU. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '8192', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone in which the ECU resides.', 'type' => 'string', 'example' => 'cn-beijing-a', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.', 'type' => 'string', 'example' => 'worker-k8s-for', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The timestamp when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1572867865221', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'No permissions', - ], - [ - 'errorCode' => 'Edas.errorcode.ParameterMissing.AppId.message', - 'errorMessage' => 'Application ID is missing.', - ], - ], - ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\",\\n \\"InstanceList\\": [\\n {\\n \\"NodeLabels\\": \\"{\\\\\\"alibabacloud.com/nodepool-id\\\\\\":\\\\\\"np0*5b9377fa907\\\\\\",\\\\\\"beta.kubernetes.io/arch\\\\\\":\\\\\\"amd64\\\\\\",\\\\\\"beta.kubernetes.io/instance-type\\\\\\":\\\\\\"ecs.*\\\\\\",\\\\\\"beta.kubernetes.io/os\\\\\\":\\\\\\"linux\\\\\\",\\\\\\"failure-domain.beta.kubernetes.io/region\\\\\\":\\\\\\"cn-hangzhou\\\\\\",\\\\\\"failure-domain.beta.kubernetes.io/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\",\\\\\\"kubernetes.io/arch\\\\\\":\\\\\\"amd64\\\\\\",\\\\\\"kubernetes.io/hostname\\\\\\":\\\\\\"cn-hangzhou*\\\\\\",\\\\\\"kubernetes.io/os\\\\\\":\\\\\\"linux\\\\\\",\\\\\\"node.kubernetes.io/instance-type\\\\\\":\\\\\\"ecs.*\\\\\\",\\\\\\"topology.diskplugin.csi.alibabacloud.com/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\",\\\\\\"topology.kubernetes.io/region\\\\\\":\\\\\\"cn-hangzhou\\\\\\",\\\\\\"topology.kubernetes.io/zone\\\\\\":\\\\\\"cn-hangzhou-b\\\\\\"}\\",\\n \\"GroupId\\": \\"93fdd228-*****-ed2ae98de18d\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"Canary\\": false,\\n \\"NodeName\\": \\"cn-hangzhou.192.168.0.*\\",\\n \\"PodRaw\\": \\"{\\\\\\"metadata\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"oambuild-group-1-*4xthz\\\\\\",\\\\\\"generateName\\\\\\":\\\\\\"oambuild-group-*96-\\\\\\",\\\\\\"namespace\\\\\\":\\\\\\"default\\\\\\",\\\\\\"selfLink\\\\\\":\\\\\\"/api/v1/namespaces/default/pods/oambuild-grou*96-4xthz\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"7a23399c-*fe7ff4018\\\\\\",\\\\\\"resourceVersion\\\\\\":\\\\\\"969614830\\\\\\",\\\\\\"creationTimestamp\\\\\\":\\\\\\"2021-04-06T11:38:46Z\\\\\\",\\\\\\"labels\\\\\\":{\\\\\\"ARMSApmAppId\\\\\\":\\\\\\"*\\\\\\",\\\\\\"ARMSApmLicenseKey\\\\\\":\\\\\\"*\\\\\\"...\\",\\n \\"Version\\": \\"2021-04-06 19:37:42\\",\\n \\"AppId\\": \\"93fdd228-*****-ed2ae98de18d\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeAppInstanceListResponse>\\n<Message>success</Message>\\n<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<InstanceList>\\n <GroupName>_DEFAULT_GROUP</GroupName>\\n <AppId>93fdd228-*****-ed2ae98de18d</AppId>\\n <NodeName>cn-hangzhou.192.168.0.*</NodeName>\\n <Version>2021-04-06 19:37:42</Version>\\n <Canary>false</Canary>\\n <NodeLabels>{\\"alibabacloud.com/nodepool-id\\":\\"np0*5b9377fa907\\",\\"beta.kubernetes.io/arch\\":\\"amd64\\",\\"beta.kubernetes.io/instance-type\\":\\"ecs.*\\",\\"beta.kubernetes.io/os\\":\\"linux\\",\\"failure-domain.beta.kubernetes.io/region\\":\\"cn-hangzhou\\",\\"failure-domain.beta.kubernetes.io/zone\\":\\"cn-hangzhou-b\\",\\"kubernetes.io/arch\\":\\"amd64\\",\\"kubernetes.io/hostname\\":\\"cn-hangzhou*\\",\\"kubernetes.io/os\\":\\"linux\\",\\"node.kubernetes.io/instance-type\\":\\"ecs.*\\",\\"topology.diskplugin.csi.alibabacloud.com/zone\\":\\"cn-hangzhou-b\\",\\"topology.kubernetes.io/region\\":\\"cn-hangzhou\\",\\"topology.kubernetes.io/zone\\":\\"cn-hangzhou-b\\"}</NodeLabels>\\n <PodRaw>{\\"metadata\\":{\\"name\\":\\"oambuild-group-1-*4xthz\\",\\"generateName\\":\\"oambuild-group-*96-\\",\\"namespace\\":\\"default\\",\\"selfLink\\":\\"/api/v1/namespaces/default/pods/oambuild-grou*96-4xthz\\",\\"uid\\":\\"7a23399c-*fe7ff4018\\",\\"resourceVersion\\":\\"969614830\\",\\"creationTimestamp\\":\\"2021-04-06T11:38:46Z\\",\\"labels\\":{\\"ARMSApmAppId\\":\\"*\\",\\"ARMSApmLicenseKey\\":\\"*\\"...</PodRaw>\\n <GroupId>93fdd228-*****-ed2ae98de18d</GroupId>\\n</InstanceList>\\n<Code>200</Code>\\n</DescribeAppInstanceListResponse>","errorExample":""}]', - 'title' => 'DescribeAppInstanceList', - 'summary' => 'Queries Kubernetes application instances.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"00000000-0000-0000-****\\",\\n \\"EcuEntityList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zew8mi6gqbo5wf****\\",\\n \\"UpdateTime\\": 1572867895575,\\n \\"IpAddr\\": \\"192.168.xxx.xxx\\",\\n \\"AvailableCpu\\": 4,\\n \\"CreateTime\\": 1572539283168,\\n \\"UserId\\": \\"edas@aliyun-****.com\\",\\n \\"InstanceId\\": \\"i-2ze82h8f4zcn449y****\\",\\n \\"Mem\\": 0,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"c96c494c-1b91-4456-bbb3-b5afcd16****\\",\\n \\"Cpu\\": 0,\\n \\"DockerEnv\\": true,\\n \\"Online\\": false,\\n \\"AvailableMem\\": 8192,\\n \\"ZoneId\\": \\"cn-beijing-a\\",\\n \\"Name\\": \\"worker-k8s-for\\",\\n \\"HeartbeatTime\\": 1572867865221\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListEcuByRegion', + 'summary' => 'Queries the available elastic compute units (ECUs) in a specified namespace.', + 'description' => '## Terms'."\n" + ."\n" + .'- **Namespace**: the logical concept that is used to isolate resources such as clusters, ECS instances, and applications, and microservices published in EDAS. This concept involves the default namespace and custom namespaces. Each region has a default namespace and supports multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources and microservices.'."\n" + ."\n" + .'- **Elastic compute unit (ECU)**: After an ECS instance is imported to a cluster, the instance becomes an ECU.'."\n" + ."\n" + .'- **Elastic compute container (ECC)**: After you deploy an application to an ECU in a cluster, the ECU becomes an ECC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sAppPrecheckResult' => [ - 'summary' => 'Queries the precheck result of a Kubernetes application.', - 'path' => '/pop/v5/k8s/app_precheck', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEcuByRegion'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListEcuByRegion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ListHistoryDeployVersion' => [ + 'path' => '/pop/v5/app/deploy_history_version_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16657,287 +11113,140 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'AppName', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testapp', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The information about the application change precheck.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-************', 'title' => ''], + 'PackageVersionList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Status' => [ - 'description' => 'The precheck state for the application change. Valid values:'."\n" - ."\n" - .'* checking: The application is being prechecked.'."\n" - .'* pass: The application passed the precheck.'."\n" - .'* failed: The application failed the precheck.'."\n", - 'type' => 'string', - 'example' => 'checking', - ], - 'Reason' => [ - 'description' => 'The reason why the application failed the precheck. This parameter is left empty when the application passed the precheck.'."\n", - 'type' => 'string', - 'example' => 'The Kubernetes cluster is disconnected from the EDAS control plane.'."\n", - ], - 'JobResults' => [ - 'description' => 'The precheck result for the application change.'."\n", + 'PackageVersion' => [ + 'description' => 'The information about historical deployment packages.', 'type' => 'array', 'items' => [ - 'description' => 'The object data of the precheck result for the application change.'."\n", 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the precheck item.'."\n", - 'type' => 'string', - 'example' => 'Cluster Health Check', - ], - 'Pass' => [ - 'description' => 'Indicates whether the precheck item passed the precheck:'."\n" - ."\n" - .'* true: The precheck item passed the precheck.'."\n" - .'* false: The precheck item failed the precheck.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Interrupted' => [ - 'description' => 'Specifies whether the precheck of the item was interrupted:'."\n" - ."\n" - .'* true: The precheck of the item was interrupted.'."\n" - .'* false: The precheck of the item was not interrupted.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Reason' => [ - 'description' => 'The reason why the precheck item failed the precheck or the precheck of the item was interrupted. This parameter is left empty when the application passed the precheck.'."\n", - 'type' => 'string', - 'example' => 'The Kubernetes cluster is disconnected from the EDAS control plane.'."\n", - ], + 'Type' => ['description' => 'The deployment mode of the application. Valid values:'."\n" + ."\n" + .'- url: The application is deployed by using a JAR or WAR package.'."\n" + ."\n" + .'- image: The application is deployed by using an image.', 'type' => 'string', 'example' => 'url', 'title' => ''], + 'PublicUrl' => ['description' => 'The URL of the deployment package.', 'type' => 'string', 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the deployment package was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627440892', 'title' => ''], + 'Description' => ['description' => 'The description of the deployment package.', 'type' => 'string', 'example' => 'deploy', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the deployment package was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627440892', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + 'WarUrl' => ['description' => 'The URL of the deployment package.', 'type' => 'string', 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', 'title' => ''], + 'Id' => ['description' => 'The unique ID of the deployment package.', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the application that was released by using the deployment package. This version can be used to call the RollbackApplication operation.', 'type' => 'string', 'example' => '1.0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'errorCodes' => [], + 'title' => 'ListHistoryDeployVersion', + 'summary' => 'Queries historical deployment packages of an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListHistoryDeployVersion'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B909AB1F-3763-4963-B1CE-0BDFA192****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Status\\": \\"checking\\",\\n \\"Reason\\": \\"K8s集群失联。\\",\\n \\"JobResults\\": [\\n {\\n \\"Name\\": \\"Cluster Health Check\\",\\n \\"Pass\\": true,\\n \\"Interrupted\\": false,\\n \\"Reason\\": \\"K8s集群失联。\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'GetK8sAppPrecheckResult', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"PackageVersionList\\": {\\n \\"PackageVersion\\": [\\n {\\n \\"Type\\": \\"url\\",\\n \\"PublicUrl\\": \\"http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar\\",\\n \\"UpdateTime\\": 1573627440892,\\n \\"Description\\": \\"deploy\\",\\n \\"CreateTime\\": 1573627440892,\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"WarUrl\\": \\"http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar\\",\\n \\"Id\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"PackageVersion\\": \\"1.0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'BindK8sSlb' => [ - 'summary' => 'Binds a Server Load Balancer (SLB) instance to an application that is deployed in a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListK8sConfigMaps' => [ + 'summary' => 'Queries Kubernetes ConfigMaps.', + 'path' => '/pop/v5/k8s/acs/k8s_config_map', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-f554-****-****-a947b5cde6ee', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SLB instance. Valid values:'."\n" - ."\n" - .'* internet: Internet-facing SLB instance'."\n" - .'* intranet: internal-facing SLB instance'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], - ], - [ - 'name' => 'SlbId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance. If you leave this parameter empty, Enterprise Distributed Application Service (EDAS) automatically purchases an SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'lb-2ze1quax9t****iz82bjt', - ], - ], - [ - 'name' => 'SlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol used by the SLB instance. Valid values: TCP, HTTP, and HTTPS.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'TCP', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => false, 'example' => 'c0830281-366c-41b6-80fb-542e76******', 'title' => ''], ], [ - 'name' => 'TargetPort', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port, which is also the service port of the application. Valid values: 1 to 65535.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8080', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'Port', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port. Valid values: 1 to 65535.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'ServicePortInfos', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the ports. This parameter is required if you want to configure multi-port mappings or use a protocol other than TCP. You must set this parameter to a JSON array. Example: \\[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809\\_16c185d6fa2\\_1914500329\\_-xxxxxxx","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}]'."\n" - ."\n" - .'* port: The frontend port. Valid values: 1 to 65535. This parameter is required. Each port must be unique.'."\n" - .'* targetPort: The backend port. Valid values: 1 to 65535. This parameter is required.'."\n" - .'* loadBalancerProtocol: This parameter is required. Valid values: TCP and HTTPS. If the HTTP protocol is used, set this parameter to TCP.'."\n" - .'* certId: the ID of the certificate. This parameter is required if the HTTPS protocol is used. You can purchase an SLB instance in the SLB console.'."\n" - ."\n" - .'> The ServicePortInfos parameter is specified to support multi-port mappings. If you want this parameter to take effect, make sure that you have set the AppId, ClusterId, Type, and SlbId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-988as","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}]', - ], + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'Specification', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the 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", - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], + 'schema' => ['description' => 'The filter conditions. Set this parameter to a JSON string in the format of {"field":"Name", "pattern":"configmap-"}.', 'type' => 'string', 'required' => false, 'example' => '{"field":"Name", "pattern":"configmap-"}', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'ShowRelatedApps', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm for the SLB instance. If you do not specify this parameter, the default value rr is used. Valid values:'."\n" - ."\n" - .'* wrr: weighted round-robin scheduling. Backend servers that have higher weights receive more requests than those that have lower weights.'."\n" - .'* rr: round-robin scheduling. Requests are sequentially distributed to backend servers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => 'Specifies whether to return a list of applications that use a ConfigMap. Valid values: true and false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -16945,2655 +11254,3263 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-****************', 'title' => ''], + 'Result' => [ + 'description' => 'The query results that are returned.', + 'type' => 'object', + 'properties' => [ + 'Total' => ['description' => 'The total number of entries that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'ConfigMaps' => [ + 'description' => 'The information about ConfigMaps.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the ConfigMaps were created. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-01-31T02:46:14Z', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'my-cluster', 'title' => ''], + 'Namespace' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Name' => ['description' => 'The name of the ConfigMap.', 'type' => 'string', 'example' => 'my-config', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the Kubernetes cluster. You can obtain the cluster ID by calling the GetK8sCluster operation. For more information, see [GetK8sCluster](~~181437~~).', 'type' => 'string', 'example' => 'd73918f4-3b08-4c17-bb07-eaf8********', 'title' => ''], + 'Data' => [ + 'description' => 'The information about ConfigMaps.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The user-defined key that is stored in the ConfigMap.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The user-defined value that is stored in the ConfigMap.', 'type' => 'string', 'example' => 'william', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RelatedApps' => [ + 'description' => 'The related applications.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'my-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '728cbdf2-da10-49b8-b69c-9168a********', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-43fc-9f8e-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UnbindK8sSlb' => [ - 'summary' => 'Unbinds a Server Load Balancer (SLB) instance from an application that is deployed in a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', - 'methods' => [ - 'delete', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ListK8sConfigMaps', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sConfigMaps'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\",\\n \\"Result\\": {\\n \\"Total\\": 6,\\n \\"ConfigMaps\\": [\\n {\\n \\"CreationTime\\": \\"2022-01-31T02:46:14Z\\",\\n \\"ClusterName\\": \\"my-cluster\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"my-config\\",\\n \\"ClusterId\\": \\"d73918f4-3b08-4c17-bb07-eaf8********\\",\\n \\"Data\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"william\\"\\n }\\n ],\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"728cbdf2-da10-49b8-b69c-9168a********\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListK8sIngressRules' => [ + 'path' => '/pop/v5/k8s/acs/k8s_ingress', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => 'The ID of the region where the cluster resides.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the GetK8sCluster operation to query the cluster ID. For more information, see [GetK8sCluster](~~181437~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SLB instance. Valid values:'."\n" - ."\n" - .'* **internet**: Internet-facing SLB instance'."\n" - .'* **intranet**: internal-facing SLB instance'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'SlbName', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a2d4ab12666544a479cdd0711a97****', - ], + 'schema' => ['description' => 'The filter conditions. Set the value to a JSON string in the format of {"field":"Name", "pattern":"my-"}, where:'."\n" + ."\n" + .'* field: the parameter to be matched. Valid values: Name and ClusterName.'."\n" + .'* pattern: the content to be matched.'."\n" + ."\n" + .'For example, a value of {"field":"Name", "pattern":"my-"} indicates that the specified filter conditions match the routing rules whose names start with my-.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"field":"Name", "pattern":"my-"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response object.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => 'b0a8441e-****-4e8e-9874-b56dea02952f', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1234-1sda-321d-1234', + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5C1C9DE7-88FF-4B56-A47B-3DBBCEB******', 'title' => ''], + 'Data' => [ + 'description' => 'The response data.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object of the data that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'ClusterName' => ['description' => 'The cluster name.'."\n", 'type' => 'string', 'example' => 'my-dev-cluster', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => '5b2b4ab4-efbc-4a81-9c45-a5942881****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the Alibaba Cloud region.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'IngressConfs' => [ + 'description' => 'The Ingresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about Ingresses.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the Ingress was created.'."\n", 'type' => 'string', 'example' => '2021-04-27 20:16:52', 'title' => ''], + 'SslRedirect' => ['description' => 'Indicates whether SSL redirection is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Endpoint' => ['description' => 'The IP address of the Ingress.'."\n", 'type' => 'string', 'example' => '47.11x.xx.xx', 'title' => ''], + 'Namespace' => ['description' => 'The Kubernetes namespace to which the Ingress belongs.'."\n", 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Name' => ['description' => 'The Ingress name.'."\n", 'type' => 'string', 'example' => 'my-ingress', 'title' => ''], + 'DashboardUrl' => ['description' => 'The monitoring URL of the Ingress.'."\n", 'type' => 'string', 'example' => 'http://grafana.console.aliyun.com/d/10xxxx/ingress', 'title' => ''], + 'Rules' => [ + 'description' => 'The routing rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object of the routing rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'SecretName' => ['description' => 'The name of the Secret that stores the Transport Layer Security (TLS) certificate.'."\n", 'type' => 'string', 'example' => 'my-secret', 'title' => ''], + 'Host' => ['description' => 'The domain name to be accessed.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'Paths' => [ + 'description' => 'The paths to be accessed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object of paths to be accessed.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the Ingress. Valid values:'."\n" + ."\n" + .'* **Normal**: The Ingress works as expected.'."\n" + .'* **ServiceNotFound**: The backend Service does not exist.'."\n" + .'* **InvalidServicePort**: The Service port is invalid.'."\n" + .'* **NotManagedService**: The Service is not managed by EDAS.'."\n" + .'* **Unknown**: An unknown error occurred.'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], + 'Path' => ['description' => 'The path to be accessed.'."\n", 'type' => 'string', 'example' => '/foo/bar', 'title' => ''], + 'AppName' => ['description' => 'The name of the EDAS application.'."\n", 'type' => 'string', 'example' => 'my-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the EDAS application.'."\n", 'type' => 'string', 'example' => '43d30ba5-c568-460c-8080-d447ed1a****', 'title' => ''], + 'Backend' => [ + 'description' => 'The configurations of the backend Service.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The name of the backend Service.'."\n", 'type' => 'string', 'example' => 'http-service', 'title' => ''], + 'ServicePort' => ['description' => 'The port of the backend Service.'."\n", 'type' => 'string', 'example' => '8080', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'CollectRate' => ['description' => 'The collection rate that is set based on the trace query feature. You can add a trace ID to a gateway to use the trace query feature of EDAS.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'PathType' => ['description' => 'The path type that determines how a path is matched.'."\n" + ."\n" + .'* ImplementationSpecific (default)'."\n" + .'* Exact'."\n" + .'* Prefix'."\n", 'type' => 'string', 'example' => 'ImplementationSpecific', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableTls' => ['description' => 'Indicates whether TLS is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AlbId' => ['description' => 'The ID of the ALB instance.'."\n", 'type' => 'string', 'example' => 'alb-5sde0tq62r********', 'title' => ''], + 'IngressType' => ['description' => 'The Ingress type. Valid values:'."\n" + ."\n" + .'* **NginxIngress**: NGINX Ingress controller'."\n" + .'* **AlbIngress**: ALB Ingress controller'."\n" + ."\n" + .'Default value: NginxIngress.'."\n", 'type' => 'string', 'example' => 'NginxIngress', 'title' => ''], + 'OfficalBasicUrl' => ['description' => 'The URL used for basic monitoring of the open source version.'."\n", 'type' => 'string', 'example' => 'https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official', 'title' => ''], + 'OfficalRequestUrl' => ['description' => 'The URL used for request performance monitoring of the open source version.'."\n", 'type' => 'string', 'example' => 'https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official', 'title' => ''], + 'MseGatewayId' => ['description' => 'The ID of the MSE gateway.'."\n", 'type' => 'string', 'example' => 'gw-xxxxxxxx', 'title' => ''], + 'MseGatewayName' => ['description' => 'The name of the MSE gateway.'."\n", 'type' => 'string', 'example' => 'gw-test-name', 'title' => ''], + 'Annotations' => ['description' => 'The annotations.'."\n", 'type' => 'string', 'example' => '{"test-annotation":"test-annotation-value"}', 'title' => ''], + 'Labels' => ['description' => 'The tags.'."\n", 'type' => 'string', 'example' => '{"test-label": "test-labels"}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"b0a8441e-****-4e8e-9874-b56dea02952f\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1234-1sda-321d-1234\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>1234-1sda-321d-1234</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b0a8441e-****-4e8e-9874-b56dea02952f</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UnbindK8sSlb', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'ListK8sIngressRules', + 'summary' => 'Queries ingresses.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertK8sApplication' => [ - 'summary' => 'Creates an application in a Container Service for Kubernetes (ACK) cluster or serverless Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/create_k8s_app', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sIngressRules'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5C1C9DE7-88FF-4B56-A47B-3DBBCEB******\\",\\n \\"Data\\": [\\n {\\n \\"ClusterName\\": \\"my-dev-cluster\\",\\n \\"ClusterId\\": \\"5b2b4ab4-efbc-4a81-9c45-a5942881****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IngressConfs\\": [\\n {\\n \\"CreationTime\\": \\"2021-04-27 20:16:52\\",\\n \\"SslRedirect\\": true,\\n \\"Endpoint\\": \\"47.11x.xx.xx\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"my-ingress\\",\\n \\"DashboardUrl\\": \\"http://grafana.console.aliyun.com/d/10xxxx/ingress\\",\\n \\"Rules\\": [\\n {\\n \\"SecretName\\": \\"my-secret\\",\\n \\"Host\\": \\"example.com\\",\\n \\"Paths\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"Path\\": \\"/foo/bar\\",\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"43d30ba5-c568-460c-8080-d447ed1a****\\",\\n \\"Backend\\": {\\n \\"ServiceName\\": \\"http-service\\",\\n \\"ServicePort\\": \\"8080\\"\\n },\\n \\"CollectRate\\": 100,\\n \\"PathType\\": \\"ImplementationSpecific\\"\\n }\\n ],\\n \\"EnableTls\\": false\\n }\\n ],\\n \\"AlbId\\": \\"alb-5sde0tq62r********\\",\\n \\"IngressType\\": \\"NginxIngress\\",\\n \\"OfficalBasicUrl\\": \\"https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official\\",\\n \\"OfficalRequestUrl\\": \\"https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official\\",\\n \\"MseGatewayId\\": \\"gw-xxxxxxxx\\",\\n \\"MseGatewayName\\": \\"gw-test-name\\",\\n \\"Annotations\\": \\"{\\\\\\"test-annotation\\\\\\":\\\\\\"test-annotation-value\\\\\\"}\\",\\n \\"Labels\\": \\"{\\\\\\"test-label\\\\\\": \\\\\\"test-labels\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5C1C9DE7-88FF-4B56-A47B-3DBBCEB23256</RequestId>\\n<Message>success</Message>\\n<Data>\\n <ClusterId>5b2b4ab4-efbc-4a81-9c45-a5942881****</ClusterId>\\n <ClusterName>my-dev-cluster</ClusterName>\\n <RegionId>cn-hangzhou</RegionId>\\n <IngressConfs>\\n <SslRedirect/>\\n <Endpoint>47.11x.xx.xx</Endpoint>\\n <CreationTime>2021-04-27 20:16:52</CreationTime>\\n <Namespace>default</Namespace>\\n <DashboardUrl>http://grafana.console.aliyun.com/d/10xxxx/ingress</DashboardUrl>\\n <Name>my-ingress</Name>\\n <Rules>\\n <SecretName>my-secret</SecretName>\\n <Host>abc.com</Host>\\n <Paths>\\n <Path>/foo/bar</Path>\\n <Status>Normal</Status>\\n <AppId>43d30ba5-c568-460c-8080-d447ed1a****</AppId>\\n <AppName>my-app</AppName>\\n <Backend>\\n <ServicePort>8080</ServicePort>\\n <ServiceName>http-service</ServiceName>\\n </Backend>\\n </Paths>\\n </Rules>\\n </IngressConfs>\\n</Data>\\n<Code>200</Code>","errorExample":""}]', + ], + 'ListK8sNamespaces' => [ + 'summary' => 'Queries namespaces for a Kubernetes cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_namespace', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'IntranetTargetPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port of the internal-facing Server Load Balancer (SLB) instance. This port also serves as the service port of the application. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - ], - [ - 'name' => 'IntranetSlbPort', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port of the internal-facing SLB instance. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).', 'type' => 'string', 'required' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The URL of the image. This parameter is required if you set the `PackageType` parameter to `Image`.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'registry.cn-beijing.aliyuncs.com/****_test/****-cons****:1.0', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****'], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Namespace' => ['description' => 'The namespaces of the Kubernetes cluster.', 'type' => 'string', 'example' => 'development', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'ApplicationDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Application in the production environment'."\n", - ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], - [ - 'name' => 'RepoId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ced********', - ], + ], + 'title' => 'ListK8sNamespaces', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sNamespaces'], ], + ], + 'ramActions' => [ [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": [\\n {\\n \\"Namespace\\": \\"development\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListK8sSecrets' => [ + 'path' => '/pop/v5/k8s/acs/k8s_secret', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LimitCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. Unit: cores. If the LimitmCpu parameter is specified, you can ignore this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'LimitMem', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. The value of LimitMem must be greater than that of RequestsMem.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '7a953f9a-2946-4c7a-9d82-9939db******', 'title' => ''], ], [ - 'name' => 'RequestsCpu', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is created. Unit: cores. Value 0 indicates that no limit is set on CPU cores. If the RequestsmCpu parameter is specified, the value of the RequestsmCpu parameter is used. You can ignore this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'RequestsMem', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is created. Unit: MB. Value 0 indicates that no limit is set on the memory size. The value of RequestsMem cannot be greater than that of LimitMem.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Command', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The application startup command. If you specify this parameter, the value of this parameter will replace the startup command in the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ls', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'CommandArgs', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the command. The parameter value is a JSON array of strings. An example is `[{"argument":"-c"},{"argument":"test"}]`, where `-c` and `test` are two arguments that can be set.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"argument":"-lh"}]', - ], + 'schema' => ['description' => 'The number of entries to return on each page. The value 0 indicates that all entries are returned on one page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'AppName', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 36 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'doc-test', - ], + 'schema' => ['description' => 'The filter conditions. Set this parameter to a JSON string in the format of {"field":"Name", "pattern":"configmap-"}.', 'type' => 'string', 'required' => false, 'example' => '{\\"field\\":\\"Name\\",\\"pattern\\":\\"product\\"}', 'title' => ''], ], [ - 'name' => 'IntranetSlbProtocol', + 'name' => 'ShowRelatedApps', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol used by the internal-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], + 'schema' => ['description' => 'Specifies whether to return a list of applications that use a Secret.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - [ - 'name' => 'IntranetSlbId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the internal-facing SLB instance. If you do not specify this parameter, Enterprise Distributed Application Service (EDAS) automatically purchases a new SLB instance for you.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ae93********', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'Result' => [ + 'description' => 'The returned query results of Kubernetes Secrets.', + 'type' => 'object', + 'properties' => [ + 'Total' => ['description' => 'The total number of entries that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'Secrets' => [ + 'description' => 'The information about Kubernetes Secrets.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the Secret. Valid values:'."\n" + ."\n" + .'- Opaque: user-defined data'."\n" + ."\n" + .'- kubernetes.io/tls: Transport Layer Security (TLS) certificate', 'type' => 'string', 'example' => 'Opaque', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the Secret was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-05-26T02:57:02Z', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'test-cluster', 'title' => ''], + 'Namespace' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Base64Encoded' => ['description' => 'Indicates whether the data is Base64-encoded. Valid values:'."\n" + ."\n" + .'- true: The data is Base64-encoded.'."\n" + ."\n" + .'- false: The data is not Base64-encoded.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'CertRegionId' => ['description' => 'The region in which the certificate is stored.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'CertId' => ['description' => 'The ID of the certificate provided by Alibaba Cloud Certificate Management Service.', 'type' => 'string', 'example' => '123456', 'title' => ''], + 'Name' => ['description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'example' => 'my-secret', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).', 'type' => 'string', 'example' => '4472a6d3-f01d-4087-85a7-3dc52********', 'title' => ''], + 'RelatedIngressRules' => [ + 'description' => 'Rules in the Ingress that is associated with the Secret.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the rule in the Ingress.', 'type' => 'string', 'example' => 'testrulename', 'title' => ''], + 'Namespace' => ['description' => 'The namespaces of the Kubernetes cluster.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'RelatedApps' => [ + 'description' => 'Aplications that are associated with the Ingress.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the EDAS application.', 'type' => 'string', 'example' => 'app-test', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '6dc74432-5a35-4e68-8aaa-3700********', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Data' => [ + 'description' => 'The data of the Kubernetes Secret.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The user-defined key of the Kubernetes Secret.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The user-defined value of the Kubernetes Secret.', 'type' => 'string', 'example' => 'william', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RelatedApps' => [ + 'description' => 'Applications that use the Secret.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'my-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'b08eeb18-8946-410c-a1ea-dbbc********', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CertDetail' => [ + 'description' => 'The details of the Secure Sockets Layer (SSL) certificate.', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The time when the SSL certificate expired.', 'type' => 'string', 'example' => '2022-02-22T02:32:41Z', 'title' => ''], + 'Status' => ['description' => 'The state of the SSL certificate. Valid values:'."\n" + ."\n" + .'- normal: The SSL certificate is valid.'."\n" + ."\n" + .'- invalid: The SSL certificate is invalid.'."\n" + ."\n" + .'- expired: The SSL certificate has expired.'."\n" + ."\n" + .'- not\\_yet\\_valid: The SSL certificate is currently invalid.'."\n" + ."\n" + .'- about\\_to\\_expire: The SSL certificate is about to expire.', 'type' => 'string', 'example' => 'normal', 'title' => ''], + 'StartTime' => ['description' => 'The time when the SSL certificate started to take effect.', 'type' => 'string', 'example' => '2022-01-02T22:40:00Z', 'title' => ''], + 'Issuer' => ['description' => 'The certificate authority (CA) that issued the SSL certificate.', 'type' => 'string', 'example' => 'CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE', 'title' => ''], + 'DomainNames' => [ + 'description' => 'Domain names that are associated with the SSL certificate.', + 'type' => 'array', + 'items' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c9cd****', - ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], - [ - 'name' => 'InternetSlbId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Internet-facing SLB instance. If you do not specify this parameter, EDAS automatically purchases a new SLB instance for you.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a3d4********', - ], + ], + 'title' => 'ListK8sSecrets', + 'summary' => 'Queries Kubernetes Secrets.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sSecrets'], ], + ], + 'ramActions' => [ [ - 'name' => 'InternetSlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol used by the Internet-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Result\\": {\\n \\"Total\\": 6,\\n \\"Secrets\\": [\\n {\\n \\"Type\\": \\"Opaque\\",\\n \\"CreationTime\\": \\"2022-05-26T02:57:02Z\\",\\n \\"ClusterName\\": \\"test-cluster\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Base64Encoded\\": false,\\n \\"CertRegionId\\": \\"cn-hangzhou\\",\\n \\"CertId\\": \\"123456\\",\\n \\"Name\\": \\"my-secret\\",\\n \\"ClusterId\\": \\"4472a6d3-f01d-4087-85a7-3dc52********\\",\\n \\"RelatedIngressRules\\": [\\n {\\n \\"Name\\": \\"testrulename\\",\\n \\"Namespace\\": \\"default\\",\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"app-test\\",\\n \\"AppId\\": \\"6dc74432-5a35-4e68-8aaa-3700********\\"\\n }\\n ]\\n }\\n ],\\n \\"Data\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"william\\"\\n }\\n ],\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"b08eeb18-8946-410c-a1ea-dbbc********\\"\\n }\\n ],\\n \\"CertDetail\\": {\\n \\"EndTime\\": \\"2022-02-22T02:32:41Z\\",\\n \\"Status\\": \\"normal\\",\\n \\"StartTime\\": \\"2022-01-02T22:40:00Z\\",\\n \\"Issuer\\": \\"CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE\\",\\n \\"DomainNames\\": [\\n \\"example.com\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListMethods' => [ + 'path' => '/pop/v5/service/list_methods', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InternetSlbPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port of the Internet-facing SLB instance. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'InternetTargetPort', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port of the internal-facing SLB instance. This port also serves as the service port of the application. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'be213a4a-c7e4-473b-ab0****', 'title' => ''], ], [ - 'name' => 'Envs', + 'name' => 'ServiceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables that are used to deploy the application. The value must be a JSON array. Valid values: regular environment variables, Kubernetes ConfigMap environment variables, or Kubernetes Secret environment variables. Specify regular environment variables in the following format:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'Specify Kubernetes ConfigMap environment variables in the following format to reference values from ConfigMaps:'."\n" - ."\n" - .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" - ."\n" - .'Specify Kubernetes Secret environment variables in the following format to reference values from Secrets:'."\n" - ."\n" - .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" - ."\n" - .'> If you want to cancel this configuration, set this parameter to an empty JSON array in the format of "\\[]".'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]', - ], + 'schema' => ['description' => 'The name of the service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Method', 'title' => ''], ], - [ - 'name' => 'PreStop', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The pre-stop script. Example: `{"tcpSocket":{"host":"", "port":8080}}`.'."\n" - ."\n" - .'If you want to cancel this configuration, leave this parameter empty by setting it to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '69AD2AA7-DB47-449B-941B-B14409DF****', 'title' => ''], + 'ServiceMethodList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ServiceMethod' => [ + 'description' => 'The list of returned service methods.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MethodName' => ['description' => 'The name of the method.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'App', 'title' => ''], + 'Output' => ['description' => 'The return type of the method.', 'type' => 'string', 'example' => 'java.lang.string', 'title' => ''], + 'ServiceName' => ['description' => 'The name of the service.', 'type' => 'string', 'example' => 'com.alibaba.edas.demo.EchoService', 'title' => ''], + 'ParamTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ParamType' => [ + 'description' => 'The data types of the input parameters of the method.', + 'type' => 'array', + 'items' => ['description' => 'The types of the input parameters of the service method.', 'type' => 'string', 'example' => 'string', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InputParams' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InputParam' => [ + 'description' => 'The input parameters of the method.', + 'type' => 'array', + 'items' => ['description' => 'The input parameters of the service method.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'PostStart', - 'in' => 'query', - 'schema' => [ - 'description' => 'The post-start script. Example: `{"exec":{"command":\\["cat","/etc/group"\\]}}`.'."\n" - ."\n" - .'If you want to cancel this configuration, leave this parameter empty by setting it to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], + ], + 'title' => 'ListMethods', + 'summary' => 'You can call the ListMethods operation to query a list of service methods.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListMethods'], ], + ], + 'ramActions' => [ [ - 'name' => 'Liveness', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for the liveness check on the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`.'."\n" - ."\n" - .'If you want to cancel this configuration, leave the parameter value empty by entering `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"69AD2AA7-DB47-449B-941B-B14409DF****\\",\\n \\"ServiceMethodList\\": {\\n \\"ServiceMethod\\": [\\n {\\n \\"MethodName\\": \\"echo\\",\\n \\"AppName\\": \\"App\\",\\n \\"Output\\": \\"java.lang.string\\",\\n \\"ServiceName\\": \\"com.alibaba.edas.demo.EchoService\\",\\n \\"ParamTypes\\": {\\n \\"ParamType\\": [\\n \\"string\\"\\n ]\\n },\\n \\"InputParams\\": {\\n \\"InputParam\\": [\\n \\"test\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPublishedServices' => [ + 'path' => '/pop/v5/service/listPublishedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Readiness', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for the readiness check on the container. If the check fails, the traffic that passes through the Kubernetes Service is not transmitted to the container. Example: \\`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\\\[{"name": "test","value": "testvalue"}\\\\]}}\\`.``'."\n" - ."\n" - .'If you want to cancel this configuration, leave the parameter value empty by entering `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'NasId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Network Attached Storage (NAS) file system that you want to mount to the application. If you do not specify this parameter but specify the MountDescs parameter, a NAS file system is automatically purchased and mounted to the vSwitch in the VPC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dfs23****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1fbd8b72-****-****-bdfe-478dbc914121', 'title' => ''], ], - [ - 'name' => 'MountDescs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The description of the NAS mounting configuration. Set this parameter to a serialized JSON string. Example: `\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`. The `nasPath` parameter specifies the file storage path, and the `mountPath` parameter specifies the path to mount the file system to the container where the application is running.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '1D6FC-4307-4583-BA6F-215F3857E****', 'title' => ''], + 'PublishedServicesList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListPublishedServices' => [ + 'description' => 'The list of published services.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DockerApplication' => ['description' => 'Indicates whether the application is a Docker application.'."\n" + ."\n" + .'- true: The application is a Docker application.'."\n" + ."\n" + .'- false: The application is not a Docker application.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Type' => ['description' => 'The type of the published service.', 'type' => 'string', 'example' => 'RESTful', 'title' => ''], + 'Version' => ['description' => 'The version of the published service.', 'type' => 'string', 'example' => '--', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857E****', 'title' => ''], + 'Group2Ip' => ['description' => 'This is a reserved field.', 'type' => 'string', 'example' => '""', 'title' => ''], + 'Name' => ['description' => 'The name of the published service.', 'type' => 'string', 'example' => 'providers:com.****', 'title' => ''], + 'Ips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ip' => [ + 'type' => 'array', + 'items' => ['description' => 'The IP address for service subscription.', 'type' => 'string', 'example' => '112.XX.XX.24', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Groups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'group' => [ + 'type' => 'array', + 'items' => ['description' => 'The group to which the published service belongs.', 'type' => 'string', 'example' => 'DEFAULT_GROUP', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'StorageType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The storage type of the NAS file system.'."\n" - ."\n" - .'* Valid values for General-purpose NAS file systems: Capacity and Performance.'."\n" - .'* Valid values for Extreme NAS file systems: Standard and Advance.'."\n" - ."\n" - .'You can set this parameter only to Performance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Performance', - ], + ], + 'errorCodes' => [], + 'title' => 'ListPublishedServices', + 'summary' => 'Queries published services.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPublishedServices'], ], + ], + 'ramActions' => [ [ - 'name' => 'LocalVolume', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations that are used when the host files are mounted to the container on which the application is running. Example: `\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`. Description:'."\n" - ."\n" - .'* `nodePath`: the host path.'."\n" - .'* `mountPath`: the path in the container.'."\n" - .'* `type`: the mounting type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1D6FC-4307-4583-BA6F-215F3857E****\\",\\n \\"PublishedServicesList\\": {\\n \\"ListPublishedServices\\": [\\n {\\n \\"DockerApplication\\": false,\\n \\"Type\\": \\"RESTful\\",\\n \\"Version\\": \\"--\\",\\n \\"AppId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857E****\\",\\n \\"Group2Ip\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Name\\": \\"providers:com.****\\",\\n \\"Ips\\": {\\n \\"ip\\": [\\n \\"112.XX.XX.24\\"\\n ]\\n },\\n \\"Groups\\": {\\n \\"group\\": [\\n \\"DEFAULT_GROUP\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListRecentChangeOrder' => [ + 'path' => '/pop/v5/changeorder/change_order_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster. This parameter specifies the Kubernetes namespace in which your application is deployed. By default, the default namespace is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EDAS namespace. This parameter is required for a non-default namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen:beta****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], ], - [ - 'name' => 'PackageType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the deployment package. Valid values: FatJar, WAR, and Image.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'WAR', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-************', 'title' => ''], + 'ChangeOrderList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ChangeOrder' => [ + 'description' => 'The information about change processes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the change process. Valid values:'."\n" + ."\n" + .'- 0: ready to start execution'."\n" + ."\n" + .'- 1: in progress'."\n" + ."\n" + .'- 2: successful'."\n" + ."\n" + .'- 3: failed'."\n" + ."\n" + .'- 6: terminated'."\n" + ."\n" + .'- 8: waiting for manual confirmation (You can see the state when you manually confirm the execution of the next batch of the change.)'."\n" + ."\n" + .'- 9: waiting for automatic execution'."\n" + ."\n" + .'- 10: failed due to a system error', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'FinishTime' => ['description' => 'The time when the change process ended.', 'type' => 'string', 'example' => '2019-11-13 14:24:02', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the change process was created.', 'type' => 'string', 'example' => '2019-11-13 14:23:46', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user who created the change process.', 'type' => 'string', 'example' => '1432536****', 'title' => ''], + 'ChangeOrderDescription' => ['description' => 'The description of the change process.', 'type' => 'string', 'example' => 'Version: 2020-05-14 20:02:33 | Package: hsf-pandora-boot-provider-1.0.jar | Deployment target: All groups', 'title' => ''], + 'Source' => ['description' => 'The source of the change. Valid values:'."\n" + ."\n" + .'- console: the Enterprise Distributed Application Service (EDAS) console'."\n" + ."\n" + .'- pop: the POP API or tool', 'type' => 'string', 'example' => 'pop', 'title' => ''], + 'BatchCount' => ['description' => 'The number of batches for the change. Valid values: 1 to 5.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreateUserId' => ['description' => 'The user who created the change process.', 'type' => 'string', 'example' => 'edas_test1@aliyun-test.com', 'title' => ''], + 'CoTypeCode' => ['description' => 'The type of the change process.', 'type' => 'string', 'example' => 'CoDeploy', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The unique ID of the change process.', 'type' => 'string', 'example' => '1074f3e2-e974-4a0e-****-************', 'title' => ''], + 'BatchType' => ['description' => 'The way in which the next batch is triggered during a phased release. Valid values:'."\n" + ."\n" + .'- Automatic'."\n" + ."\n" + .'- Manual', 'type' => 'string', 'example' => 'Automatic', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the application instance group on which the change was performed.', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************', 'title' => ''], + 'CoType' => ['description' => 'The type of the change process.', 'type' => 'string', 'example' => 'Application Scale Out', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'PackageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application.'."\n" - ."\n" - .'> The version of EDAS SDK for Java or Python must be V2.44.0 or later.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"ChangeOrderList\\": {\\n \\"ChangeOrder\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-11-13 14:24:02\\",\\n \\"CreateTime\\": \\"2019-11-13 14:23:46\\",\\n \\"UserId\\": \\"1432536****\\",\\n \\"ChangeOrderDescription\\": \\"Version: 2020-05-14 20:02:33 | Package: hsf-pandora-boot-provider-1.0.jar | Deployment target: All groups\\",\\n \\"Source\\": \\"pop\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"edas_test1@aliyun-test.com\\",\\n \\"CoTypeCode\\": \\"CoDeploy\\",\\n \\"ChangeOrderId\\": \\"1074f3e2-e974-4a0e-****-************\\",\\n \\"BatchType\\": \\"Automatic\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"CoType\\": \\"Application Scale Out\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListRecentChangeOrder', + 'summary' => 'Queries the change processes of an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecentChangeOrder'], ], + ], + 'ramActions' => [ [ - 'name' => 'PackageVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application. You must specify a version.'."\n" - ."\n" - .'> The version of EDAS SDK for Java or Python must be V2.44.0 or later.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20200720', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'ListResourceGroup' => [ + 'path' => '/pop/v5/resource/reg_group_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'JDK', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java Development Kit (JDK) on which the deployment package of the application depends. Valid values: Open JDK 7 and Open JDK 8. This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], + 'AK' => [], ], - [ - 'name' => 'WebContainer', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package of the application depends. This parameter is applicable to Spring Cloud and Dubbo applications that you deploy by using WAR packages. This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', + 'description' => 'The content that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'ResourceGroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ResGroupEntity' => [ + 'description' => 'For more information about how to define a resource group, see ResGroupEntity.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the resource group.'."\n", + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The time when the resource group was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827', 'title' => ''], + 'Description' => ['description' => 'The description of the resource group.'."\n", 'type' => 'string', 'example' => 'QqLZDA3pBZ', 'title' => ''], + 'AdminUserId' => ['description' => 'The UID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '****@aliyun.com', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the resource group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1557890594376', 'title' => ''], + 'Name' => ['description' => 'The name of the resource group.'."\n", 'type' => 'string', 'example' => 'TIa2LGixyD', 'title' => ''], + 'Id' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '8592', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the resource group belongs.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'ecsList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcsEntity' => [ + 'description' => 'The Elastic Compute Service (ECS) instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the ECS instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The unique ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'example' => 'vpc-bp13evu4aayj2t1er****', 'title' => ''], + 'SgId' => ['description' => 'The ID of the security group.'."\n", 'type' => 'string', 'example' => 'sg-m5eajgzn6b8sg9mv****', 'title' => ''], + 'Status' => ['description' => 'The status of the ECS instance. Valid values:'."\n" + ."\n" + .'* Pending: The ECS instance is being created.'."\n" + .'* Running: The ECS instance is running.'."\n" + .'* Starting: The ECS instance is being started.'."\n" + .'* Stopping: The ECS instance is being stopped.'."\n" + .'* Stopped: The ECS instance is stopped.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'PrivateIp' => ['description' => 'The private IP address of the ECS instance.'."\n", 'type' => 'string', 'example' => '192.168.xx.xxx', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the ECS instance has expired. Valid values:'."\n" + ."\n" + .'* true: The ECS instance has expired.'."\n" + .'* false: The ECS instance has not expired.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user account.'."\n", 'type' => 'string', 'example' => '****_common_****@aliyun.com', 'title' => ''], + 'HostName' => ['description' => 'The name of the host.'."\n", 'type' => 'string', 'example' => 'iZm5e853hvvrodnvqus****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECS instance.'."\n", 'type' => 'string', 'example' => 'i-m5e853hvvrodnvqu****', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'ch-hangzhou', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InnerIp' => ['description' => 'The private IP address.'."\n", 'type' => 'string', 'example' => '192.168.xx.xxx', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the resource group in Enterprise Distributed Application Service (EDAS).'."\n", 'type' => 'string', 'example' => '64189****', 'title' => ''], + 'Eip' => ['description' => 'The elastic IP address (EIP).'."\n", 'type' => 'string', 'example' => '192.168.xxx.xx', 'title' => ''], + 'Description' => ['description' => 'The description of the ECS instance.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.'."\n", 'type' => 'string', 'example' => 'betabjmixcoud_01', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'example' => 'cn-qingdao-h', 'title' => ''], + 'SerialNum' => ['description' => 'The serial number of the ECS instance.'."\n", 'type' => 'string', 'example' => '98b480b8-458b-4ff3-84b9-cf7097c5****', 'title' => ''], + 'PublicIp' => ['description' => 'The public IP address.'."\n", 'type' => 'string', 'example' => '192.168.xx.xxx', 'title' => ''], + 'EcuEntity' => [ + 'description' => 'The elastic compute unit (ECU) that corresponds to the ECS instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-2ze1ram356umxs598****', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827', 'title' => ''], + 'IpAddr' => ['description' => 'The private IP address of the ECU.'."\n", 'type' => 'string', 'example' => '192.168.xxx.xx', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1557890594376', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user associated with the ECU.'."\n", 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.'."\n", 'type' => 'string', 'example' => 'i-2zej4i2jdf*********', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory. Unit: MB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-beijing ', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the elastic compute unit (ECU). You can run the `dmidecode` command on the ECS instance to query the ECU ID.'."\n", 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************', 'title' => ''], + 'Cpu' => ['description' => 'The total number of CPU cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed. Valid values:'."\n" + ."\n" + .'* true: Docker is installed.'."\n" + .'* false: Docker is not installed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online. Valid values:'."\n" + ."\n" + .'* true: The ECU is online.'."\n" + .'* false: The ECU is offline.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of the available memory.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'example' => 'cn-beijing-b', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'VpcEntity' => [ + 'description' => 'The VPCs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the VPC.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'VpcName' => ['description' => 'The name of the VPC.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'VpcId' => ['description' => 'The unique ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp13evu42t1er****', 'title' => ''], + 'Description' => ['description' => 'The description of the VPC.'."\n", 'type' => 'string', 'example' => '""', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the VPC has expired. Valid values:'."\n" + ."\n" + .'* true: The VPC has expired.'."\n" + .'* false: The VPC has not expired.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Cidrblock' => ['description' => 'The IPv4 CIDR block of the vSwitch.'."\n", 'type' => 'string', 'example' => '192.168.xx.xxx', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user.'."\n", 'type' => 'string', 'example' => '****_common_****@aliyun.com', 'title' => ''], + 'EcsNum' => ['description' => 'The number of ECS instances that run in the VPC.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SlbList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlbEntity' => [ + 'description' => 'The Server Load Balancer (SLB) instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about SLB instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'SlbId' => ['description' => 'The unique ID of the SLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zebf1fpbpkc7dnro****', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-m5e666n89m2bx8jar****', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'example' => 'vsw-mktkxkhah14****', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the SLB instance has expired. Valid values:'."\n" + ."\n" + .'* true: The SLB instance has expired.'."\n" + .'* false: The SLB instance has not expired.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'UserId' => ['description' => 'The UID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '****@aliyun.com', 'title' => ''], + 'AddressType' => ['description' => 'The type of the IP address of the SLB instance. Valid values:'."\n" + ."\n" + .'* Internet: Users can connect to the SLB instance over the Internet.'."\n" + .'* Intranet: Users can connect to the SLB instance over the internal network.'."\n", 'type' => 'string', 'example' => 'Intranet', 'title' => ''], + 'NetworkType' => ['description' => 'The network type of the SLB instance. Valid values:'."\n" + ."\n" + .'* Classic network'."\n" + .'* VPC'."\n", 'type' => 'string', 'example' => 'vpc', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the group to which the SLB instance belongs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '64189****', 'title' => ''], + 'Address' => ['description' => 'The IP address of the SLB instance.'."\n", 'type' => 'string', 'example' => '192.168.xxx.xx', 'title' => ''], + 'SlbName' => ['description' => 'The name of the SLB instance.'."\n", 'type' => 'string', 'example' => 'a9315af59b4cd11e9a18c00163e1****', 'title' => ''], + 'SlbStatus' => ['description' => 'The status of the SLB instance.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EdasContainerVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of `EDAS Container` on which the deployment package of the application depends.'."\n" - ."\n" - .'> This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3.5.9', - ], + ], + 'title' => 'ListResourceGroup', + 'summary' => 'Queries resource groups.', + 'requestParamsDescription' => 'No request parameters.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'parameters' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceGroup'], ], + ], + 'ramActions' => [ [ - 'name' => 'UriEncoding', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URI encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" - ."\n" - .'> If you do not specify this parameter in the application configurations, the default URI encoding scheme in the Tomcat container is applied.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'GBK', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListResourceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ResourceGroupList\\": {\\n \\"ResGroupEntity\\": [\\n {\\n \\"UpdateTime\\": 1573281040827,\\n \\"Description\\": \\"QqLZDA3pBZ\\",\\n \\"AdminUserId\\": \\"****@aliyun.com\\",\\n \\"CreateTime\\": 1557890594376,\\n \\"Name\\": \\"TIa2LGixyD\\",\\n \\"Id\\": 8592,\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ecsList\\": {\\n \\"EcsEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp13evu4aayj2t1er****\\",\\n \\"SgId\\": \\"sg-m5eajgzn6b8sg9mv****\\",\\n \\"Status\\": \\"Running\\",\\n \\"PrivateIp\\": \\"192.168.xx.xxx\\",\\n \\"Expired\\": true,\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"HostName\\": \\"iZm5e853hvvrodnvqus****\\",\\n \\"InstanceId\\": \\"i-m5e853hvvrodnvqu****\\",\\n \\"Mem\\": 1,\\n \\"RegionId\\": \\"ch-hangzhou\\",\\n \\"Cpu\\": 2,\\n \\"InnerIp\\": \\"192.168.xx.xxx\\",\\n \\"GroupId\\": \\"64189****\\",\\n \\"Eip\\": \\"192.168.xxx.xx\\",\\n \\"Description\\": \\"test\\",\\n \\"InstanceName\\": \\"betabjmixcoud_01\\",\\n \\"ZoneId\\": \\"cn-qingdao-h\\",\\n \\"SerialNum\\": \\"98b480b8-458b-4ff3-84b9-cf7097c5****\\",\\n \\"PublicIp\\": \\"192.168.xx.xxx\\",\\n \\"EcuEntity\\": {\\n \\"VpcId\\": \\"vpc-2ze1ram356umxs598****\\",\\n \\"UpdateTime\\": 1573281040827,\\n \\"IpAddr\\": \\"192.168.xxx.xx\\",\\n \\"AvailableCpu\\": 1,\\n \\"CreateTime\\": 1557890594376,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"Mem\\": 200,\\n \\"RegionId\\": \\"cn-beijing \\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Cpu\\": 2,\\n \\"DockerEnv\\": true,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 200,\\n \\"ZoneId\\": \\"cn-beijing-b\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n },\\n \\"VpcEntity\\": {\\n \\"Status\\": \\"Running\\",\\n \\"VpcName\\": \\"test\\",\\n \\"VpcId\\": \\"vpc-bp13evu42t1er****\\",\\n \\"Description\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Expired\\": true,\\n \\"Cidrblock\\": \\"192.168.xx.xxx\\",\\n \\"UserId\\": \\"****_common_****@aliyun.com\\",\\n \\"EcsNum\\": 1,\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n }\\n ]\\n },\\n \\"SlbList\\": {\\n \\"SlbEntity\\": [\\n {\\n \\"SlbId\\": \\"lb-2zebf1fpbpkc7dnro****\\",\\n \\"VpcId\\": \\"vpc-m5e666n89m2bx8jar****\\",\\n \\"VswitchId\\": \\"vsw-mktkxkhah14****\\",\\n \\"Expired\\": true,\\n \\"UserId\\": \\"****@aliyun.com\\",\\n \\"AddressType\\": \\"Intranet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"GroupId\\": 0,\\n \\"Address\\": \\"192.168.xxx.xx\\",\\n \\"SlbName\\": \\"a9315af59b4cd11e9a18c00163e1****\\",\\n \\"SlbStatus\\": \\"active\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>b197-40ab-9155-7ca7</RequestId>\\n<Message>success</Message>\\n<ResourceGroupList>\\n <ResGroupEntity>\\n <Description>QqLZDA3pBZ</Description>\\n <CreateTime>1557890594376</CreateTime>\\n <UpdateTime>1573281040827</UpdateTime>\\n <AdminUserId>117274586608****</AdminUserId>\\n <RegionId>cn-qingdao</RegionId>\\n <Id>8592</Id>\\n <ecsList>\\n <EcsEntity>\\n <Status>Running</Status>\\n <VpcEntity>\\n <Status>Running</Status>\\n <Description>\\"\\"</Description>\\n <VpcId>vpc-bp13evu4aayj2t1er****</VpcId>\\n <UserId>****_common_****@aliyun.com</UserId>\\n <EcsNum>1</EcsNum>\\n <Expired>true</Expired>\\n <Cidrblock>130.3</Cidrblock>\\n <VpcName>test</VpcName>\\n <RegionId>cn-qingdao</RegionId>\\n </VpcEntity>\\n <Description>\\"\\"</Description>\\n <ZoneId>cn-qingdao-h</ZoneId>\\n <InnerIp>192.168.xx.xxx</InnerIp>\\n <PublicIp>130.30.xx.xxx</PublicIp>\\n <InstanceId>i-m5e853hvvrodnvqu****</InstanceId>\\n <SgId>sg-m5eajgzn6b8sg9mv****</SgId>\\n <Cpu>2</Cpu>\\n <Expired>true</Expired>\\n <Eip>130.30.xx.xxx</Eip>\\n <GroupId>0</GroupId>\\n <InstanceName>betabjmixcoud_01</InstanceName>\\n <SerialNum>98b480b8-458b-4ff3-84b9-cf7097c5****</SerialNum>\\n <Mem>1</Mem>\\n <VpcId>vpc-bp13evu4aayj2t1er****</VpcId>\\n <PrivateIp>192.168.xx.xxx</PrivateIp>\\n <UserId>****_common_****@aliyun.com</UserId>\\n <EcuEntity>\\n <IpAddr>192.168.xxx.xx</IpAddr>\\n <ZoneId>cn-beijing-b</ZoneId>\\n <InstanceId>i-2zej4i2jdf*********</InstanceId>\\n <CreateTime>1557890594376</CreateTime>\\n <Cpu>2</Cpu>\\n <EcuId>0de2ebdb-9490-4fc4-be41***************</EcuId>\\n <AvailableMem>200</AvailableMem>\\n <HeartbeatTime>1573281040819</HeartbeatTime>\\n <Name>test</Name>\\n <Mem>200</Mem>\\n <VpcId>vpc-2ze1ram356umxs598****</VpcId>\\n <UserId>edas_****_test@aliyun-****.com</UserId>\\n <UpdateTime>1573281040827</UpdateTime>\\n <RegionId>cn-beijing</RegionId>\\n <Online>true</Online>\\n <AvailableCpu>1</AvailableCpu>\\n <DockerEnv>true</DockerEnv>\\n </EcuEntity>\\n <RegionId>ch-hangzhou</RegionId>\\n <HostName>iZm5e853hvvrodnvqus****</HostName>\\n </EcsEntity>\\n </ecsList>\\n <SlbList>\\n <SlbEntity>\\n <SlbId>lb-2zebf1fpbpkc7dnro****</SlbId>\\n <VpcId>641897243</VpcId>\\n <Address>192.168.xxx.xx</Address>\\n <NetworkType>vpc</NetworkType>\\n <UserId>641897243</UserId>\\n <Expired>true</Expired>\\n <RegionId>cn-beijing</RegionId>\\n <AddressType>Intranet</AddressType>\\n <VswitchId>641897243</VswitchId>\\n <SlbName>a9315af59b4cd11e9a18c00163e1****</SlbName>\\n <GroupId>641897243</GroupId>\\n <SlbStatus>active</SlbStatus>\\n </SlbEntity>\\n </SlbList>\\n <Name>TIa2LGixyD</Name>\\n </ResGroupEntity>\\n</ResourceGroupList>\\n<Code>200</Code>","errorExample":""}]', + ], + 'ListRole' => [ + 'summary' => 'Queries a list of roles.', + 'path' => '/pop/v5/account/role_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'UseBodyEncoding', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the encoding scheme specified in the request body for URI query parameters.'."\n" - ."\n" - .'> If this parameter is not specified in application configuration, the default value false is applied.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], - [ - 'name' => 'RequestsmCpu', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is created. Unit: millicores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********', 'title' => ''], + 'RoleList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RoleItem' => [ + 'description' => 'The roles.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ActionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Action' => [ + 'description' => 'The set of permissions to be granted to the role.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The serial number of the permission that is granted to the role.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Description' => ['description' => 'The description of the permission to be granted to the role.', 'type' => 'string', 'example' => 'Operation log', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the permission group to which the permission that is granted to the role belongs.', 'type' => 'string', 'example' => '31', 'title' => ''], + 'Name' => ['description' => 'The name of the permission to be granted to the role.', 'type' => 'string', 'example' => '操作记录', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Role' => [ + 'description' => 'The roles.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The timestamp when the role was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1542717260156', 'title' => ''], + 'IsDefault' => ['description' => 'Indicates whether the role is a default role.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AdminUserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'test**@aliyun.com', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp when the role was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1542717260156', 'title' => ''], + 'Name' => ['description' => 'The name of the role.', 'type' => 'string', 'example' => 'Super Admin(All privileges)', 'title' => ''], + 'Id' => ['description' => 'The ID of the role.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'LimitmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. Unit: millicores. Value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"RoleList\\": {\\n \\"RoleItem\\": [\\n {\\n \\"ActionList\\": {\\n \\"Action\\": [\\n {\\n \\"Code\\": \\"1\\",\\n \\"Description\\": \\"Operation log\\",\\n \\"GroupId\\": \\"31\\",\\n \\"Name\\": \\"操作记录\\"\\n }\\n ]\\n },\\n \\"Role\\": {\\n \\"UpdateTime\\": 1542717260156,\\n \\"IsDefault\\": false,\\n \\"AdminUserId\\": \\"test**@aliyun.com\\",\\n \\"CreateTime\\": 1542717260156,\\n \\"Name\\": \\"Super Admin(All privileges)\\",\\n \\"Id\\": 1\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListRole', + 'requestParamsDescription' => 'No request parameters.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRole'], ], + ], + 'ramActions' => [ [ - 'name' => 'RuntimeClassName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the container runtime. This parameter is applicable only to clusters that use sandboxed containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'runc', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'ListScaleOutEcu' => [ + 'path' => '/pop/v5/resource/scale_out_ecu_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DeployAcrossZones', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to distribute application instances across zones. Value `true` indicates that application instances are distributed across zones. Other values indicate that application instances are not distributed across zones.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Timeout', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Valid values: 1 to 1800. Unit: seconds. If you do not specify this Unidentifiedparameter, the default value 1800 is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: cn-beijing:test.'."\n" + ."\n" + .'- The ID of the default namespace is in the `region ID` format. Example: cn-beijing.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'EnableAhas', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access to Application High Availability Service (AHAS). Valid values:'."\n" - ."\n" - .'* true: enables access to AHAS.'."\n" - .'* false: does not enable access to AHAS.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the cluster. Specify this parameter if you want to query the available ECUs in the cluster.'."\n" + ."\n" + .'> Specify at least one of the ClusterId and AppId parameters as the query parameter.', 'type' => 'string', 'required' => false, 'example' => '52984524-6d48-4bbd-******************', 'title' => ''], ], [ - 'name' => 'WebContainerConfig', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of the Tomcat container. If you want to cancel this configuration, set this parameter to "" or "{}". The following parameters are included in the configuration:'."\n" - ."\n" - .'* useDefaultConfig: specifies whether to use the default configuration. Value true indicates that the default configuration is used. Value false indicates that the custom configuration is used. If the default configuration is used, the following parameters do not take effect:'."\n" - ."\n" - .'* contextInputType: the type of the access path for the application. Valid values:'."\n" - ."\n" - .' * war: The access path is the name of the WAR package. You do not need to specify a custom path.'."\n" - .' * root: The access path for the application is `/`. You do not need to specify a custom path.'."\n" - .' * custom: If you select this option, you must specify a custom path for the contextPath parameter.'."\n" - ."\n" - .'* contextPath: the custom access path for the application. This parameter is required only when you set the contextInputType parameter to custom.'."\n" - ."\n" - .'* httpPort: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is less than 1024. Enter a value that ranges from 1024 to 65535 because the container has only the admin permissions. If you do not configure this parameter, the default port number 8080 is used.'."\n" - ."\n" - .'* maxThreads: the maximum number of connections in the connection pool. Default value: 400.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**This parameter significantly affects application performance. We recommend that you consult with technical support before you set this parameter.'."\n" - ."\n" - .'* uriEncoding: the URI encoding scheme in the Tomcat container. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312. If you do not specify this parameter, the default value ISO-8859-1 is used.'."\n" - ."\n" - .'* useBodyEncoding: specifies whether to use the encoding scheme specified in the request body for URI query parameters.'."\n" - ."\n" - .'* useAdvancedServerXml: specifies whether to use advanced configurations to customize the server.xml file. If the preceding parameter types and specific parameters cannot meet your requirements, you can use advanced configurations to customize the server.xml file of Tomcat.'."\n" - ."\n" - .'* serverXml: the content of the server.xml file customized by using advanced configurations. This parameter takes effect only when you set the useAdvancedServerXml parameter to true.', - 'type' => 'string', - 'required' => false, - 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}', - ], + 'schema' => ['description' => 'The ID of the application. Specify this parameter if you want to query the available ECUs in the cluster where the application is deployed.'."\n" + ."\n" + .'> Specify at least one of the ClusterId and AppId parameters as the query parameter.', 'type' => 'string', 'required' => false, 'example' => 'b93024fd-8a9d-4ef7-99f1-5f0d65cc****', 'title' => ''], ], [ - 'name' => 'JavaStartUpConfig', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of Java startup parameters for a Java application. These startup parameters involve the memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom configurations. Appropriate parameter settings help reduce the GC overheads, shorten the server response time, and improve the throughput. Set this parameter to a JSON string. In the example, original indicates the configuration value, and startup indicates a startup parameter. The system automatically concatenates all startup values as the settings of Java startup parameters for the application. To delete this configuration, leave the parameter value empty by entering `""` or `"{}"`. The following parameters are included in the configuration:'."\n" - ."\n" - .'* InitialHeapSize: the initial size of the heap memory.'."\n" - .'* MaxHeapSize: the maximum size of the heap memory.'."\n" - .'* CustomParams: the custom parameters, such as JVM -D parameters.'."\n" - .'* Other parameters: You can view the JSON structure submitted by the frontend.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"},"CustomParams":{"original":"-Dcustom.property.sample=false","startup":"-Dcustom.property.sample=false"}}', - ], + 'schema' => ['description' => 'The ID of the instance group. Specify this parameter if you want to query the available ECUs in the cluster where the instance group resides.', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-486f-****-****', 'title' => ''], ], [ - 'name' => 'SlsConfigs', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The Logstore configuration. To delete this configuration, leave the parameter value empty by entering `""` or `"{}"`.'."\n" - ."\n" - .'* The following parameters are included in the configuration:'."\n" - ."\n" - .' * type: the collection type. Set this parameter to file to specify the file type. Set this parameter to stdout to specify the standard output type.'."\n" - ."\n" - .' * logstore: the name of the Logstore. Make sure that the name of the Logstore is unique in the cluster. The name must comply with the following rules:'."\n" - ."\n" - .' * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" - .' * The name must start and end with a lowercase letter or a digit.'."\n" - .' * The name must be 3 to 63 characters in length. If you leave this parameter empty, the system automatically generates a name.'."\n" - ."\n" - .' * LogDir: If the standard output type is used, the collection path is stdout.log. If the file type is used, the collection path is the path of the collected file. Wildcards (\\*) are supported. The collection path must match the following regular expression: `^/(.+)/(.*)^/$`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]', - ], + 'schema' => ['description' => 'The number of CPU cores based on which you want to query the available ECUs in the cluster.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'IsMultilingualApp', + 'name' => 'Mem', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the application is a multi-language application.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The size of available memory based on which you want to query the available ECUs in the cluster. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''], ], [ - 'name' => 'DeployAcrossNodes', + 'name' => 'InstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to distribute application instances across nodes. Value `true` indicates that application instances are distributed across nodes. Other values indicate that application instances are not distributed across nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The number of ECUs that you want to query. If this parameter is not specified, all the ECUs that meet the query conditions are returned.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - [ - 'name' => 'PvcMountDescs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes PersistentVolumeClaim (PVC) volume to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* pvcName: the name of the PVC volume. Make sure that the PVC volume is an existing volume and is in the Bound state.'."\n" - ."\n" - .'* mountPaths: the directory to which you want to mount the PVC volume. You can configure multiple directories. You can set the following two parameters for each mount directory:'."\n" - ."\n" - .' * mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n" - .' * readOnly: the mount mode. Value true indicates the read-only mode. Value false indicates the read and write mode. Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', + 'description' => 'The content that is returned.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AF860D6C-ACE3-4429-9D54-3BD15A******', 'title' => ''], + 'EcuInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuInfo' => [ + 'description' => 'The ECUs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about ECUs.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) where the ECU is located.', 'type' => 'string', 'example' => 'vpc-2zef6ob8**********', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECU was last updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827', 'title' => ''], + 'IpAddr' => ['description' => 'The private IP address of the ECU.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPU cores for the ECU.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.', 'type' => 'string', 'example' => '1172****6608****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECU.', 'type' => 'string', 'example' => 'i-2zej4i2jdf*********', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the ECU is located.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.', 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online. If the ECU is online, its corresponding ECS instance is managed in EDAS. Valid values:'."\n" + ."\n" + .'- true: The ECU is online.'."\n" + ."\n" + .'- false: The ECU is offline.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed. Valid values:'."\n" + ."\n" + .'- true: Docker is installed.'."\n" + ."\n" + .'- false: Docker is not installed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of available memory for the ECU. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '111', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone where the ECU resides.', 'type' => 'string', 'example' => 'cn-beijing-h', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes ConfigMap or Secret to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* name: the name of the Kubernetes ConfigMap or Secret.'."\n" - .'* type: the type of the API object that you want to mount. You can mount a Kubernetes ConfigMap or Secret.'."\n" - .'* mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]', - ], + ], + 'errorCodes' => [], + 'title' => 'ListScaleOutEcu', + 'summary' => 'Queries elastic compute units (ECUs) available for scaling out an application in a specified cluster or the cluster where the application is deployed. This operation is applicable to Elastic Compute Service (ECS) clusters.', + 'description' => '## Terms'."\n" + ."\n" + .'- **Namespace**: the logical concept that is used to isolate resources such as clusters, ECS instances, and applications, and microservices published in EDAS. This concept involves the default namespace and custom namespaces. Each region has a default namespace and supports multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources and microservices.'."\n" + ."\n" + .'- **Elastic compute unit (ECU)**: After an ECS instance is imported to a cluster, the instance becomes an ECU.'."\n" + ."\n" + .'- **Elastic compute container (ECC)**: After you deploy an application to an ECU in a cluster, the ECU becomes an ECC.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListScaleOutEcu'], ], + ], + 'ramActions' => [ [ - 'name' => 'CsClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. This parameter is required only when you create the application in a cluster that has not been imported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdefg', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"AF860D6C-ACE3-4429-9D54-3BD15A******\\",\\n \\"EcuInfoList\\": {\\n \\"EcuInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8**********\\",\\n \\"UpdateTime\\": 1573281040827,\\n \\"IpAddr\\": \\"192.168.XX.XX\\",\\n \\"AvailableCpu\\": 2,\\n \\"CreateTime\\": 1573281040819,\\n \\"UserId\\": \\"1172****6608****\\",\\n \\"InstanceId\\": \\"i-2zej4i2jdf*********\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"0de2ebdb-9490-4fc4-be41***************\\",\\n \\"Online\\": true,\\n \\"DockerEnv\\": false,\\n \\"AvailableMem\\": 111,\\n \\"ZoneId\\": \\"cn-beijing-h\\",\\n \\"Name\\": \\"test\\",\\n \\"HeartbeatTime\\": 1573281040819\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListServiceGroups' => [ + 'summary' => 'Queries the service groups of a High-Speed Service Framework (HSF) application.', + 'path' => '/pop/v5/service/serviceGroups', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableAsm', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to activate Alibaba Cloud Service Mesh (ASM). Set this parameter to true only when you create the application in a cluster that has not been imported and you need to use ASM.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], - [ - 'name' => 'EnvFroms', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The Kubernetes environment variables that are configured in EnvFrom mode. A ConfigMap or Secret is mounted to a directory. Each key corresponds to a file in the directory, and the content of the file is the value of the key.'."\n" - ."\n" - .'The following parameters are included in the configuration:'."\n" - ."\n" - .'* configMapRef: the ConfigMap that is referenced. The following parameter is contained:'."\n" - ."\n" - .' * name: the name of the ConfigMap.'."\n" - ."\n" - .'* secretRef: the Secret that is referenced. The following parameter is contained:'."\n" - ."\n" - .' * name: the name of the Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'ServiceGroupsList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListServiceGroups' => [ + 'description' => 'The information about service groups.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => 'The ID of the service group.'."\n", 'type' => 'string', 'example' => '789d9cda-74b1-****-****-05e21a0a7661', 'title' => ''], + 'GroupName' => ['description' => 'The name of the service group.'."\n", 'type' => 'string', 'example' => 'edas-test-group', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the service group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'string', 'example' => '1575357165770', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EmptyDirs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes emptyDir volume to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* mountPath: The mount path in the container. This parameter is required.'."\n" - .'* readOnly: (Optional) The mount mode. Value true indicates the read-only mode. Value false indicates the read and write mode. Default value: false.'."\n" - .'* subPathExpr: (Optional) The regular expression that is used to match the subdirectory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', - ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"ServiceGroupsList\\": {\\n \\"ListServiceGroups\\": [\\n {\\n \\"GroupId\\": \\"789d9cda-74b1-****-****-05e21a0a7661\\",\\n \\"GroupName\\": \\"edas-test-group\\",\\n \\"CreateTime\\": \\"1575357165770\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ServiceGroupsList>\\n <ListServiceGroups>\\n <GroupName>edas-test-group</GroupName>\\n <CreateTime>1575357165770</CreateTime>\\n <GroupId>789d9cda-74b1-****-****-05e21a0a7661</GroupId>\\n </ListServiceGroups>\\n</ServiceGroupsList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + 'title' => 'ListServiceGroups', + 'requestParamsDescription' => 'No request parameters.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'parameters' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServiceGroups'], ], + ], + 'ramActions' => [ [ - 'name' => 'BuildPackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of `EDAS Container`. The value of this parameter conflicts with that of the `EdasContainerVersion` parameter. We recommend that you use the `EdasContainerVersion` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-1', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListServiceGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListSlb' => [ + 'path' => '/pop/v5/slb_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CustomAffinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The custom affinity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'CustomTolerations', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom tolerances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo', - ], + 'schema' => ['description' => 'The VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1f90rfybszjogyw****', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '461', - ], + 'schema' => ['description' => 'The address type. Valid values:'."\n" + .'- Internet: public address.'."\n" + .'- Intranet: private network address.', 'type' => 'string', 'required' => false, 'example' => 'internet', 'title' => ''], ], [ - 'name' => 'Annotations', + 'name' => 'SlbType', 'in' => 'query', - 'schema' => [ - 'description' => 'The annotation of an application pod.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', - ], + 'schema' => ['description' => 'The SLB type. Valid values:'."\n" + .'- clb: classic load balancing.'."\n" + .'- alb: application load balancing.', 'type' => 'string', 'required' => false, 'example' => 'clb', 'title' => ''], ], - [ - 'name' => 'Labels', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The label of an application pod.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The interface status or POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'SlbList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlbEntity' => [ + 'description' => 'The list of SLB instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The SLB object.', + 'type' => 'object', + 'properties' => [ + 'SlbId' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'example' => 'lb-2ze055t3xv7s8****', 'title' => ''], + 'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-bp1f90rfybszjogyw****', 'title' => ''], + 'VswitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp156w1gpbv0o50hs****', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the SLB instance has expired. Valid values:'."\n" + .'- true: Expired.'."\n" + .'- false: Not expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => 'edas_****_**st@aliyun-****.com', 'title' => ''], + 'AddressType' => ['description' => 'The address type. Valid values:'."\n" + .'- internet: public address.'."\n" + .'- intranet: private network address.', 'type' => 'string', 'example' => 'internet', 'title' => ''], + 'NetworkType' => ['description' => 'The network type.', 'type' => 'string', 'example' => 'classic', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'GroupId' => ['description' => 'The EDAS resource group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Address' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '39.176.XX.XX', 'title' => ''], + 'SlbName' => ['description' => 'The SLB instance name.', 'type' => 'string', 'example' => 'adce', 'title' => ''], + 'SlbStatus' => ['description' => 'The SLB instance status.', 'type' => 'string', 'example' => 'active', 'title' => ''], + 'Tags' => ['description' => 'The tags.', 'type' => 'string', 'example' => '[{"tagKey":"tag","tagValue":"value"}]', 'title' => ''], + 'Reusable' => ['description' => 'Indicates whether the SLB instance can be reused by Kubernetes applications. Valid values:'."\n" + .'- true: Reuse is allowed.'."\n" + .'- false: Reuse is not allowed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EnableEmptyPushReject', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启推空保护', - 'description' => 'Specifies whether to enable the empty list protection feature. Valid values:'."\n" - ."\n" - .'* true: enables the empty list protection feature.'."\n" - .'* false: disables the empty list protection feature.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + ], + 'title' => 'Retrieve SLB list', + 'summary' => 'Retrieves a list of SLB instances.', + 'requestParamsDescription' => 'No request parameters are required.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSlb'], ], + ], + 'ramActions' => [ [ - 'name' => 'EnableLosslessRule', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损上线规则', - 'description' => 'Specifies whether to enable graceful start rules. Valid values:'."\n" - ."\n" - .'* true: enables graceful start rules.'."\n" - .'* false: disables graceful start rules.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"SlbList\\": {\\n \\"SlbEntity\\": [\\n {\\n \\"SlbId\\": \\"lb-2ze055t3xv7s8****\\",\\n \\"VpcId\\": \\"vpc-bp1f90rfybszjogyw****\\",\\n \\"VswitchId\\": \\"vsw-bp156w1gpbv0o50hs****\\",\\n \\"Expired\\": false,\\n \\"UserId\\": \\"edas_****_**st@aliyun-****.com\\",\\n \\"AddressType\\": \\"internet\\",\\n \\"NetworkType\\": \\"classic\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"GroupId\\": 0,\\n \\"Address\\": \\"39.176.XX.XX\\",\\n \\"SlbName\\": \\"adce\\",\\n \\"SlbStatus\\": \\"active\\",\\n \\"Tags\\": \\"[{\\\\\\"tagKey\\\\\\":\\\\\\"tag\\\\\\",\\\\\\"tagValue\\\\\\":\\\\\\"value\\\\\\"}]\\",\\n \\"Reusable\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListSubAccount' => [ + 'path' => '/pop/v5/account/sub_account_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LosslessRuleWarmupTime', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线服务预热时长', - 'description' => 'The service prefetching duration. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', - ], + 'AK' => [], ], - [ - 'name' => 'LosslessRuleDelayTime', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '无损上线延迟注册时长', - 'description' => 'The delay of service registration. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'message', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********', 'title' => ''], + 'SubAccountList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubAccount' => [ + 'description' => 'The RAM users.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SubEdasId' => ['description' => 'The ID of the RAM user. This ID is generated by Enterprise Distributed Application Service (EDAS).', 'type' => 'string', 'example' => '28382009411268****', 'title' => ''], + 'SubUserId' => ['description' => 'The ID of the RAM user.', 'type' => 'string', 'example' => 'ram1@117274586608****', 'title' => ''], + 'Email' => ['description' => 'The email address of the RAM user.', 'type' => 'string', 'example' => 'email@aliyun.com', 'title' => ''], + 'AdminUserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'test@13624697***', 'title' => ''], + 'AdminUserKp' => ['description' => 'This parameter is the same as the AdminEdasId parameter. This parameter is deprecated.', 'type' => 'string', 'example' => '12456889****', 'title' => ''], + 'AdminEdasId' => ['description' => 'The ID of the Alibaba Cloud account. This ID is generated by EDAS.', 'type' => 'string', 'example' => '12456889****', 'title' => ''], + 'SubUserKp' => ['description' => 'This parameter is the same as the SubEdasId parameter. This parameter is deprecated.', 'type' => 'string', 'example' => '28382009411268****', 'title' => ''], + 'Phone' => ['description' => 'The contact information of the RAM user.', 'type' => 'string', 'example' => '1373322****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'LosslessRuleFuncType', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线服务预热曲线', - 'description' => 'The number of prefetching curves. Valid values: 0 to 20. The default value is 2, which is suitable for common prefetching scenarios. This value indicates that the received traffic of the provider during prefetching is displayed as a quadratic curve.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + ], + 'title' => 'ListSubAccount', + 'summary' => 'Queries a list of Resource Access Management (RAM) users.', + 'requestParamsDescription' => 'No request parameters.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSubAccount'], ], + ], + 'ramActions' => [ [ - 'name' => 'LosslessRuleAligned', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', - 'description' => 'Specifies whether to enable the graceful rolling deployment mode and ensure that the service is registered before the readiness check. Valid values:'."\n" - ."\n" - .'* true: provides port 55199 and the /health path for the health check in a non-intrusive manner. When the service is registered, the system returns HTTP 200 status code. Otherwise, the system returns HTTP 500 status code.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**If you set both the `LosslessRuleRelated` parameter and this parameter to `true`, the operation checks whether the service prefetching is complete.'."\n" - ."\n" - .'* false: does not check whether the service is registered.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListSubAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"57609587-DFA2-41EC-****-*********\\",\\n \\"SubAccountList\\": {\\n \\"SubAccount\\": [\\n {\\n \\"SubEdasId\\": \\"28382009411268****\\",\\n \\"SubUserId\\": \\"ram1@117274586608****\\",\\n \\"Email\\": \\"email@aliyun.com\\",\\n \\"AdminUserId\\": \\"test@13624697***\\",\\n \\"AdminUserKp\\": \\"12456889****\\",\\n \\"AdminEdasId\\": \\"12456889****\\",\\n \\"SubUserKp\\": \\"28382009411268****\\",\\n \\"Phone\\": \\"1373322****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListSwimmingLane' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LosslessRuleRelated', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', - 'description' => 'Specifies whether to enable the graceful rolling deployment mode and ensure that the service prefetching is complete before the readiness check. Valid values:'."\n" - ."\n" - .'* true: provides port 55199 and the /health path for the health check in a non-intrusive manner. When the service prefetching is complete, the system returns HTTP 200 status code. Otherwise, the system returns HTTP 500 status code.'."\n" - .'* false: does not check whether the service prefetching is complete.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'ServiceConfigs', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '应用K8s服务信息', - 'description' => 'The configurations of services in a Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name": "test-svc-create","serviceType":"ClusterIP","portMappings":[{"servicePort": {"targetPort":8080,"port":80,"protocol":"TCP"}}]}]', - ], + 'schema' => ['description' => 'The ID of the lane group.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '79', 'title' => ''], ], - [ - 'name' => 'AppTemplateName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '创建应用使用的应用模版名称,若创建应用时指定应用模版,则将优先使用应用模版和AppConfig参数确定应用配置,忽略其他配置', - 'description' => 'The name of the template used to create the application. If you specify an application template when you create an application, the application template and the AppConfig parameter are used to configure the application. Other configurations are ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'app-template001', + 'description' => 'The object data that is returned.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****', 'title' => ''], + 'Data' => [ + 'description' => 'The data that is returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => 'The ID of the microservices namespace.', 'type' => 'string', 'example' => 'cn-hangzhou:pre2', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the lane group.', 'type' => 'integer', 'format' => 'int64', 'example' => '156', 'title' => ''], + 'ScenarioSign' => ['description' => 'The expected tag.', 'type' => 'string', 'example' => 'd0ad1052', 'title' => ''], + 'EntryRule' => ['description' => 'The conditions.', 'type' => 'string', 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"value\\",\\"name\\":\\"tags\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"value\\"}]}]', 'title' => ''], + 'Tag' => ['description' => 'The tag.', 'type' => 'string', 'example' => '2cb6b8a', 'title' => ''], + 'EnableRules' => ['description' => 'Indicates whether the throttling rule is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Name' => ['description' => 'The name of the lane.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Id' => ['description' => 'The ID of the lane.', 'type' => 'integer', 'format' => 'int64', 'example' => '348', 'title' => ''], + 'SwimmingLaneAppRelationShipList' => [ + 'description' => 'The applications that are related to the lane.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'prod-app-58846', 'title' => ''], + 'Rules' => ['description' => 'The association rule.', 'type' => 'string', 'example' => '""', 'title' => ''], + 'LaneId' => ['description' => 'The ID of the lane.', 'type' => 'integer', 'format' => 'int64', 'example' => '348', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3b615783-01f1-4569-baa3-cb71bdb6****', 'title' => ''], + 'Extra' => ['description' => 'Additional information.', 'type' => 'string', 'example' => 'edas-canary', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AppConfig', - 'in' => 'query', - 'schema' => [ - 'title' => '使用应用模版时的应用配置,JSON格式字符串', - 'description' => 'The application configuration when the application template is used. Set this parameter to a JSON array.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{}', - ], + ], + 'errorCodes' => [ + 601 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => 'Invalid parameters: {0}'], ], - [ - 'name' => 'LimitEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + ], + 'title' => 'ListSwimmingLane', + 'summary' => 'Queries lanes in a lane group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLane'], ], + ], + 'ramActions' => [ [ - 'name' => 'RequestsEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the space size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****\\",\\n \\"Data\\": [\\n {\\n \\"NamespaceId\\": \\"cn-hangzhou:pre2\\",\\n \\"GroupId\\": 156,\\n \\"ScenarioSign\\": \\"d0ad1052\\",\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tags\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\"}]}]\\",\\n \\"Tag\\": \\"2cb6b8a\\",\\n \\"EnableRules\\": true,\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 348,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"prod-app-58846\\",\\n \\"Rules\\": \\"\\\\\\"\\\\\\"\\",\\n \\"LaneId\\": 348,\\n \\"AppId\\": \\"3b615783-01f1-4569-baa3-cb71bdb6****\\",\\n \\"Extra\\": \\"edas-canary\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListSwimmingLaneGroup' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecretName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the credential that is used to pull the images specified by the user. You must configure the Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas-app-01-image-secret', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'ContainerRegistryId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the repository used to build the image repository. If this parameter is left empty, the default repository provided by EDAS is used. Only the default repository provided by EDAS is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Leave empty'."\n", - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'The ID of a custom namespace is in the region ID:namespace identifier format. Example: cn-beijing:test.<br>'."\n" + .'The ID of the default namespace is in the region ID format. Example: cn-beijing.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen:publish', 'title' => ''], ], [ - 'name' => 'WorkloadType', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of Workload when creating an application is currently only supported for the Deployment type.', - 'type' => 'string', - 'required' => false, - 'example' => 'Deployment', - ], + 'schema' => ['description' => 'The ID of the lane group.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''], ], - [ - 'name' => 'Sidecars', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Set up a Sidecar container for the application Pod. Support setting the format YAML for container configuration, which is the value of Sidecar container YAML configured with base64 encoding.', - 'type' => 'string', - 'required' => false, - 'example' => '[{"yamlEncoded":"Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="}]', + 'description' => 'The object data that is returned.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BF238E37-671A-5045-B49A-0B29C166****', 'title' => ''], + 'Data' => [ + 'description' => 'The data of the lane group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => 'The ID of the microservices namespace.', 'type' => 'string', 'example' => 'cn-shanghai:daily', 'title' => ''], + 'Name' => ['description' => 'The name of the lane group.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Id' => ['description' => 'The ID of the lane group.', 'type' => 'integer', 'format' => 'int64', 'example' => '257', 'title' => ''], + 'ApplicationList' => [ + 'description' => 'The applications that are related to the lane group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'java-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '406073bf-afc2-4142-b3d7-629a0308****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EntryApplication' => [ + 'description' => 'The information about the Enterprise Distributed Application Service (EDAS) ingress gateway.', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'java-app', 'title' => ''], + 'Source' => ['description' => 'The data source. Set the value to EDAS.', 'type' => 'string', 'example' => 'EDAS', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '406073bf-afc2-4142-b3d7-629a0308****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InitContainers', - 'in' => 'query', - 'schema' => [ - 'description' => 'Set the initialization container for the application Pod. Support setting the format YAML for container configuration, which is the value of Init container YAML configured with base64 encoding.', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" - .' }'."\n" - .']', - ], + ], + 'errorCodes' => [ + 601 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => 'Invalid parameters: {0}'], ], - [ - 'name' => 'UserBaseImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'When using custom JDK runtime, it is necessary to configure the basic image address. The address needs to be publicly accessible, and the EDAS server will pull the image to build the application image.', - 'type' => 'string', - 'required' => false, - 'example' => 'openjdk:8u302', - ], + ], + 'title' => 'ListSwimmingLaneGroup', + 'summary' => 'Queries lane groups.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLaneGroup'], ], + ], + 'ramActions' => [ [ - 'name' => 'TerminateGracePeriod', - 'in' => 'query', - 'schema' => [ - 'description' => 'Set the grace stop timeout for the application. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"BF238E37-671A-5045-B49A-0B29C166****\\",\\n \\"Data\\": [\\n {\\n \\"NamespaceId\\": \\"cn-shanghai:daily\\",\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 257,\\n \\"ApplicationList\\": [\\n {\\n \\"AppName\\": \\"java-app\\",\\n \\"AppId\\": \\"406073bf-afc2-4142-b3d7-629a0308****\\"\\n }\\n ],\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"java-app\\",\\n \\"Source\\": \\"EDAS\\",\\n \\"AppId\\": \\"406073bf-afc2-4142-b3d7-629a0308****\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'path' => '/pop/v5/tag/tags', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ImagePlatforms', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:1.指定x86 64架构:linux/amd64'."\n" - .'2.指定arm 64架构:linux/arm64'."\n" - .'3.指定构建双架构镜像:linux/amd64,linux/arm64'."\n" - .'4.不输入:默认架构', - 'description' => 'Mirror the target platform architecture, which is effective when deployed using war or jar. Enter an example:'."\n" - ."\n" - .'- Specify x86 64 architecture: Linux/amd64'."\n" - .'- Specify ARM 64 architecture: Linux/arm64'."\n" - .'- Specify the construction of dual architecture images: Linux/amd64, Linux/arm64'."\n" - .'- Do not input: default schema', - 'type' => 'string', - 'required' => false, - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'Startup', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup probe can be used to detect the viability of slow start containers, avoiding them from being killed before startup. The format is as follows: {"FailureThreshold": 3, "initialDelaySeconds": 5, "SuccessThreshold": 1, "timeoutSeconds": 1, "https Get": {"path": "/consumer", "port": 8080, "scheme": "HTTP", "https Headers": [{"name": "test", "value": "testvalue"}]}.'."\n" - ."\n" - .'If set to "" or {}, it means delete, and if not set, it means ignore.', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'* **application**: Enterprise Distributed Application Service (EDAS) application'."\n" + .'* **cluster**: EDAS cluster'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application', 'title' => ''], ], [ - 'name' => 'FeatureConfig', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The IDs of the resources. You can specify up to 20 IDs. Set this parameter to a JSON array.'."\n", 'type' => 'string', 'required' => false, 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', 'title' => ''], ], [ - 'name' => 'CustomAgentVersion', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The key-value pairs that specify the tags.'."\n" + ."\n" + .'* You can add up to 20 tags to a resource.'."\n" + .'* The key cannot start with **aliyun** or **acs:** and cannot contain **http://** or **https://**.'."\n" + .'* The tag key or tag value can be up to 128 characters in length, and can contain letters, digits, hyphens (-), commas (,), asterisks (\\*), forward slashes (/), question marks (?), and colons (:).'."\n" + .'* Set this parameter to a JSON array.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', 'title' => ''], ], [ - 'name' => 'SecurityContext', + 'name' => 'ResourceRegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The region in which the resource resides.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ApplicationInfo' => [ - 'description' => 'The details of the application.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx', 'title' => ''], + 'TagResources' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the change process ID. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Dockerize' => [ - 'description' => 'Indicates whether the application is a Docker application.'."\n" - ."\n" - .'* true: The application is a Docker application.'."\n" - .'* false: The application is not a Docker application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Owner' => [ - 'description' => 'The owner of the application.'."\n", - 'type' => 'string', - 'example' => 'zp', - ], - 'EdasId' => [ - 'description' => 'The ID of the user to which the application belongs. This ID is generated by EDAS.'."\n", - 'type' => 'string', - 'example' => '1172****6608****', - ], - 'ClusterType' => [ - 'description' => 'The type of the cluster. Valid values:'."\n" - ."\n" - .'* 0: regular Docker cluster'."\n" - .'* 1: Swarm cluster (discontinued)'."\n" - .'* 2: Elastic Compute Service (ECS) cluster'."\n" - .'* 3: self-managed Kubernetes cluster in EDAS (discontinued)'."\n" - .'* 4: cluster in which Pandora automatically registers applications'."\n" - .'* 5: ACK cluster and serverless Kubernetes cluster'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'AppId' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'example' => 'e83acea6-****-47e1-96ae-c0e95377****', - ], - 'UserId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the application belongs.'."\n", - 'type' => 'string', - 'example' => 'edas_test****@aliyun****.com', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', + 'TagResource' => [ + 'description' => 'The information about resource tags.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value of the resource.'."\n", 'type' => 'string', 'example' => 'value1', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource.'."\n", 'type' => 'string', 'example' => 'ALIYUN::EDAS::APPLICATION', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', 'title' => ''], + 'TagKey' => ['description' => 'The tag key of the resource.'."\n", 'type' => 'string', 'example' => 'key1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"ApplicationInfo\\": {\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"AppName\\": \\"test\\",\\n \\"Dockerize\\": true,\\n \\"Owner\\": \\"zp\\",\\n \\"EdasId\\": \\"1172****6608****\\",\\n \\"ClusterType\\": 5,\\n \\"AppId\\": \\"e83acea6-****-47e1-96ae-c0e95377****\\",\\n \\"UserId\\": \\"edas_test****@aliyun****.com\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InsertK8sApplicationResponse>\\n<RequestId>b197-40ab-9155-****</RequestId>\\n<Message>success</Message>\\n<ApplicationInfo>\\n <Dockerize>true</Dockerize>\\n <EdasId>1172****6608****</EdasId>\\n <Owner>zp</Owner>\\n <AppId>e83acea6-****-47e1-96ae-c0e95377****</AppId>\\n <UserId>edas_test****@aliyun****.com</UserId>\\n <ChangeOrderId>cd65b247-****-475b-ad4b-7039040d625c</ChangeOrderId>\\n <RegionId>cn-beijing</RegionId>\\n <ClusterType>5</ClusterType>\\n <AppName>test</AppName>\\n</ApplicationInfo>\\n<Code>200</Code>\\n</InsertK8sApplicationResponse>","errorExample":""}]', - 'title' => 'InsertK8sApplication', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'errorMessage' => 'The instance does not exist.', 'description' => 'The instance does not exist.'], + ], + ], + 'title' => 'ListTagResources', + 'summary' => 'Queries the tags that are added to resources.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeployK8sApplication' => [ - 'summary' => 'Deploys an application in a Container Service for Kubernetes (ACK) cluster or a serverless Kubernetes cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"value1\\",\\n \\"ResourceType\\": \\"ALIYUN::EDAS::APPLICATION\\",\\n \\"ResourceId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\",\\n \\"TagKey\\": \\"key1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx</RequestId>\\n<TagResources>\\n <TagResource>\\n <ResourceId>000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877</ResourceId>\\n <TagKey>key1</TagKey>\\n <ResourceType>ALIYUN::EDAS::APPLICATION</ResourceType>\\n <TagValue>value1</TagValue>\\n </TagResource>\\n</TagResources>\\n<Code>200</Code>","errorExample":""}]', + ], + 'ListUserDefineRegion' => [ + 'path' => '/pop/v5/user_region_defs', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'PreStop', - 'in' => 'query', - 'schema' => [ - 'description' => 'The pre-stop script. Example: `{"tcpSocket":{"host":"", "port":8080}}`. If you want to cancel this configuration, set this parameter to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - ], - [ - 'name' => 'Envs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables that are used to deploy the application. Set this parameter to a JSON array. Valid values: regular environment variables, Kubernetes ConfigMap environment variables, and Kubernetes Secret environment variables. Specify regular environment variables in the following format:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'Specify Kubernetes ConfigMap environment variables in the following format to reference values from ConfigMaps:'."\n" - ."\n" - .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" - ."\n" - .'Specify Kubernetes Secret environment variables in the following format to reference values from Secrets:'."\n" - ."\n" - .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" - ."\n" - .'> If you want to cancel this configuration, set this parameter to an empty JSON array, which is in the format of "\\[]".'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]', - ], - ], - [ - 'name' => 'ImageTag', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'latest', - ], - ], - [ - 'name' => 'BatchWaitTime', + 'name' => 'DebugEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum time interval for the phased release of pods. For more information, see [minReadySeconds](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Indicates whether remote debugging is allowed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - [ - 'name' => 'Command', - 'in' => 'query', - 'schema' => [ - 'description' => 'The commands that you run to start the container.'."\n" - ."\n" - .'> If you want to cancel this configuration, set this parameter to an empty string in the format of `""`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ls', - ], - ], - [ - 'name' => 'AppId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc', + 'description' => 'The API response.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status of the API call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'UserDefineRegionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserDefineRegionEntity' => [ + 'description' => 'The list of namespaces.', + 'type' => 'array', + 'items' => [ + 'description' => 'The namespace object.', + 'type' => 'object', + 'properties' => [ + 'BelongRegion' => ['description' => 'The ID of the physical region to which the namespace belongs.', 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + 'RegionName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'betaappManager', 'title' => ''], + 'Description' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'betaappManager', 'title' => ''], + 'DebugEnable' => ['description' => 'Indicates whether remote debugging is allowed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com', 'title' => ''], + 'Id' => ['description' => 'The unique ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1330', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'> This ID cannot be changed after the namespace is created. The format is `Physical region ID:Logical region identifier`.', 'type' => 'string', 'example' => 'cn-shenzhen:betaappManager', 'title' => ''], + 'MseInstanceId' => ['description' => 'The type of the registry. Valid values:'."\n" + ."\n" + .'- default: the shared registry of EDAS.'."\n" + ."\n" + .'- exclusive\\_mse: an MSE Nacos registry.', 'type' => 'string', 'example' => 'default:EDAS', 'title' => ''], + 'RegistryType' => ['description' => 'The ID of the MSE registry instance.', 'type' => 'string', 'example' => 'mse_prepaid_public_cn-tl32n******', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'PostStart', - 'in' => 'query', - 'schema' => [ - 'description' => 'The post-start script. Example: `{"exec":{"command":\\["cat","/etc/group"\\]}}`. If you want to cancel this configuration, set this parameter to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], + ], + 'title' => 'ListUserDefineRegion', + 'summary' => 'Queries a list of user-defined namespaces.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserDefineRegion'], ], + ], + 'ramActions' => [ [ - 'name' => 'Readiness', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for the readiness check on the container. If the check fails, the traffic that passes through the Kubernetes service is not transmitted to the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}`. If you want to cancel this configuration, set this parameter to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListUserDefineRegion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"UserDefineRegionList\\": {\\n \\"UserDefineRegionEntity\\": [\\n {\\n \\"BelongRegion\\": \\"cn-shenzhen\\",\\n \\"RegionName\\": \\"betaappManager\\",\\n \\"Description\\": \\"betaappManager\\",\\n \\"DebugEnable\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"Id\\": 1330,\\n \\"RegionId\\": \\"cn-shenzhen:betaappManager\\",\\n \\"MseInstanceId\\": \\"default:EDAS\\",\\n \\"RegistryType\\": \\"mse_prepaid_public_cn-tl32n******\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListVpc' => [ + 'path' => '/pop/v5/vpc_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Liveness', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for the liveness check on the container. Example: `{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`. If you want to cancel this configuration, set this parameter to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'AK' => [], ], - [ - 'name' => 'Args', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The argument array in the container start-up command. Set this parameter to a JSON array in the format of `\\["args1","args2"\\]`, where each key is set to a string. If you want to cancel this configuration, set this parameter to an empty JSON array in the format of `"\\[\\]"`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["args1","args2"]', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The ID of the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The information about VPCs.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The name of the VPC.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'VpcList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpcEntity' => [ + 'description' => 'Indicates whether the VPC is available. Valid values:'."\n" + ."\n" + .'- true: The VPC is available.'."\n" + ."\n" + .'- false: The VPC is unavailable.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.', 'type' => 'string', 'example' => 'vpc-wz9pcq3jofczwpujq****', 'title' => ''], + 'VpcName' => ['description' => 'The number of ECS instances associated with the VPC.', 'type' => 'string', 'example' => 'edas-default-vpc4', 'title' => ''], + 'Expired' => ['description' => 'The region ID of the VPC.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'UserId' => ['description' => 'GET /pop/v5/vpc\\_list HTTP/1.1'."\n" + .'Common request headers', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com', 'title' => ''], + 'EcsNum' => ['description' => 'This operation uses only common request headers. For more information, see [Common parameters for API calls](~~123488~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RegionId' => ['description' => 'No request parameters.', 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of application instances. The minimum value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + ], + 'title' => 'ListVpc', + 'summary' => 'Queries virtual private clouds (VPCs). This operation is applicable to Elastic Compute Service (ECS) clusters and Kubernetes clusters.', + 'requestParamsDescription' => 'The message returned.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpc'], ], + ], + 'ramActions' => [ [ - 'name' => 'Image', - 'in' => 'query', - 'schema' => [ - 'description' => 'The absolute URL of the image. This parameter setting overwrites the setting of the ImageTag parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListVpc', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"VpcList\\": {\\n \\"VpcEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9pcq3jofczwpujq****\\",\\n \\"VpcName\\": \\"edas-default-vpc4\\",\\n \\"Expired\\": false,\\n \\"UserId\\": \\"edas_****_test@aliyun-****.com\\",\\n \\"EcsNum\\": 0,\\n \\"RegionId\\": \\"cn-shenzhen\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'MigrateEcu' => [ + 'summary' => 'Transfers an ECU to the default cluster in a specified namespace.', + 'path' => '/pop/v5/resource/migrate_ecu', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CpuLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. Unit: cores. Value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'MemoryLimit', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. Value 0 indicates that no limit is set on the memory size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The IDs of the instances. To specify multiple instances, separate the IDs with commas (,).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2zej4i2jdf3ntwhj****', 'title' => ''], ], [ - 'name' => 'CpuRequest', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of CPU cores requested for each application instance when the application is running. Unit: cores. We recommend that you set this parameter. Value 0 indicates that no limit is set on CPU cores.'."\n" - ."\n" - .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- A custom namespace ID is in the format `Region ID:Namespace identifier`. Example: cn-beijing:tdy218.'."\n" + ."\n" + .'- A default namespace ID is the same as its region ID. Example: cn-beijing.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:test_region', 'title' => ''], ], - [ - 'name' => 'MemoryRequest', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The size of memory requested for each application instance when the application is running. Unit: MB. We recommend that you set this parameter. If you do not want to apply for a memory quota, set this parameter to 0.'."\n" - ."\n" - .'> You must set this parameter together with the MemoryLimit parameter. Make sure that the value of this parameter does not exceed that of the MemoryLimit parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', + 'description' => 'The API response.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code of the API call.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The data returned.'."\n" + ."\n" + .'- true: The operation was successful.'."\n" + ."\n" + .'- false: The operation failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04B0ABAF-95F2-42B6-A7B1****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'NasId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the File Storage NAS (NAS) file system mounted to the container in which the application is running. The NAS file system must be in the same region as the cluster. The NAS file system must have an available mount target, or have a mount target on the vSwitch in the virtual private cloud (VPC) in which the application resides. If you do not specify this parameter but specify the MountDescs parameter, a NAS file system is automatically purchased and mounted to the vSwitch in the VPC.', - 'type' => 'string', - 'required' => false, - 'example' => 'dfs23****', - ], + ], + 'title' => 'MigrateEcu', + 'description' => '## Usage notes'."\n" + ."\n" + .'This API operation is deprecated. Use the TransformClusterMember operation instead. For more information, see [TransformClusterMember](~~71514~~).'."\n" + ."\n" + .'This operation imports an Elastic Compute Service (ECS) instance and reinstalls its operating system. This process deletes all data on the instance. You must also reset the logon password. Before you import an instance, back up its data or make sure it contains no important data.'."\n" + ."\n" + .'## Terms'."\n" + ."\n" + .'- **Namespace**: A logical concept in Enterprise Distributed Application Service (EDAS) used to isolate resources and microservices. Resources include clusters, ECS instances, and applications. Namespaces can be default or custom. Each region has one default namespace and can have multiple custom namespaces. By default, only the default namespace is available. You do not need to create a custom namespace if you do not want to isolate resources and microservices.'."\n" + ."\n" + .'- **ECU**: An ECS instance becomes an Elastic Compute Unit (ECU) after it is imported into a cluster.'."\n" + ."\n" + .'- **ECC**: An ECU in a cluster becomes an Elastic Compute Container (ECC) after it is deployed in an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MigrateEcu'], ], + ], + 'ramActions' => [ [ - 'name' => 'MountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the NAS mounting configuration. Set this parameter to a serialized JSON string. Example: `\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`. The nasPath parameter specifies the file storage path, and the mountPath parameter specifies the path to mount the file system to the container in which the application is running.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:MigrateEcu', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"04B0ABAF-95F2-42B6-A7B1****\\"\\n}","type":"json"}]', + ], + 'ModifyScalingRule' => [ + 'summary' => 'Modifies the scaling rule for an application.', + 'path' => '/pop/v5/app/scaling_rules', + 'methods' => ['post', 'put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'StorageType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The storage type of the NAS file system.'."\n" - ."\n" - .'* Valid values for General-purpose NAS file systems: Capacity and Performance.'."\n" - .'* Valid values for Extreme NAS file systems: standard and advance.'."\n" - ."\n" - .'You can set this parameter only to Performance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Performance', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'LocalVolume', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations that are used when the host files are mounted to the container on which the application is running. Example: `\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`. The nodePath parameter specifies the host path, the mountPath parameter specifies the path within the container, and the type parameter specifies the mounting type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '74ee****-db65-4322-a1f6-bcb60e5b****', 'title' => ''], ], [ - 'name' => 'PackageUrl', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application.'."\n" - ."\n" - .'> The version of EDAS SDK for Java or Python must be V2.44.0 or later.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], + 'schema' => ['description' => 'The ID of the instance group to which the application is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8123db90-880f-486f-****-************', 'title' => ''], ], [ - 'name' => 'PackageVersion', + 'name' => 'InCondition', 'in' => 'query', 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required if you use a FatJar or WAR package to deploy the application. You must specify a version.'."\n" + 'description' => 'The relationship among the conditions that trigger a scale-in.'."\n" ."\n" - .'> The version of EDAS SDK for Java or Python must be V2.44.0 or later.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20200720', - ], - ], - [ - 'name' => 'JDK', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java Development Kit (JDK) on which the deployment package of the application depends. Open JDK 7 and Open JDK 8 are supported. This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], - ], - [ - 'name' => 'WebContainer', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package of the application depends. This parameter is applicable to Spring Cloud and Dubbo applications that you deploy by using WAR packages. This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', - ], - ], - [ - 'name' => 'EdasContainerVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of EDAS Container on which the deployment package of the application depends. This parameter is applicable to High-Speed Service Framework (HSF) applications that you deploy by using WAR packages. This parameter is unavailable if you deploy applications by using images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3.5.9', - ], - ], - [ - 'name' => 'UriEncoding', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URI encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n" + .'- OR: one of the conditions'."\n" ."\n" - .'> If you do not specify this parameter in the application configurations, the default URI encoding scheme in the Tomcat container is applied.'."\n", + .'- AND: all conditions', 'type' => 'string', 'required' => false, - 'example' => 'GBK', + 'docRequired' => false, + 'enum' => ['OR', 'AND'], + 'example' => '"OR"', + 'title' => '', ], ], [ - 'name' => 'UseBodyEncoding', + 'name' => 'InEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the encoding scheme specified in the request body for URI query parameters.'."\n" - ."\n" - .'> If this parameter is not specified in application configuration, the default value false is applied.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to allow scale-ins.'."\n" + ."\n" + .'- true: allows scale-ins.'."\n" + ."\n" + .'- false: does not allow scale-ins.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'UpdateStrategy', + 'name' => 'InCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The phased release policy.'."\n" - ."\n" - .'* Example 1: One instance for a canary release + Two subsequent batches + Automatic batching + 1-minute batch interval.'."\n" - ."\n" - .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'* Example 2: One instance for a canary release + Two subsequent batches + Manual batching.'."\n" - ."\n" - .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'* Example 3: Two batches + Automatic batching + 0-minute batch interval.'."\n" - ."\n" - .'`{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', - ], + 'schema' => ['description' => 'The CPU utilization that triggers a scale-in.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'McpuRequest', + 'name' => 'InDuration', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of CPU cores required. Unit: cores. Value 0 indicates that no limit is set on CPU cores.'."\n" - ."\n" - .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The duration in which the metric threshold is exceeded. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'McpuLimit', + 'name' => 'InInstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPU cores allowed. Unit: cores. Value 0 indicates that no limit is set on CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The minimum number of instances that must be retained in each group when a scale-in is performed.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'VolumesStr', + 'name' => 'InLoad', 'in' => 'query', - 'schema' => [ - 'description' => 'The data volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The system load that triggers a scale-in.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'PackageVersionId', + 'name' => 'InRT', 'in' => 'query', - 'schema' => [ - 'description' => 'The version ID of the deployment package.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2bcc********', - ], + 'schema' => ['description' => 'The minimum service latency that triggers a scale-in. The lower limit is 0. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ChangeOrderDesc', + 'name' => 'InStep', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the change process.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Upgrade'."\n", - ], + 'schema' => ['description' => 'The number of instances that are removed during each scale-in.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'RuntimeClassName', + 'name' => 'OutCondition', 'in' => 'query', 'schema' => [ - 'description' => 'The type of the container runtime. Valid values:'."\n" + 'description' => 'The relationship among the conditions that trigger a scale-out.'."\n" ."\n" - .'* runc: standard container runtime'."\n" - .'* runv: sandboxed container runtime'."\n" + .'- OR: one of the conditions'."\n" ."\n" - .'This parameter is applicable only to clusters that use sandboxed containers.'."\n", + .'- AND: all conditions', 'type' => 'string', 'required' => false, - 'example' => 'runc', - ], - ], - [ - 'name' => 'DeployAcrossZones', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to distribute application instances across zones. Value true indicates that application instances are distrubuted across zones. Other values indicate that application instances are not distributed across zones.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', + 'docRequired' => false, + 'enum' => ['OR', 'AND'], + 'example' => '"OR"', + 'title' => '', ], ], [ - 'name' => 'BatchTimeout', + 'name' => 'OutCPU', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for an at-a-time release. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The CPU utilization that triggers a scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'EnableAhas', + 'name' => 'OutDuration', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access to Application High Availability Service (AHAS).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The duration in which the metric threshold is exceeded. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'WebContainerConfig', + 'name' => 'OutEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'The Tomcat container configuration. If you want to cancel this configuration, set this parameter to `""` or `"{}"`. The following parameters are included in the configuration:'."\n" - ."\n" - .'* useDefaultConfig: specifies whether to use the default configuration. Value true indicates to use the default configuration. Value false indicates to use the custom configuration. If the default configuration is used, the following parameters do not take effect.'."\n" - ."\n" - .'* contextInputType: the type of the access path for the application. Valid values:'."\n" - ."\n" - .' * war: The access path for the application is the name of the WAR package. You do not need to specify a custom path.'."\n" - .' * root: The access path for the application is /. You do not need to specify a custom path.'."\n" - .' * custom: If you select this option, you must specify a custom path for the contextPath parameter.'."\n" - ."\n" - .'* contextPath: the custom access path for the application. This parameter is required only when you set the contextInputType parameter to custom.'."\n" - ."\n" - .'* httpPort: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is less than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not configure this parameter, the default port number 8080 is used.'."\n" - ."\n" - .'* maxThreads: the maximum number of connections in the connection pool. Default value: 400.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**This parameter greatly affects the application performance. We recommend that you set this parameter under professional guidance.'."\n" - ."\n" - .'* uriEncoding: the URI encoding scheme in the Tomcat container. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312. If you do not specify this parameter, the default value ISO-8859-1 is used.'."\n" - ."\n" - .'* useBodyEncoding: specifies whether to use the encoding scheme specified in the request body for URI query parameters.'."\n" - ."\n" - .'* useAdvancedServerXml: specifies whether to use advanced configurations to customize the `server.xml` file. If the preceding parameter types and specific parameters cannot meet your requirements, you can use advanced configurations to customize the `server.xml` file of Tomcat.'."\n" - ."\n" - .'* serverXml: the content of the `server.xml` file customized by using advanced configurations. This parameter takes effect only when you set the useAdvancedServerXml parameter to true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}', - ], + 'schema' => ['description' => 'Specifies whether to allow scale-outs.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'JavaStartUpConfig', + 'name' => 'OutInstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of Java startup parameters for a Java application. These startup parameters involve the memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom configurations. Proper parameter settings help reduce the GC overheads, shorten the server response time, and improve the throughput. Set this parameter to a JSON string. In the example, original indicates the configuration value, and startup indicates a startup parameter. The system automatically concatenates all startup values as the settings of Java startup parameters for the application. To delete this configuration, leave the parameter value empty by entering `""` or `"{}"`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}', - ], + 'schema' => ['description' => 'The maximum number of instances in each group when a scale-out is performed.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'SlsConfigs', + 'name' => 'OutLoad', 'in' => 'query', - 'schema' => [ - 'description' => 'The Logstore configuration. If you want to cancel this configuration, leave the parameter value empty by entering `""` or `"{}"`.'."\n" - ."\n" - .'* The following parameters are included in the configuration:'."\n" - ."\n" - .' * type: the collection type. Set this parameter to file to specify the file type. Set this parameter to stdout to specify the standard output type.'."\n" - ."\n" - .' * logstore: the name of the Logstore. Make sure that the name of the Logstore is unique in the cluster. The name must comply with the following rules:'."\n" - ."\n" - .' * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" - .' * The name must start and end with a lowercase letter or a digit.'."\n" - .' * The name must be 3 to 63 characters in length. If you leave this parameter empty, the system automatically generates a name.'."\n" - ."\n" - .' * logDir: If the standard output type is used, the collection path is stdout.log. If the file type is used, the collection path is the path of the collected file. Wildcards (\\*) are supported. The collection path must match the following regular expression: `^/(.+)/(.*)^/$`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]', - ], + 'schema' => ['description' => 'The system load that triggers a scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'DeployAcrossNodes', + 'name' => 'OutRT', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to distribute application instances to multiple nodes. Value true indicates that application instances are distrubuted across zones. Other values indicate that application instances are not distributed across zones.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The minimum service latency that triggers a scale-out. The lower limit is 0. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'TrafficControlStrategy', + 'name' => 'OutStep', 'in' => 'query', - 'schema' => [ - 'description' => 'The traffic adjustment policy for a canary release.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}', - ], + 'schema' => ['description' => 'The number of instances that are added during each scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'PvcMountDescs', + 'name' => 'ResourceFrom', 'in' => 'query', 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes PersistentVolumeClaim (PVC) to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" - ."\n" - .'* pvcName: the name of the PVC. Make sure that the volume exists and is in the Bound state.'."\n" + 'description' => 'The source of the instance to be added during a scale-out. Valid values:'."\n" ."\n" - .'* mountPaths: the directory to which you want to mount the PVC. You can configure multiple directories. You can set the following two parameters for each mount directory:'."\n" + .'- NEW: elastic resources'."\n" ."\n" - .' * mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n" - .' * readOnly: the mount mode. Value true indicates the read-only mode. Value false indicates the read and write mode. Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', - ], - ], - [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes ConfigMap or Secret to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" + .'- AVAILABLE: existing resources If you prefer existing resources to elastic resources, set this parameter to AVAILABLE\\_FIRST.'."\n" ."\n" - .'* name: the name of the Kubernetes ConfigMap or Secret.'."\n" - .'* type: the type of the API object that you want to mount. You can mount a Kubernetes ConfigMap or Secret.'."\n" - .'* mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n", + .'If you set this parameter to NEW or AVAILABLE\\_FIRST, you must specify the auto-scaling parameters. If you set this parameter to NEW, instances are created based on a launch template or the specifications of an existing instance.', 'type' => 'string', 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "name": "nginx-config",'."\n" - .' "type": "ConfigMap",'."\n" - .' "mountPath": "/etc/nginx"'."\n" - .' },'."\n" - .' {'."\n" - .' "name": "tls-secret",'."\n" - .' "type": "Secret",'."\n" - .' "mountPath": "/etc/ssh"'."\n" - .' }'."\n" - .']', + 'docRequired' => false, + 'enum' => ['AVAILABLE', 'NEW', 'AVAILABLE_FIRST'], + 'example' => '"AVAILABLE"', + 'title' => '', ], ], [ - 'name' => 'EnvFroms', + 'name' => 'MultiAzPolicy', 'in' => 'query', 'schema' => [ - 'description' => 'The Kubernetes environment variables that are configured in EnvFrom mode. A ConfigMap or Secret is mounted to a directory. Each key corresponds to a file in the directory, and the content of the file is the value of the key.'."\n" - ."\n" - .'This parameter contains the following parameters:'."\n" - ."\n" - .'* configMapRef: the ConfigMap that is referenced. The following parameter is contained:'."\n" - ."\n" - .' * name: the name of the ConfigMap.'."\n" - ."\n" - .'* secretRef: the Secret that is referenced. The following parameter is contained:'."\n" + 'description' => 'The multi-zone scaling policy. Valid values:'."\n" ."\n" - .' * name: the name of the Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]', - ], - ], - [ - 'name' => 'EmptyDirs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration for mounting a Kubernetes emptyDir volume to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" + .'- PRIORITY: The vSwitch that is first selected has the highest priority.'."\n" ."\n" - .'* mountPath: The mount path in the container. This parameter is required.'."\n" - .'* readOnly: (Optional) The mount mode. Value true indicates the read-only mode. Value false indicates the read and write mode. Default value: false.'."\n" - .'* subPathExpr: (Optional) The regular expression that is used to match the subdirectory.'."\n", + .'- BALANCE: This policy evenly distributes instances across zones in which the vSwitches reside.', 'type' => 'string', 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', + 'enum' => ['PRIORITY', 'BALANCE'], + 'example' => '"PRIORITY"', + 'title' => '', ], ], [ - 'name' => 'CustomAffinity', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The affinity configuration of the pod. This parameter takes effect only if both the DeployAcrossNodes and DeployAcrossZones parameters are set to false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"beta.kubernetes.io/arch","operator":"NotIn","values":["arm64","arm32"]}]}]},"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":5,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]},"podAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"namespaces":["default"],"topologyKey":"kubernetes.io/hostname","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"NotIn","values":["edas-test-app"]}]}}]},"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"namespaces":["default"],"topologyKey":"failure-domain.beta.kubernetes.io/zone","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"In","values":["edas-test-app-2"]}]}},"weight":15}]}}', - ], + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) that is associated with the instances created based on a launch template or the specifications of an existing instance.', 'type' => 'string', 'required' => false, 'example' => '"vpc-bp1j55oz3bg*****"', 'title' => ''], ], [ - 'name' => 'CustomTolerations', + 'name' => 'VSwitchIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling tolerance configuration of the pod. This parameter takes effect only if both the DeployAcrossNodes and DeployAcrossZones parameters are set to false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}]', - ], + 'schema' => ['description' => 'The IDs of the vSwitches that are associated with the VPC. Separate multiple IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => '"vsw-bp1ldxs3d4fd*****"', 'title' => ''], ], [ - 'name' => 'BuildPackId', + 'name' => 'ScalingPolicy', 'in' => 'query', 'schema' => [ - 'description' => 'The build package number of EDAS Container.'."\n" - ."\n" - .'* You do not need to set the parameter if you do not need to change the EDAS Container version during the deployment.'."\n" - .'* Set the parameter if you need to update the EDAS Container version of the application during the deployment.'."\n" + 'description' => 'The instance handling mode during a scale-in. Valid values:'."\n" ."\n" - .'You can query the build package number by using one of the following methods:'."\n" + .'- release: When a scale-in is performed, instances that are no longer used are released.'."\n" ."\n" - .'* Call the ListBuildPack operation. For more information, see [ListBuildPack](~~423222~~).'."\n" - .'* Obtain the value in the **Build package number** column of the [Release notes for EDAS Container](~~92614~~) topic. For example, `59` indicates `EDAS Container 3.5.8`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '59', - ], - ], - [ - 'name' => 'Annotations', - 'in' => 'query', - 'schema' => [ - 'description' => 'The annotation of an application pod.'."\n", + .'- recycle: When a scale-in is performed, instances that are no longer used are stopped and reclaimed.', 'type' => 'string', 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', - ], - ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'description' => 'The label of an application pod.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', - ], - ], - [ - 'name' => 'EnableEmptyPushReject', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启推空保护', - 'description' => 'Specifies whether to enable the empty list protection feature. Valid values:'."\n" - ."\n" - .'* true: enables the empty list protection feature.'."\n" - .'* false: disables the empty list protection feature.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'EnableLosslessRule', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损上线规则', - 'description' => 'Specifies whether to enable graceful start rules. Valid values:'."\n" - ."\n" - .'* true: enables graceful start rules.'."\n" - .'* false: disables graceful start rules.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'LosslessRuleWarmupTime', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线服务预热时长', - 'description' => 'The service prefetching duration. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', - ], - ], - [ - 'name' => 'LosslessRuleDelayTime', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线延迟注册时长', - 'description' => 'The delay of service registration. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'LosslessRuleFuncType', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线服务预热曲线', - 'description' => 'The number of prefetching curves. Valid values: 0 to 20. The default value is 2, which is suitable for common prefetching scenarios. This value indicates that the received traffic amount of the provider during prefetching is displayed as a quadratic curve.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'LosslessRuleAligned', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', - 'description' => 'Specifies whether to enable Graceful Rolling Release and configure Complete Service Registration before Readiness Probing. Valid values:'."\n" - ."\n" - .'* true: If you turn on the switch, the system uses the /health path and provides port 55199 for the health check. The system does not intrude into the application. When the service is registered, the system returns HTTP 200 status code. Otherwise, the system returns HTTP 500 status code.'."\n" - ."\n" - .'> If you set both the LosslessRuleRelated parameter and this parameter to true, the operation checks whether the service prefetching is complete.'."\n" - ."\n" - .'* false: If you turn off the switch, the system does not provide a port to check whether the service is registered.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'enum' => ['release', 'recycle'], + 'example' => '"release"', + 'title' => '', ], ], [ - 'name' => 'LosslessRuleRelated', + 'name' => 'TemplateInstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', - 'description' => 'Specifies whether to enable Graceful Rolling Release and configure Complete Service Prefetching before Readiness Probing. Valid values:'."\n" - ."\n" - .'* true: If you turn on the switch, the system uses the /health path and provides port 55199 for the health check. The system does not intrude into the application. When service prefetching is complete, the system returns HTTP 200 status code. Otherwise, the system returns HTTP 500 status code.'."\n" - .'* false: If you turn off the switch, the system does not provide a port to check whether service prefetching is complete.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the instance whose specifications are used to create instances during a scale-out. This parameter is valid only when you set the OutEnable parameter to true.', 'type' => 'string', 'required' => false, 'example' => '"1"', 'title' => ''], ], [ - 'name' => 'LimitEphemeralStorage', + 'name' => 'TemplateInstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the ephemeral storage space.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The name of the instance whose specifications are used to create instances during a scale-out. This parameter takes effect only if you specify the TemplateInstanceId parameter.', 'type' => 'string', 'required' => false, 'example' => '"tpl-tdy218"', 'title' => ''], ], [ - 'name' => 'RequestsEphemeralStorage', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum size of space required by ephemeral storage. Unit: GB. Value 0 indicates that no limit is set on the ephemeral storage space.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The password that is used to log on to the instance. This parameter takes effect only if you choose to create instances based on the specifications of an existing instance during a scale-out.', 'type' => 'string', 'required' => false, 'example' => '"Pwd*****"', 'title' => ''], ], [ - 'name' => 'Sidecars', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="'."\n" - .' }'."\n" - .']', - ], + 'schema' => ['description' => 'The key pair that is used to log on to the instance. This parameter takes effect only if you choose to create instances based on the specifications of an existing instance during a scale-out.', 'type' => 'string', 'required' => false, 'example' => '"tdy218"', 'title' => ''], ], [ - 'name' => 'InitContainers', + 'name' => 'AcceptEULA', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" - .' }'."\n" - .']', - ], + 'schema' => ['description' => 'Set the value to true if scale-outs are allowed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'UserBaseImageUrl', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'openjdk:8u302', - ], + 'schema' => ['description' => 'The ID of the launch template that is used to create instances during a scale-out. This parameter takes effect only if you set the OutEnable parameter to true. This parameter takes precedence over the TemplateInstanceId parameter.', 'type' => 'string', 'required' => false, 'example' => '"lt-wz9hkhn8wp*****"', 'title' => ''], ], [ - 'name' => 'CanaryRuleId', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a8daf22e-****-968c7ff2ea34', - ], + 'schema' => ['description' => 'The version of the launch template that is used to create instances during a scale-out. This parameter takes effect only if you set the OutEnable parameter to true. To use the default template version, set this parameter to `-1`. Otherwise, set this parameter to the version that you want to use.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], ], - [ - 'name' => 'TerminateGracePeriod', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CB36E997-FE54-476C-8C0D-********', 'title' => ''], + ], 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ImagePlatforms', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:'."\n" - .'1.指定x86 64架构:linux/amd64'."\n" - .'2.指定arm 64架构:linux/arm64'."\n" - .'3.指定构建双架构镜像:linux/amd64,linux/arm64'."\n" - .'4.不输入:默认架构', - 'description' => 'The destination image platform. This parameter takes effect only when you deploy applications by using .war or .jar packages.'."\n" - ."\n" - .'* If you want to specify x86\\_64, set the value to linux/amd64.'."\n" - .'* If you want to specify ARM64, set the value to linux/arm64.'."\n" - .'* If you want to specify both x86\\_64 and ARM64, set the value to linux/amd64,linux/arm64.'."\n" - .'* If you leave this parameter empty, the default architecture is used.'."\n", - 'type' => 'string', - 'required' => false, - ], + ], + 'title' => 'ModifyScalingRule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], ], + ], + 'ramActions' => [ [ - 'name' => 'Startup', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"CB36E997-FE54-476C-8C0D-********\\"\\n}","type":"json"}]', + ], + 'QueryApplicationStatus' => [ + 'path' => '/pop/v5/app/app_status', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CustomAgentVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '3.1.4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'SecurityContext', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-441**************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", + 'description' => 'The content that is returned.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the change process ID. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-********', 'title' => ''], + 'AppInfo' => [ + 'description' => 'The information about the application.', + 'type' => 'object', + 'properties' => [ + 'EcuList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ecu' => [ + 'description' => 'The information about elastic compute units (ECUs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the ECU.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-wz9b246zg************', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECU was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012', 'title' => ''], + 'IpAddr' => ['description' => 'The private IP address of the ECU.', 'type' => 'string', 'example' => '172.16.*.**', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626207270', 'title' => ''], + 'UserId' => ['description' => 'The ID of the user associated with the ECU.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-wz9fp1ljg***********', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-shen****-*', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU. You can run the `dmidecode` command on the ECS instance to query the ECU ID.', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of the available memory.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.', 'type' => 'string', 'example' => 'cn-shen****-*', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.', 'type' => 'string', 'example' => 'EDAS-scaled-cluster: default cluster', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EccList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ecc' => [ + 'description' => 'The information about elastic compute containers (ECCs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the ECC.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-wz9b246zg************', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECC was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU.', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************', 'title' => ''], + 'EccId' => ['description' => 'The unique ID of the ECC.', 'type' => 'string', 'example' => '0cf49a6c-95a8-4aa8-****-************', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the instance group.', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************', 'title' => ''], + 'AppState' => ['description' => 'The status of the application instance. Valid values:'."\n" + ."\n" + .'- 0: AGENT\\_OFF: indicates that the agent is offline.'."\n" + ."\n" + .'- 1: STOPPED: indicates that the application is stopped.'."\n" + ."\n" + .'- 3: RUNNING\\_BUT\\_URL\\_FAILED: indicates that the health check failed.'."\n" + ."\n" + .'- 7: RUNNING: indicates that the application is running.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], + 'TaskState' => ['description' => 'The state of the latest task initiated on the application instance. Valid values:'."\n" + ."\n" + .'- 0: UNKNOWN: indicates that the state of the latest task is unknown.'."\n" + ."\n" + .'- 1: PROCESSING: indicates that the latest task is being processed.'."\n" + ."\n" + .'- 2: SUCCESS: indicates that the latest task is executed.'."\n" + ."\n" + .'- 3: FAILED: indicates that the latest task failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECC was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626226691', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + 'ContainerStatus' => ['description' => 'The status of the container.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'Ip' => ['description' => 'The private IP address of the ECU.', 'type' => 'string', 'example' => '172.16.*.***', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'GroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Group' => [ + 'description' => 'The information about the instance groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the instance group.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The time when the instance group was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627441388', 'title' => ''], + 'GroupName' => ['description' => 'The name of the instance group.', 'type' => 'string', 'example' => '_DEFAULT_GROUP', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the instance group.', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the instance group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626155185', 'title' => ''], + 'AppVersionId' => ['description' => 'The ID of the change process for application deployment in the instance group.', 'type' => 'string', 'example' => 'changeorder_a**_*******_**', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + 'PackageVersionId' => ['description' => 'The version of the deployment package that was used to deploy an application in the instance group.', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************', 'title' => ''], + 'GroupType' => ['description' => 'The type of the instance group. Valid values:'."\n" + ."\n" + .'- 0: default group'."\n" + ."\n" + .'- 1: self-managed group'."\n" + ."\n" + .'- 2: canary release group', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DeployRecordList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployRecord' => [ + 'description' => 'The information about deployment records.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of deployment records.', + 'type' => 'object', + 'properties' => [ + 'EccId' => ['description' => 'The unique ID of the ECC.', 'type' => 'string', 'example' => '0cf49a6c-95a8-4aa8-****-************', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU.', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************', 'title' => ''], + 'PackageMd5' => ['description' => 'The MD5 hash value of the deployment package.', 'type' => 'string', 'example' => 'd0db5bcb442e492104d0f00e10a03dd9', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the deployment record was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626226691', 'title' => ''], + 'PackageVersionId' => ['description' => 'The version of the deployment package that was used to deploy an application in the instance group.', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************', 'title' => ''], + 'DeployRecordId' => ['description' => 'The ID of the deployment record.', 'type' => 'string', 'example' => 'bbc6c0d5-d792-4907-****-************', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Application' => [ + 'description' => 'The basic information about the application.', + 'type' => 'object', + 'properties' => [ + 'HealthCheckUrl' => ['description' => 'The health check URL.', 'type' => 'string', 'example' => '“”', 'title' => ''], + 'Owner' => ['description' => 'The ID of the user who created the application.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626207270', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'Port' => ['description' => 'The port used by the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'RunningInstanceCount' => ['description' => 'The number of application instances that are running.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Phone' => ['description' => 'The mobile number of the user who created the application.', 'type' => 'string', 'example' => '1886666****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-shenzhen:test', 'title' => ''], + 'BuildPackageId' => ['description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Dockerize' => ['description' => 'Indicates whether the application is a Docker application.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Email' => ['description' => 'The email address of the user who created the application.', 'type' => 'string', 'example' => '1234567@qq.com', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores used by the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LaunchTime' => ['description' => 'The time when the application was launched. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Memory' => ['description' => 'The memory size.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Name' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'EDAS-scaled-cluster:默认集群', 'title' => ''], + 'ApplicationId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"cd65b247-****-475b-ad4b-7039040d625c\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de*****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeployK8sApplicationResponse>\\n <ChangeOrderId>cd65b247-****-475b-ad4b-7039040d625c</ChangeOrderId>\\n <Code>200</Code>\\n <Message>success</Message>\\n <RequestId>a5281053-08e4-47a5-b2ab-5c0323de*****</RequestId>\\n</DeployK8sApplicationResponse>","errorExample":""}]', - 'title' => 'DeployK8sApplication', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-********\\",\\n \\"AppInfo\\": {\\n \\"EcuList\\": {\\n \\"Ecu\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246zg************\\",\\n \\"UpdateTime\\": 1573635952012,\\n \\"IpAddr\\": \\"172.16.*.**\\",\\n \\"AvailableCpu\\": 0,\\n \\"CreateTime\\": 1573626207270,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"InstanceId\\": \\"i-wz9fp1ljg***********\\",\\n \\"RegionId\\": \\"cn-shen****-*\\",\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"DockerEnv\\": false,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 0,\\n \\"ZoneId\\": \\"cn-shen****-*\\",\\n \\"Name\\": \\"EDAS-scaled-cluster: default cluster\\",\\n \\"HeartbeatTime\\": 1573635952012\\n }\\n ]\\n },\\n \\"EccList\\": {\\n \\"Ecc\\": [\\n {\\n \\"VpcId\\": \\"vpc-wz9b246zg************\\",\\n \\"UpdateTime\\": 1573635952012,\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"EccId\\": \\"0cf49a6c-95a8-4aa8-****-************\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"AppState\\": 7,\\n \\"TaskState\\": 3,\\n \\"CreateTime\\": 1573626226691,\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"ContainerStatus\\": \\"“”\\",\\n \\"Ip\\": \\"172.16.*.***\\"\\n }\\n ]\\n },\\n \\"GroupList\\": {\\n \\"Group\\": [\\n {\\n \\"UpdateTime\\": 1573627441388,\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"GroupId\\": \\"8123db90-880f-486f-****-************\\",\\n \\"CreateTime\\": 1573626155185,\\n \\"AppVersionId\\": \\"changeorder_a**_*******_**\\",\\n \\"AppId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"PackageVersionId\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"GroupType\\": 0,\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\"\\n }\\n ]\\n },\\n \\"DeployRecordList\\": {\\n \\"DeployRecord\\": [\\n {\\n \\"EccId\\": \\"0cf49a6c-95a8-4aa8-****-************\\",\\n \\"EcuId\\": \\"07bd417a-b863-477d-****-************\\",\\n \\"PackageMd5\\": \\"d0db5bcb442e492104d0f00e10a03dd9\\",\\n \\"CreateTime\\": 1573626226691,\\n \\"PackageVersionId\\": \\"441beb18-da42-44dc-****-************\\",\\n \\"DeployRecordId\\": \\"bbc6c0d5-d792-4907-****-************\\"\\n }\\n ]\\n },\\n \\"Application\\": {\\n \\"HealthCheckUrl\\": \\"“”\\",\\n \\"Owner\\": \\"edas_com***_****@******-*****.***\\",\\n \\"CreateTime\\": 1573626207270,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"Phone\\": \\"1886666****\\",\\n \\"RegionId\\": \\"cn-shenzhen:test\\",\\n \\"BuildPackageId\\": 0,\\n \\"Dockerize\\": false,\\n \\"Email\\": \\"1234567@qq.com\\",\\n \\"Cpu\\": 0,\\n \\"InstanceCount\\": 1,\\n \\"LaunchTime\\": 0,\\n \\"Memory\\": 0,\\n \\"Name\\": \\"EDAS-scaled-cluster:默认集群\\",\\n \\"ApplicationId\\": \\"3616cdca-4f92-4413-****-************\\",\\n \\"ClusterId\\": \\"0d247b93-8d62-4e34-****-************\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'QueryApplicationStatus', + 'summary' => 'Queries the status of an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ScaleK8sApplication' => [ - 'summary' => 'Scales out or in an application that is deployed in a Container Service for Kubernetes (ACK) cluster.', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryApplicationStatus'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'QueryEccInfo' => [ + 'path' => '/pop/v5/ecc', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '23bf94d9-****-4994-****-616a827aa777', - ], - ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of application instances after the scale-out or scale-in. The minimum number is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'minimum' => '0', - 'example' => '2', - ], - ], - [ - 'name' => 'Timeout', + 'name' => 'EccId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The ID of the ECC.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b197-40ab-9155-****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the progress of this scaling operation. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", - 'type' => 'string', - 'example' => '9d7232b2-****-****-b9d9-7e17695779ab', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], + 'EccInfo' => [ + 'description' => 'The information about the ECC.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-23727****', 'title' => ''], + 'EccId' => ['description' => 'ECC ID', 'type' => 'string', 'example' => 'a5b9****-40b4-4d7b-9c2a-55d6c1c0****', 'title' => ''], + 'EcuId' => ['description' => 'ECU ID', 'type' => 'string', 'example' => '0d4e****-6d87-401f-ba81-13df9877****', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the ECC group.', 'type' => 'string', 'example' => '57cd****-2d3b-496f-bcce-646d0a4d****', 'title' => ''], + 'GroupName' => ['description' => 'The name of the ECC group.', 'type' => 'string', 'example' => '_DEFAULT_GROUP', 'title' => ''], + 'PackageMd5' => ['description' => 'The MD5 hash value of the deployment package version.', 'type' => 'string', 'example' => 'bab6****7a090e41ca9445c9b3cd****', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the deployment package.', 'type' => 'string', 'example' => '20210209.153400', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"9d7232b2-****-****-b9d9-7e17695779ab\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>9d7232b2-****-****-b9d9-7e17695779ab</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + 'title' => 'QueryEccInfo', + 'summary' => 'Queries details about an elastic compute container (ECC). This operation is applicable to Container Service for Kubernetes (ACK) clusters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RestartK8sApplication' => [ - 'path' => '/pop/v5/k8s/acs/restart_k8s_app', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryEccInfo'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NamespaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"EccInfo\\": {\\n \\"VpcId\\": \\"vpc-23727****\\",\\n \\"EccId\\": \\"a5b9****-40b4-4d7b-9c2a-55d6c1c0****\\",\\n \\"EcuId\\": \\"0d4e****-6d87-401f-ba81-13df9877****\\",\\n \\"GroupId\\": \\"57cd****-2d3b-496f-bcce-646d0a4d****\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"PackageMd5\\": \\"bab6****7a090e41ca9445c9b3cd****\\",\\n \\"AppId\\": \\"e809****-43d7-4c6b-8e01-b0d9d1db****\\",\\n \\"PackageVersion\\": \\"20210209.153400\\"\\n }\\n}","type":"json"}]', + ], + 'QueryMigrateEcuList' => [ + 'path' => '/pop/v5/resource/migrate_ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-********ed2ae98de18d', - ], - ], - [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the change process. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The ID of the namespace.'."\n" + ."\n" + .'- The ID of a custom namespace is in the `region ID:namespace identifier` format. Example: `cn-beijing:test`.'."\n" + ."\n" + .'- The ID of the default namespace is in the `region ID` format. Example: `cn-beijing`.', 'type' => 'string', 'example' => 'cn-hangzhou or cn-hangzhou:test', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '*********-ed2ae98de18d', - ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'EcuEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => 'The information about ECUs that can be migrated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-2zef6ob8m************', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the ECU was updated. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041109', 'title' => ''], + 'IpAddr' => ['description' => 'The private IP address of the ECU.', 'type' => 'string', 'example' => '192.168.0.150', 'title' => ''], + 'AvailableCpu' => ['description' => 'The number of available CPUs. Unit: cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ECU was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041101', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account to which the ECU belongs.', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECU.', 'type' => 'string', 'example' => 'i-2zej4i2jd***********', 'title' => ''], + 'Mem' => ['description' => 'The total size of memory.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the ECU resides.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'EcuId' => ['description' => 'The unique ID of the ECU. To query the ID, you can run the `dmidecode` command on the ECS instance that corresponds to the ECU.', 'type' => 'string', 'example' => '70ed3f59-b476-49aa-****-************', 'title' => ''], + 'Cpu' => ['description' => 'The CPU quota set by the system. Unit: cores. The value 0 indicates that no quota is set by the system.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DockerEnv' => ['description' => 'Indicates whether Docker is installed. Valid values:'."\n" + ."\n" + .'- true: Docker is installed.'."\n" + ."\n" + .'- false: Docker is not installed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Online' => ['description' => 'Indicates whether the ECU is online. Valid values:'."\n" + ."\n" + .'- true: The ECU is online.'."\n" + ."\n" + .'- false: The ECU is offline.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AvailableMem' => ['description' => 'The size of available memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone where the ECU resides.', 'type' => 'string', 'example' => 'cn-bei****-*', 'title' => ''], + 'Name' => ['description' => 'The name of the ECU.', 'type' => 'string', 'example' => 'product_test003', 'title' => ''], + 'HeartbeatTime' => ['description' => 'The time when the last heartbeat detection was performed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041101', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"*********-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>*********-ed2ae98de18d</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', - 'summary' => 'Restarts an application that is deployed in a Container Service for Kubernetes (ACK) cluster or a serverless Kubernetes cluster.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"EcuEntityList\\": {\\n \\"EcuEntity\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zef6ob8m************\\",\\n \\"UpdateTime\\": 1573281041109,\\n \\"IpAddr\\": \\"192.168.0.150\\",\\n \\"AvailableCpu\\": 2,\\n \\"CreateTime\\": 1573281041101,\\n \\"UserId\\": \\"edas_com***_****@******-*****.***\\",\\n \\"InstanceId\\": \\"i-2zej4i2jd***********\\",\\n \\"Mem\\": 0,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"EcuId\\": \\"70ed3f59-b476-49aa-****-************\\",\\n \\"Cpu\\": 0,\\n \\"DockerEnv\\": false,\\n \\"Online\\": true,\\n \\"AvailableMem\\": 2048,\\n \\"ZoneId\\": \\"cn-bei****-*\\",\\n \\"Name\\": \\"product_test003\\",\\n \\"HeartbeatTime\\": 1573281041101\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'QueryMigrateEcuList', + 'summary' => 'Queries the elastic compute units (ECUs) that can be migrated.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ConvertK8sResource' => [ - 'path' => '/pop/v5/oam/k8s_resource_convert', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateEcuList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:QueryMigrateEcuList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'QueryMigrateRegionList' => [ + 'path' => '/pop/v5/resource/migrate_region_select', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource that is used. Set the value to deployment.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'deployment', - 'default' => '', - ], - ], - [ - 'name' => 'ResourceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'deployment-to-convert', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - 'default' => '', - ], - ], - [ - 'name' => 'ClusterId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the ListCluster operation to query the cluster ID. For more information, see [ListCluster](~~154995~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b07c8192-****-adf4f7447720', - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'convert success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BA938591-*********-9690-BFD3F4DD7A93', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'RegionEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionEntity' => [ + 'description' => 'The namespaces.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'Beta', 'title' => ''], + 'RegionNo' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-beijing:beta', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"convert success\\",\\n \\"RequestId\\": \\"BA938591-*********-9690-BFD3F4DD7A93\\"\\n}","type":"json"}]', - 'summary' => 'Converts a Deployment into an application.', - ], - 'AbortAndRollbackChangeOrder' => [ - 'path' => '/pop/v5/changeorder/change_order_abort_and_rollback', - 'methods' => [ - 'put', + 'title' => 'QueryMigrateRegionList', + 'summary' => 'Queries the namespaces to which an instance can be migrated.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateRegionList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:QueryMigrateRegionList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionEntityList\\": {\\n \\"RegionEntity\\": [\\n {\\n \\"RegionName\\": \\"Beta\\",\\n \\"RegionNo\\": \\"cn-beijing:beta\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryRegionConfig' => [ + 'path' => '/pop/v5/region_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'ChangeOrderId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '6b55106c-c7f2-40f7-a1d4-092870*****', - ], - ], - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '81E0B333-2871-****-****-B8F5FF43****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '210f07bf1640239405712621******', - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The information about the change process.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7', 'title' => ''], + 'RegionConfig' => [ + 'description' => 'The information about region configurations.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '4f40e616-cdcd-4250-a018-efd459******', + 'No' => ['description' => 'The serial number of the region. This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AddressServerHost' => ['description' => 'The domain name of Address Server.', 'type' => 'string', 'example' => '****.edas.aliyun.com', 'title' => ''], + 'Tag' => ['description' => 'The tag of the region. The value is fixed to `ALIYUN_SHARE`.', 'type' => 'string', 'example' => 'ALIYUN_SHARE', 'title' => ''], + 'AgentInstallScript' => ['description' => 'The installation path of the script for EDAS Agent.', 'type' => 'string', 'example' => 'http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh', 'title' => ''], + 'FileServerType' => ['description' => 'The type of the file server.', 'type' => 'string', 'example' => 'oss', 'title' => ''], + 'Name' => ['description' => 'The configured name of the region.', 'type' => 'string', 'example' => '华北2', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the official image.', 'type' => 'string', 'example' => 'm-2zea4hx8f9zxqah2****', 'title' => ''], + 'Id' => ['description' => 'The configured ID of the region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'FileServerConfig' => [ + 'description' => 'The information about the file server.', + 'type' => 'object', + 'properties' => [ + 'InternalUrl' => ['description' => 'The internal endpoint of the file server.', 'type' => 'string', 'example' => 'oss-cn-beijing-****.aliyuncs.com', 'title' => ''], + 'PublicUrl' => ['description' => 'The public endpoint of the file server.', 'type' => 'string', 'example' => 'oss-cn-beijing.aliyuncs.com', 'title' => ''], + 'VpcUrl' => ['description' => 'The virtual private cloud (VPC) endpoint of the file server.', 'type' => 'string', 'example' => 'v*****-oss-cn-beijing.aliyuncs.com', 'title' => ''], + 'Bucket' => ['description' => 'The Object Storage Service (OSS) bucket of the file server.', 'type' => 'string', 'example' => 'edas-bj', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"81E0B333-2871-****-****-B8F5FF43****\\",\\n \\"TraceId\\": \\"210f07bf1640239405712621******\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f40e616-cdcd-4250-a018-efd459******\\"\\n }\\n}","type":"json"}]', - 'summary' => 'Terminates a change process and rolls back the application. This operation is applicable to applications that are deployed in Container Service for Kubernetes (ACK) clusters.', - ], - 'UpdateLocalitySetting' => [ - 'summary' => 'Updates local configurations.', - 'path' => '/pop/sp/applications/locality/setting', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryRegionConfig', + 'summary' => 'Queries the configurations of different regions that are supported by Enterprise Distributed Application Service (EDAS).', + 'requestParamsDescription' => 'No request parameters.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryRegionConfig'], + ], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-7ca7\\",\\n \\"RegionConfig\\": {\\n \\"No\\": 1,\\n \\"AddressServerHost\\": \\"****.edas.aliyun.com\\",\\n \\"Tag\\": \\"ALIYUN_SHARE\\",\\n \\"AgentInstallScript\\": \\"http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh\\",\\n \\"FileServerType\\": \\"oss\\",\\n \\"Name\\": \\"华北2\\",\\n \\"ImageId\\": \\"m-2zea4hx8f9zxqah2****\\",\\n \\"Id\\": \\"cn-beijing\\",\\n \\"FileServerConfig\\": {\\n \\"InternalUrl\\": \\"oss-cn-beijing-****.aliyuncs.com\\",\\n \\"PublicUrl\\": \\"oss-cn-beijing.aliyuncs.com\\",\\n \\"VpcUrl\\": \\"v*****-oss-cn-beijing.aliyuncs.com\\",\\n \\"Bucket\\": \\"edas-bj\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'QuerySlsLogStoreList' => [ + 'path' => '/pop/v5/k8s/sls/query_sls_log_store_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'af58edcf-f7eb-****-****-db4e425f****', 'title' => ''], ], [ - 'name' => 'NamespaceId', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The type of data that is collected by Log Service. Valid values:'."\n" + ."\n" + .'- file: the file type'."\n" + ."\n" + .'- stdout: the standard output type', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'file', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'bfa00cfb-9642-4292-bb78-1d7d4c86004c', - ], + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'Enabled', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'false', - ], - ], - [ - 'name' => 'Threshold', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -19601,818 +14518,658 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Code' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Threshold' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '15', - ], - 'Enabled' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'd6834ee9-5045-*************', 'title' => ''], + 'TotalSize' => ['description' => 'The number of log sources configured for the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Result' => [ + 'description' => 'The configurations of Log Service for the application.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Link' => ['description' => 'The URL of the logging service.', 'type' => 'string', 'example' => 'https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the logging service was created.', 'type' => 'string', 'example' => '2020-05-18 22:08:46', 'title' => ''], + 'Logstore' => ['description' => 'The name of the Logstore.', 'type' => 'string', 'example' => 'thisisatestlogstore', 'title' => ''], + 'ConsumerSide' => ['description' => 'The type of the logging service.', 'type' => 'string', 'example' => 'SLS log service', 'title' => ''], + 'Project' => ['description' => 'The name of the project.', 'type' => 'string', 'example' => 'k8s-log-c846f28edbd1d4c6aa9d78c0e********', 'title' => ''], + 'Source' => ['description' => 'The source of logs. Valid values:'."\n" + ."\n" + .'- Standard output: stdout.log'."\n" + ."\n" + .'- File log: the directory that stores logs', 'type' => 'string', 'example' => '/var/log/*', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d6834ee9-5045-*************\\",\\n \\"TotalSize\\": 1,\\n \\"Result\\": [\\n {\\n \\"Link\\": \\"https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss\\",\\n \\"CreateTime\\": \\"2020-05-18 22:08:46\\",\\n \\"Logstore\\": \\"thisisatestlogstore\\",\\n \\"ConsumerSide\\": \\"SLS log service\\",\\n \\"Project\\": \\"k8s-log-c846f28edbd1d4c6aa9d78c0e********\\",\\n \\"Source\\": \\"/var/log/*\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'QuerySlsLogStoreList', + 'summary' => 'Queries the configuration details of Log Service for an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de*****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Threshold\\": 15,\\n \\"Enabled\\": true\\n }\\n}","type":"json"}]', - 'title' => 'UpdateLocalitySetting', + 'translator' => 'manual', ], - 'DeleteServiceGroup' => [ - 'summary' => 'Deletes a service group.', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ResetApplication' => [ + 'path' => '/pop/v5/changeorder/co_reset', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'GroupId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service group that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '789d9cda-74b1-****-****-05e21a0a7661', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92*********', 'title' => ''], + ], + [ + 'name' => 'EccInfo', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the elastic compute container (ECC) for which you want to reset the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '0cf49a6c-***********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F38****', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this operation. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", 'type' => 'string', 'example' => '1c66548e-a082-40************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D16979DC-4D42-*********', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F38****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteServiceGroup', + 'title' => 'ResetApplication', + 'summary' => 'Resets an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceConsumersPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceConsumersPage', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"1c66548e-a082-40************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*********\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>1c66548e-a082-40************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'RestartApplication' => [ + 'path' => '/pop/v5/changeorder/co_restart', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d*******', 'title' => ''], ], [ - 'name' => 'namespace', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => 'The ID of the elastic compute container (ECC) that corresponds to the ECS instance on which you want to restart the application. You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n" + ."\n" + .'* Separate multiple ECC IDs with commas (,).'."\n" + .'* If you leave this parameter empty, the application will be restarted on all the ECS instances deployed with the application.'."\n", 'type' => 'string', 'required' => false, 'example' => '006c0ea5-5f8d-4398-af1e-**********', 'title' => ''], ], - [ - 'name' => 'origin', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The source of the data. Valid values:'."\n" - ."\n" - .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" - .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'agent', + 'description' => 'The content that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.'."\n" + ."\n" + .'You can call the GetChangeOrderInfo operation to query the progress of this restart. For more information, see [GetChangeOrderInfo](~~62072~~).'."\n", 'type' => 'string', 'example' => 'a9557bac-ddd7-*********************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D16979DC-4D42-****************', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'serviceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dubbo', - ], + ], + 'title' => 'RestartApplication', + 'summary' => 'Restarts an application. This operation is suitable for applications that are deployed on Elastic Compute Service (ECS) instances.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartApplication'], ], + ], + 'ramActions' => [ [ - 'name' => 'appId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"a9557bac-ddd7-*********************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>a9557bac-ddd7-*********************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'RestartK8sApplication' => [ + 'path' => '/pop/v5/k8s/acs/restart_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'source', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the service. Set the value to edas.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to obtain this ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '93fdd228-********ed2ae98de18d'], ], [ - 'name' => 'serviceName', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The timeout period for the change process, in seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '60'], ], - [ - 'name' => 'serviceVersion', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The version of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', + 'description' => 'The API response.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process for this operation.', 'type' => 'string', 'title' => '', 'example' => '*********-ed2ae98de18d'], + 'Code' => ['description' => 'The status of the API call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'group', - 'in' => 'query', - 'schema' => [ - 'description' => 'The service group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + ], + 'errorCodes' => [], + 'title' => 'RestartK8sApplication', + 'summary' => 'Call the RestartK8sApplication operation to restart an application deployed in a Container Service for Kubernetes (ACK) cluster or a Serverless Kubernetes (ASK) cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartK8sApplication'], ], + ], + 'ramActions' => [ [ - 'name' => 'ip', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'edas:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"*********-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","type":"json"}]', + ], + 'RetryChangeOrderTask' => [ + 'path' => '/pop/v5/changeorder/task_retry', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'registryType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'page', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the change order task.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '823-bhjf-23u4-eiuf*', 'title' => ''], ], [ - 'name' => 'size', + 'name' => 'RetryStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The retry status.', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'TotalPages' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Size' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Content' => [ - 'description' => 'The data array that is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of the data array.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address of the service consumer.'."\n", - 'type' => 'string', - 'example' => '10.20.x.xx', - ], - 'EdasAppName' => [ - 'description' => 'The name of the service consumer.'."\n", - 'type' => 'string', - 'example' => 'k8s-lq-cartservice', - ], - 'EdassAppId' => [ - 'description' => 'The ID of the service consumer.'."\n", - 'type' => 'string', - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The status of the API call or a POP error code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'Information about the retry.', 'type' => 'string', 'example' => 'success retry task', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 3,\\n \\"Size\\": 5,\\n \\"Content\\": [\\n {\\n \\"Ip\\": \\"10.20.x.xx\\",\\n \\"EdasAppName\\": \\"k8s-lq-cartservice\\",\\n \\"EdassAppId\\": \\"efbda488-7b33-432f-a40d-****0047****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceConsumersPage>\\n<Message>success</Message>\\n<Data>\\n <Size>5</Size>\\n <Content>\\n <EdassAppId>efbda488-7b33-432f-a40d-****0047****</EdassAppId>\\n <EdasAppName>k8s-lq-cartservice</EdasAppName>\\n <Ip>10.20.x.xx</Ip>\\n </Content>\\n <TotalElements>3</TotalElements>\\n <TotalPages>1</TotalPages>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceConsumersPage>","errorExample":""}]', - 'title' => 'GetServiceConsumersPage', - 'summary' => 'Queries service consumers.', + 'title' => 'RetryChangeOrderTask', + 'summary' => 'Call the RetryChangeOrderTask operation to retry a failed change order task.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceListPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceListPage', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"success retry task\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","type":"json"}]', + ], + 'RollbackApplication' => [ + 'path' => '/pop/v5/changeorder/co_rollback', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The application ID. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~423162~~).', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-4413-************', 'title' => ''], ], [ - 'name' => 'namespace', + 'name' => 'HistoryVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => 'The historical version to which you want to roll back the application. Call the ListHistoryDeployVersion operation to query the historical versions of the application. Then, set this parameter based on the returned value of `PackageVersion`. For more information, see [ListHistoryDeployVersion](~~423163~~).', 'type' => 'string', 'required' => true, 'example' => '2019-11-13 14:22:22', 'title' => ''], ], [ - 'name' => 'origin', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the data. Valid values:'."\n" - ."\n" - .'* `agent`: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" - .'* `registry`: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Agent', - ], + 'schema' => ['description' => 'The application group ID. You can call the ListDeployGroup operation to query the application group ID. For more information, see [ListDeployGroup](~~423184~~).'."\n" + ."\n" + .'If you need to roll back the application in all application groups, set this parameter to `all`.', 'type' => 'string', 'required' => true, 'example' => '8123db90-880f-48***************', 'title' => ''], ], [ - 'name' => 'serviceType', + 'name' => 'Batch', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* `dubbo`'."\n" - .'* `springCloud`'."\n" - .'* `hsf`'."\n" - .'* `istio`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpringCloud', - ], + 'schema' => ['description' => 'The number of batches for the rollback. Default value: 1. Valid values: 1 to 5.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'searchType', + 'name' => 'BatchWaitTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* `app`: searches by application.'."\n" - .'* `service`: searches by service.'."\n" - .'* `providerIp`: searches by IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'App', - ], + 'schema' => ['description' => 'The wait time between batches. Default value: 0. The default value indicates no wait time. Valid values: 0 to 5. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], - [ - 'name' => 'searchValue', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The keyword used for the search.'."\n" - ."\n" - .'* Set this parameter to the ID of the application if you set the searchType parameter to app.``'."\n" - .'* Set this parameter to the name of the service if you set the serachType parameter to service.``'."\n" - .'* Set this parameter to the IP address of the application if you set the searchType parameter to providerIp.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibaba.edas.HelloService', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The change process ID. You can call the GetChangeOrderInfo operation to query the progress of this rollback. For more information, see [GetChangeOrderInfo](~~423155~~).', 'type' => 'string', 'example' => '921026b8-d1be-************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D16979DC-4D42-*********', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'RollbackApplication', + 'summary' => 'Rolls back an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackApplication'], + ], + ], + 'ramActions' => [ [ - 'name' => 'side', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the provider side or the consumer side. Valid values:'."\n" - ."\n" - .'* provider'."\n" - .'* consumer'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'provider', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"921026b8-d1be-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*********\\"\\n}","type":"json"}]', + ], + 'RollbackChangeOrder' => [ + 'summary' => 'Terminates an application change process and rolls back the application. This operation is applicable to applications that are deployed in Elastic Compute Service (ECS) clusters.', + 'path' => '/pop/v5/oam/changeorder/rollback', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'page', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from Page 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'size', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the change process.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc5133d7-773f-4c81-****-e2103dce****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace.', 'type' => 'string', 'example' => '000000000000000000000000000000', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The information about the change process.', 'type' => 'object', 'properties' => [ - 'TotalPages' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Size' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'Content' => [ - 'description' => 'The data array that is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'EdasAppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'k8s-lq-cartservice', - ], - 'InstanceNum' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Version' => [ - 'description' => 'The version number.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'ServiceId' => [ - 'description' => 'The ID of the service.'."\n", - 'type' => 'string', - 'example' => 'xx', - ], - 'EdasAppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'efbda488-7b33-432f-****-36530047****', - ], - 'ServiceName' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], - 'RegisterType' => [ - 'description' => 'The type of the service registry.'."\n", - 'type' => 'string', - 'example' => 'xx', - ], - 'Group' => [ - 'description' => 'The service group.'."\n", - 'type' => 'string', - 'example' => 'DUBBO', - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '4f40e616-cdcd-4250-a018-efd4599c****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 6,\\n \\"Size\\": 8,\\n \\"Content\\": [\\n {\\n \\"EdasAppName\\": \\"k8s-lq-cartservice\\",\\n \\"InstanceNum\\": 1,\\n \\"Version\\": \\"1.0.0\\",\\n \\"ServiceId\\": \\"xx\\",\\n \\"EdasAppId\\": \\"efbda488-7b33-432f-****-36530047****\\",\\n \\"ServiceName\\": \\"com.alibabacloud.hipstershop.CartService\\",\\n \\"RegisterType\\": \\"xx\\",\\n \\"Group\\": \\"DUBBO\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceListPageResponse>\\n <Code>200</Code>\\n <Message>success</Message>\\n <Success>true</Success>\\n <Data>\\n <TotalPages>1</TotalPages>\\n <TotalElements>6</TotalElements>\\n <Size>8</Size>\\n <Content>\\n <EdasAppName>k8s-lq-cartservice</EdasAppName>\\n <InstanceNum>1</InstanceNum>\\n <Version>1.0.0</Version>\\n <ServiceId>xx</ServiceId>\\n <EdasAppId>efbda488-7b33-432f-****-36530047****</EdasAppId>\\n <ServiceName>com.alibabacloud.hipstershop.CartService</ServiceName>\\n <RegisterType>xx</RegisterType>\\n <Group>DUBBO</Group>\\n </Content>\\n </Data>\\n</GetServiceListPageResponse>","errorExample":""}]', - 'title' => 'GetServiceListPage', - 'summary' => 'Queries services.', + 'errorCodes' => [], + 'title' => 'RollbackChangeOrder', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceMethodPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceMethodPage', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackChangeOrder'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B909AB1F-3763-4963-B1CE-0BDFA192****\\",\\n \\"TraceId\\": \\"000000000000000000000000000000\\",\\n \\"ErrorCode\\": \\"success\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4f40e616-cdcd-4250-a018-efd4599c****\\"\\n }\\n}","type":"json"}]', + ], + 'ScaleInApplication' => [ + 'summary' => 'Scales in the instances of an application.', + 'path' => '/pop/v5/changeorder/co_scale_in', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-44***********************', 'title' => ''], ], [ - 'name' => 'namespace', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance to be removed for the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '7040f221-42df-48e8-9*******************', 'title' => ''], ], [ - 'name' => 'origin', + 'name' => 'ForceStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the data. Valid values:'."\n" - ."\n" - .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" - .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => 'Specifies whether to forcibly unpublish the application from the ECS instance. You need to set this parameter to true only if the ECS instance expires. In normal cases, you do not need to set this parameter to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], - [ - 'name' => 'serviceType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* dubbo: Dubbo service'."\n" - .'* springCloud: Spring Cloud service'."\n" - .'* hsf: High-speed Service Framework (HSF) service'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this scale-in. For more information, see [GetChangeOrderInfo](~~62072~~). No ID is generated if the ForceStatus parameter is set to true. You can check whether the request is successful based on the value of the Code parameter.'."\n", 'type' => 'string', 'example' => 'ddf5a4c7-a507-4a6e****************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'appId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '310b18c3-1dbe-4807-****-18d7d637****', - ], + ], + 'title' => 'ScaleInApplication', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleInApplication'], ], + ], + 'ramActions' => [ [ - 'name' => 'source', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the service. Set the value to edas.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"ddf5a4c7-a507-4a6e****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ChangeOrderId>ddf5a4c7-a507-4a6e****************</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'ScaleK8sApplication' => [ + 'summary' => 'Scales out or scales down application instances in a Container Service for Kubernetes (K8s) cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_apps', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'serviceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas.service.consumer', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'serviceName', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas.service.consumer', - ], + 'schema' => ['description' => 'The ID of the application. Call the [ListApplication](~~149390~~) operation to obtain the application ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '23bf94d9-****-4994-****-616a827aa777'], ], [ - 'name' => 'serviceVersion', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The target number of application instances. The minimum value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'minimum' => '0', 'title' => '', 'example' => '2'], ], [ - 'name' => 'group', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The group to which the service belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => 'The timeout period for the change process, in seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '60'], ], - [ - 'name' => 'ip', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The IP address of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '127.0.0.1', + 'description' => 'The API response.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process. Call the [GetChangeOrderInfo](~~62072~~) operation to query the progress of the scaling task.', 'type' => 'string', 'title' => '', 'example' => '9d7232b2-****-****-b9d9-7e17695779ab'], + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'registryType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service registry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + ], + 'errorCodes' => [], + 'title' => 'ScaleK8sApplication', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleK8sApplication'], ], + ], + 'ramActions' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"9d7232b2-****-****-b9d9-7e17695779ab\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\"\\n}","type":"json"}]', + ], + 'ScaleOutApplication' => [ + 'summary' => 'Scales out an application.', + 'path' => '/pop/v5/changeorder/co_scale_out', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'methodController', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The controller method.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliware.edas.DemoController', - ], + 'schema' => ['description' => 'The ID of the application that you want to scale out. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413*****************', 'title' => ''], ], [ - 'name' => 'path', + 'name' => 'EcuInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The request path.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/echo/{str}', - ], + 'schema' => ['description' => 'The ID of the elastic compute unit (ECU) that corresponds to the Elastic Compute Service (ECS) instance to be added to the instance group for scale-out. You can call the ListScaleOutEcu operation to query the ECU ID. For more information, see [ListScaleOutEcu](~~149371~~). Separate multiple ECU IDs with commas (,).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8123db90-880f-486f-b***************', 'title' => ''], ], [ - 'name' => 'name', + 'name' => 'DeployGroup', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the method.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => 'The ID of the instance group where the application you want to scale out is deployed. You can call the QueryApplicationStatus operation to query the group ID. For more information, see [QueryApplicationStatus](~~149394~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f1fb6f5-6769-4bd6******************', 'title' => ''], ], ], 'responses' => [ @@ -20420,156 +15177,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'HttpCode' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BDC0C0FE-D63B-4FC8-****-4081C57E****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Result' => [ - 'description' => 'The data about the method.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterDetails' => [ - 'description' => 'The details of the parameters.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'NameDetail' => [ - 'description' => 'The details of the method.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'ParameterNames' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'ParameterDefinitions' => [ - 'description' => 'The definition of the parameter.'."\n", - 'type' => 'string', - 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', - ], - 'Paths' => [ - 'description' => 'The method path.'."\n", - 'type' => 'string', - 'example' => '/consumer/alive', - ], - 'ParameterTypes' => [ - 'description' => 'The data type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'RequestMethods' => [ - 'description' => 'The request method.'."\n", - 'type' => 'string', - 'example' => 'GET', - ], - 'ReturnDetails' => [ - 'description' => 'The details of the response.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'Name' => [ - 'description' => 'The name of the method.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'MethodController' => [ - 'description' => 'The method.'."\n", - 'type' => 'string', - 'example' => 'com.aliware.edas.EchoController', - ], - 'ReturnType' => [ - 'description' => 'The data format of the response.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'ReturnDefinition' => [ - 'description' => 'The return value.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The data format of the response.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'Id' => [ - 'description' => 'The ID of the return value.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the progress of this scale-out. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'example' => 'f4208118-7171-4e20-92************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-***********************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpCode\\": \\"200\\",\\n \\"RequestId\\": \\"BDC0C0FE-D63B-4FC8-****-4081C57E****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 6,\\n \\"Result\\": [\\n {\\n \\"ParameterDetails\\": \\"{}\\",\\n \\"NameDetail\\": \\"name\\",\\n \\"ParameterNames\\": \\"echo\\",\\n \\"ParameterDefinitions\\": \\"[{\\\\\\"description\\\\\\":\\\\\\"\\\\\\",\\\\\\"name\\\\\\":\\\\\\"arg0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"java.lang.String\\\\\\"}]\\",\\n \\"Paths\\": \\"/consumer/alive\\",\\n \\"ParameterTypes\\": \\"java.lang.String\\",\\n \\"RequestMethods\\": \\"GET\\",\\n \\"ReturnDetails\\": \\"java.lang.String\\",\\n \\"Name\\": \\"echo\\",\\n \\"MethodController\\": \\"com.aliware.edas.EchoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDefinition\\": {\\n \\"Type\\": \\"java.lang.String\\",\\n \\"Id\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceMethodPage>\\n<HttpCode>200</HttpCode>\\n<RequestId>BDC0C0FE-D63B-4FC8-****-4081C57E****</RequestId>\\n<Message>success</Message>\\n<Data>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <TotalSize>6</TotalSize>\\n <Result>\\n <ParameterDefinitions>[{\\"description\\":\\"\\",\\"name\\":\\"arg0\\",\\"type\\":\\"java.lang.String\\"}]</ParameterDefinitions>\\n <ParameterNames>echo</ParameterNames>\\n <ParameterDetails>{}</ParameterDetails>\\n <MethodController>com.aliware.edas.EchoController</MethodController>\\n <Paths>/consumer/alive</Paths>\\n <RequestMethods>GET</RequestMethods>\\n <ParameterTypes>java.lang.String</ParameterTypes>\\n <ReturnType>java.lang.String</ReturnType>\\n <ReturnDetails>java.lang.String</ReturnDetails>\\n <NameDetail>name</NameDetail>\\n <Name>echo</Name>\\n </Result>\\n <Result>\\n <ReturnDefinition>\\n <Type>java.lang.String</Type>\\n <Id>1</Id>\\n </ReturnDefinition>\\n </Result>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceMethodPage>","errorExample":""}]', - 'title' => 'GetServiceMethodPage', - 'summary' => 'Queries service methods.', + 'title' => 'ScaleOutApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceProvidersPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceProvidersPage', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleOutApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"f4208118-7171-4e20-92************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-***********************\\"\\n}","type":"json"}]', + ], + 'ScaleoutApplicationWithNewInstances' => [ + 'summary' => 'Purchases Elastic Compute Service (ECS) instances in the Enterprise Distributed Application Service (EDAS) console and adds the purchased ECS instances to the specified instance group of an application.', + 'path' => '/pop/v5/scaling/scale_out', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20577,282 +15225,177 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'high', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'namespace', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => 'The ID of the application that you want to scale out. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'e370c17f-*****-3df0721a327', 'title' => ''], ], [ - 'name' => 'origin', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of data. Valid values:'."\n" - ."\n" - .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" - .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => 'The ID of the instance group that you want to scale out. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'e37**********-33df0721a327', 'title' => ''], ], [ - 'name' => 'serviceType', + 'name' => 'ScalingNum', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* dubbo: Dubbo service'."\n" - .'* springCloud: Spring Cloud service'."\n" - .'* hsf: High-speed Service Framework (HSF) service'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dubbo', - ], + 'schema' => ['description' => 'The number of instances to be added for the scale-out.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '2', 'title' => ''], ], [ - 'name' => 'appId', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], + 'schema' => ['description' => 'The ID of the ECS instance launch template. You can call the DescribeLaunchTemplates operation to query the launch template ID. For more information, see [DescribeLaunchTemplates](~~73759~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'lt-****hy9s2 ', 'title' => ''], ], [ - 'name' => 'source', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the service. Set the value to edas.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + 'schema' => ['description' => 'The version of the ECS instance launch template. You can call the DescribeLaunchTemplateVersions operation to query the launch template version. For more information, see [DescribeLaunchTemplateVersions](~~73761~~).'."\n" + ."\n" + .'> If you set this parameter to `-1`, the default launch template version is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '-1', 'title' => ''], ], [ - 'name' => 'serviceId', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode'."\n" + .'* release: release mode'."\n" + ."\n" + .'For more information about how to remove instances from a specified scaling group, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''], ], [ - 'name' => 'serviceName', + 'name' => 'TemplateInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The ID of the existing ECS instance used for the scale-out. If this parameter is specified, the specifications and configurations of the specified ECS instance are used as a template to purchase new instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], ], [ - 'name' => 'serviceVersion', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The ID of the cluster to which you want to add ECS instances. If the application and application instance group for the scale-out are specified, this parameter is ignored.'."\n", 'type' => 'string', 'required' => false, 'example' => 'e37**********-33df0721a327', 'title' => ''], ], [ - 'name' => 'group', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The group to which the service belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => 'The billing method of the instance. Valid values:'."\n" + ."\n" + .'* PrePaid: subscription.'."\n" + .'* PostPaid: pay-as-you-go. This is the default value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PrePaid', 'title' => ''], ], [ - 'name' => 'ip', + 'name' => 'InstanceChargePeriodUnit', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', - ], + 'schema' => ['description' => 'The unit of the subscription period. Valid values:'."\n" + ."\n" + .'* Week: billed on a weekly basis.'."\n" + .'* Month: billed on a monthly basis. This is the default value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ - 'name' => 'registryType', + 'name' => 'InstanceChargePeriod', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'schema' => ['description' => 'The duration of the subscription. The unit of the subscription duration is specified by the InstanceChargePeriodUnit parameter. This parameter takes effect only when the InstanceChargeType parameter is set to PrePaid.'."\n" + ."\n" + .'* If the InstanceChargePeriodUnit parameter is set to Week, the valid values of the InstanceChargePeriod parameter are 1, 2, 3, and 4.'."\n" + .'* If the InstanceChargePeriodUnit parameter is set to Month, the valid values of the InstanceChargePeriod parameter are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'page', + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from Page 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies whether to enable auto-renewal. This parameter takes effect only when the InstanceChargeType parameter is set to PrePaid. Valid values:'."\n" + ."\n" + .'* true: enables auto-renewal.'."\n" + .'* false: does not enable auto-renewal. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'size', + 'name' => 'AutoRenewPeriod', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The auto-renewal period. Valid values:'."\n" + ."\n" + .'* If the InstanceChargePeriodUnit parameter is set to Week, the valid values of the AutoRenewPeriod parameter are 1, 2, and 3.'."\n" + .'* If the InstanceChargePeriodUnit parameter is set to Month, the valid values of the AutoRenewPeriod parameter are 1, 2, 3, 6, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content returned.'."\n", + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'The data structure.'."\n", - 'type' => 'object', - 'properties' => [ - 'TotalPages' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Size' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Content' => [ - 'description' => 'The data array returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the data array.'."\n", - 'type' => 'object', - 'properties' => [ - 'Timeout' => [ - 'description' => 'The service timeout period.'."\n", - 'type' => 'string', - 'example' => '1000', - ], - 'Ip' => [ - 'description' => 'The IP address of the service provider.'."\n", - 'type' => 'string', - 'example' => '10.20.XX.XX', - ], - 'Port' => [ - 'description' => 'The port number of the service provider.'."\n", - 'type' => 'string', - 'example' => '12345', - ], - 'Iannotations' => [ - 'description' => 'The remarks of the service provider.'."\n", - 'type' => 'string', - 'example' => '172.178.XX.XX', - ], - 'SerializeType' => [ - 'description' => 'The serialization type.'."\n", - 'type' => 'string', - 'example' => 'hessian2', - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process for the scale-out.'."\n", 'type' => 'string', 'example' => 'e370c17f-*****-3df0721a327', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'e370c17f-*****-3df0721a327', 'title' => ''], + 'InstanceIds' => [ + 'description' => 'The IDs of ECS instances.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The list of purchased ECS instances.'."\n", 'type' => 'string', 'example' => '["i-28wt4****","i-28wt4****"]', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TotalPages\\": 1,\\n \\"TotalElements\\": 1,\\n \\"Size\\": 5,\\n \\"Content\\": [\\n {\\n \\"Timeout\\": \\"1000\\",\\n \\"Ip\\": \\"10.20.XX.XX\\",\\n \\"Port\\": \\"12345\\",\\n \\"Iannotations\\": \\"172.178.XX.XX\\",\\n \\"SerializeType\\": \\"hessian2\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceProvidersPage>\\n<Message>success</Message>\\n<Data>\\n <Size>5</Size>\\n <Content>\\n <SerializeType>hessian2</SerializeType>\\n <Timeout>1000</Timeout>\\n <Port>12345</Port>\\n <Ip>10.20.x.xx</Ip>\\n </Content>\\n <TotalElements>1</TotalElements>\\n <TotalPages>1</TotalPages>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceProvidersPage>","errorExample":""}]', - 'title' => 'GetServiceProvidersPage', - 'summary' => 'Queries service providers.', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'ScaleoutApplicationWithNewInstances', + 'description' => '## Limits'."\n" + ."\n" + .'Assume that the auto scaling feature is configured and enabled for an application. When an auto scale-in is triggered for the application, the ECS instances that are purchased by calling this operation are removed first.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListConsumedServices' => [ - 'path' => '/pop/v5/service/listConsumedServices', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleoutApplicationWithNewInstances'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ECSPurchase', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"e370c17f-*****-3df0721a327\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"e370c17f-*****-3df0721a327\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-28wt4****\\\\\\",\\\\\\"i-28wt4****\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>e370c17f-*****-3df0721a327</RequestId>\\n<ChangeOrderId>e370c17f-*****-3df0721a327</ChangeOrderId>\\n<InstanceIds>i-28wt4****</InstanceIds>\\n<InstanceIds>i-28wt4****</InstanceIds>\\n<Code>200</Code>","errorExample":""}]', + ], + 'StartApplication' => [ + 'summary' => 'Starts an application.', + 'path' => '/pop/v5/changeorder/co_start', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'a66c5d1f-****-****-8c2b-6925f781b203', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********', 'title' => ''], + ], + [ + 'name' => 'EccInfo', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance on which you want to start the application. Separate multiple ECC IDs with commas (,). You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).', 'type' => 'string', 'required' => false, 'example' => '""', 'title' => ''], ], ], 'responses' => [ @@ -20860,609 +15403,340 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'ConsumedServicesList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListConsumedServices' => [ - 'description' => 'The information about consumed services.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DockerApplication' => [ - 'description' => 'Indicates whether the application runs in a Docker container. Valid values:'."\n" - ."\n" - .'* true: The application runs in a Docker container.'."\n" - .'* false: The application does not run in a Docker container.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Type' => [ - 'description' => 'The type of the consumed service.'."\n", - 'type' => 'string', - 'example' => 'HSF', - ], - 'Version' => [ - 'description' => 'The version of the consumed service.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'Group2Ip' => [ - 'description' => 'A reserved parameter.'."\n", - 'type' => 'string', - 'example' => '""', - ], - 'Name' => [ - 'description' => 'The name of the consumed service.'."\n", - 'type' => 'string', - 'example' => 'service', - ], - 'Ips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ip' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The address where the service can be subscribed to.'."\n", - 'type' => 'string', - 'example' => '102.XX.XX.23', - ], - ], - ], - ], - 'Groups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'group' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The service group that corresponds to the consumed service.'."\n", - 'type' => 'string', - 'example' => '”group“', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The ID of the change process for this operation. You can call the GetChangeOrderInfo operation to query the progress of this startup. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'example' => '426d3328-11a***************', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-**************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"ConsumedServicesList\\": {\\n \\"ListConsumedServices\\": [\\n {\\n \\"DockerApplication\\": true,\\n \\"Type\\": \\"HSF\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AppId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"Group2Ip\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Name\\": \\"service\\",\\n \\"Ips\\": {\\n \\"ip\\": [\\n \\"102.XX.XX.23\\"\\n ]\\n },\\n \\"Groups\\": {\\n \\"group\\": [\\n \\"”group“\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ConsumedServicesList>\\n</ConsumedServicesList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListConsumedServices', - 'summary' => 'Queries the services that are consumed by an application.', + 'title' => 'StartApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListPublishedServices' => [ - 'path' => '/pop/v5/service/listPublishedServices', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"426d3328-11a***************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","type":"json"}]', + ], + 'StartK8sAppPrecheck' => [ + 'summary' => 'Starts precheck for Kubernetes application changes.', + 'path' => '/pop/v5/k8s/app_precheck', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'c37aec2a-bcca-4ec1-****-****', 'title' => ''], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => 'The namespace of the Kubernetes cluster. This parameter specifies the Kubernetes namespace in which your application is deployed. By default, the default namespace is used.', 'type' => 'string', 'required' => true, 'example' => 'default', 'title' => ''], + ], + [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1fbd8b72-****-****-bdfe-478dbc914121', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'example' => 'af58edcf-f7eb-****-****-db4e425f****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1D6FC-4307-4583-BA6F-215F3857E****', - ], - 'PublishedServicesList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListPublishedServices' => [ - 'description' => 'The published services.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DockerApplication' => [ - 'description' => 'Indicates whether the application runs in a Docker container. Valid values:'."\n" - ."\n" - .'* true: The application runs in a Docker container.'."\n" - .'* false: The application does not run in a Docker container.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Type' => [ - 'description' => 'The type of the published service.'."\n", - 'type' => 'string', - 'example' => 'RESTful', - ], - 'Version' => [ - 'description' => 'The version of the published services.'."\n", - 'type' => 'string', - 'example' => '--', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857E****', - ], - 'Group2Ip' => [ - 'description' => 'A reserved parameter.'."\n", - 'type' => 'string', - 'example' => '""', - ], - 'Name' => [ - 'description' => 'The name of the published service.'."\n", - 'type' => 'string', - 'example' => 'providers:com.****', - ], - 'Ips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ip' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The address where the service can be subscribed to.'."\n", - 'type' => 'string', - 'example' => '112.XX.XX.24', - ], - ], - ], - ], - 'Groups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'group' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The service group that corresponds to the published service.'."\n", - 'type' => 'string', - 'example' => 'DEFAULT_GROUP', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'name' => 'AppName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the application. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 36 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'testapp', 'title' => ''], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1D6FC-4307-4583-BA6F-215F3857E****\\",\\n \\"PublishedServicesList\\": {\\n \\"ListPublishedServices\\": [\\n {\\n \\"DockerApplication\\": false,\\n \\"Type\\": \\"RESTful\\",\\n \\"Version\\": \\"--\\",\\n \\"AppId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857E****\\",\\n \\"Group2Ip\\": \\"\\\\\\"\\\\\\"\\",\\n \\"Name\\": \\"providers:com.****\\",\\n \\"Ips\\": {\\n \\"ip\\": [\\n \\"112.XX.XX.24\\"\\n ]\\n },\\n \\"Groups\\": {\\n \\"group\\": [\\n \\"DEFAULT_GROUP\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<PublishedServicesList>\\n <ListPublishedServices>\\n <Groups>\\n <group>DEFAULT_GROUP</group>\\n </Groups>\\n <Name>providers:com.****</Name>\\n <DockerApplication>false</DockerApplication>\\n <Type>RESTful</Type>\\n <Group2Ip/>\\n <Version>--</Version>\\n <Ips>\\n </Ips>\\n </ListPublishedServices>\\n</PublishedServicesList>","errorExample":""}]', - 'title' => 'ListPublishedServices', - 'summary' => 'Queries the services that are published by an application.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetServiceDetail' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceDetail', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Replicas', + 'in' => 'query', + 'schema' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'region', + 'name' => 'LimitmCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. Unit: millicores. The value 0 indicates that no limit is set on CPU cores.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'namespace', + 'name' => 'RequestsmCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => 'The maximum number of CPU cores allowed for each application instance when the application is created. Unit: millicores.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500', 'title' => ''], ], [ - 'name' => 'origin', + 'name' => 'LimitMem', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the data. Valid values:'."\n" - ."\n" - .'* agent: Use this value if you use the service query feature of the latest version to pass the query result.'."\n" - .'* registry: Use this value if you use the service query feature of the earlier version to pass the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. The value of LimitMem must be greater than or equal to that of RequestsMem.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4096', 'title' => ''], ], [ - 'name' => 'serviceType', + 'name' => 'RequestsMem', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* dubbo'."\n" - .'* springCloud'."\n" - .'* hsf'."\n" - .'* istio'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], + 'schema' => ['description' => 'The maximum size of memory allowed for each application instance when the application is created. Unit: MB. The value 0 indicates that no limit is set on the memory size. The value of RequestsMem cannot be greater than that of LimitMem.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024', 'title' => ''], ], [ - 'name' => 'appId', + 'name' => 'LimitEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], + 'schema' => ['description' => 'The maximum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'source', + 'name' => 'RequestsEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The source of the service. Set the value to edas.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + 'schema' => ['description' => 'The minimum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'serviceId', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The environment variables that are used to deploy the application. The value must be a JSON array. Valid values: regular environment variables, Kubernetes ConfigMap environment variables, and Kubernetes Secret environment variables. Specify regular environment variables in the following format:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'Specify Kubernetes ConfigMap environment variables in the following format to reference values from ConfigMaps:'."\n" + ."\n" + .'`{ "name": "x2", "valueFrom": { "configMapKeyRef": { "name": "my-config", "key": "y2" } } }`'."\n" + ."\n" + .'Specify Kubernetes Secret environment variables in the following format to reference values from Secrets:'."\n" + ."\n" + .'`{ "name": "x3", "valueFrom": { "secretKeyRef": { "name": "my-secret", "key": "y3" } } }`'."\n" + ."\n" + .'> If you want to cancel this configuration, set this parameter to an empty JSON array, which is in the format of "\\[]".', 'type' => 'string', 'required' => false, 'example' => '[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}]', 'title' => ''], ], [ - 'name' => 'serviceName', + 'name' => 'EnvFroms', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => 'The Kubernetes environment variables that are configured in EnvFrom mode. A ConfigMap or Secret is mounted to a directory. Each key corresponds to a file in the directory, and the content of the file is the value of the key.'."\n" + ."\n" + .'The following parameters are included in the configuration of the EnvFroms parameter:'."\n" + ."\n" + .'- configMapRef: the ConfigMap that is referenced. The following parameter is included:'."\n" + ."\n" + .' name: the name of the ConfigMap.'."\n" + ."\n" + .'- secretRef: the Secret that is referenced. The following parameter is included:'."\n" + ."\n" + .' name: the name of the Secret.', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "name": "appname",'."\n" + .' "valueFrom": {'."\n" + .' "configMapKeyRef": {'."\n" + .' "name": "appconf"'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .']', 'title' => ''], ], [ - 'name' => 'serviceVersion', + 'name' => 'EmptyDirs', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The configuration for mounting a Kubernetes emptyDir volume to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" + ."\n" + .'- mountPath: The mount path in the container. This parameter is required.'."\n" + ."\n" + .'- readOnly: (Optional) The mount mode. The value true indicates the read-only mode. The value false indicates the read and write mode. Default value: false.'."\n" + ."\n" + .'- subPathExpr: (Optional) The regular expression that is used to match the subdirectory.', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', 'title' => ''], ], [ - 'name' => 'group', + 'name' => 'JavaStartUpConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The group to which the service belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => 'The configuration of Java startup parameters for a Java application. These startup parameters involve the memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom configurations. Proper parameter settings help reduce the GC overheads, shorten the server response time, and improve the throughput. Set this parameter to a JSON string. In the example, original indicates the configuration value, and startup indicates a startup parameter. The system automatically concatenates all startup values as the settings of Java startup parameters for the application. To delete this configuration, leave the parameter value empty by entering `""` or `"{}"`. The following parameters are included in the configuration:'."\n" + ."\n" + .'- InitialHeapSize: the initial size of the heap memory.'."\n" + ."\n" + .'- MaxHeapSize: the maximum size of the heap memory.'."\n" + ."\n" + .'- CustomParams: the custom parameters, such as JVM -D parameters.'."\n" + ."\n" + .'- Other parameters: You can view the JSON structure submitted by the frontend.', 'type' => 'string', 'required' => false, 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}', 'title' => ''], ], [ - 'name' => 'ip', + 'name' => 'ConfigMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the service provider. Fuzzy searches are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', - ], + 'schema' => ['description' => 'The configuration for mounting a Kubernetes ConfigMap or Secret to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" + ."\n" + .'- name: the name of the Kubernetes ConfigMap or Secret.'."\n" + ."\n" + .'- type: the type of the API object that you want to mount. You can mount a Kubernetes ConfigMap or Secret.'."\n" + ."\n" + .'- mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).', 'type' => 'string', 'required' => false, 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]', 'title' => ''], ], [ - 'name' => 'registryType', + 'name' => 'PvcMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the service registry. This parameter is deprecated. You can ignore it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'schema' => ['description' => 'The configuration for mounting a Kubernetes PersistentVolumeClaim (PVC) to a directory in an elastic container instance. The following parameters are included in the configuration:'."\n" + ."\n" + .'- pvcName: the name of the PVC. Make sure that the volume exists and is in the Bound state.'."\n" + ."\n" + .'- mountPaths: the directory to which you want to mount the PVC. You can configure multiple directories. You can set the following two parameters for each mount directory:'."\n" + ."\n" + .' - mountPath: the mount path. The mount path must be an absolute path that starts with a forward slash (/).'."\n" + ."\n" + .' - readOnly: the mount mode. The value true indicates the read-only mode. The value false indicates the read and write mode. Default value: false.', 'type' => 'string', 'required' => false, 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', 'title' => ''], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => 'The annotation of an application pod.', 'type' => 'string', 'required' => false, 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', 'title' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => 'The label of an application pod.', 'type' => 'string', 'required' => false, 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', 'title' => ''], + ], + [ + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the image.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', 'title' => ''], + ], + [ + 'name' => 'PackageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the deployment package.', 'type' => 'string', 'required' => false, 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', 'title' => ''], + ], + [ + 'name' => 'LocalVolume', + 'in' => 'query', + 'schema' => ['description' => 'The configurations that are used when the host files are mounted to the container on which the application is running. Example: `\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`. Description:'."\n" + ."\n" + .'- `nodePath`: the host path.'."\n" + ."\n" + .'- `mountPath`: the path in the container.'."\n" + ."\n" + .'- `type`: the mounting type.', 'type' => 'string', 'required' => false, 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ComponentIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application component. You can call the ListComponents operation to query application components. This parameter must be specified when the application runs in Apache Tomcat or in a standard Java application runtime environment. The Apache Tomcat application runtime environment is applicable to Dubbo applications that are deployed by using WAR packages. A standard Java application runtime environment is applicable to Spring Boot or Spring Cloud applications that are deployed by using JAR packages.'."\n" + ."\n" + .'Valid values for regular application component IDs:'."\n" + ."\n" + .'- 4: Apache Tomcat 7.0.91'."\n" + ."\n" + .'- 5: OpenJDK 1.8.x'."\n" + ."\n" + .'- 6: OpenJDK 1.7.x'."\n" + ."\n" + .'- 7: Apache Tomcat 8.5.42'."\n" + ."\n" + .'This parameter is available only for Java SDK 2.57.3 or later, or Python SDK 2.57.3 or later. Assume that you use an SDK that is not provided by Enterprise Distributed Application Service (EDAS), such as aliyun-python-sdk-core, aliyun-java-sdk-core, and Alibaba Cloud CLI. In this case, you can directly specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '7', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The returned content.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message returned for the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the call was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '7638276F-****-****-884F-54CC0BC84A8D'], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ - 'description' => 'The data structure.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'EdasAppName' => [ - 'description' => 'The name of the Enterprise Distributed Application Service (EDAS) application.'."\n", - 'type' => 'string', - 'example' => 'test123', - ], - 'DubboApplicationName' => [ - 'description' => 'The name of the Dubbo application.'."\n", - 'type' => 'string', - 'example' => 'cartservice', - ], - 'Version' => [ - 'description' => 'The version number.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'RegistryType' => [ - 'description' => 'The type of the service registry.'."\n", - 'type' => 'string', - 'example' => 'agent', - ], - 'SpringApplicationName' => [ - 'description' => 'The name of the Spring application.'."\n", - 'type' => 'string', - 'example' => 'edas.service.consumer', - ], - 'ServiceType' => [ - 'description' => 'The type of the service.'."\n", - 'type' => 'string', - 'example' => 'springCloud', - ], - 'ServiceName' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'edas.service.consumer', - ], - 'Metadata' => [ - 'description' => 'The metadata.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'Group' => [ - 'description' => 'The group.'."\n", - 'type' => 'string', - 'example' => 'dubbo', - ], - 'Methods' => [ - 'description' => 'The methods.'."\n", + 'Jobs' => [ + 'description' => 'The jobs and the details about the jobs.', 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ParameterDetails' => [ - 'description' => 'The parameter details.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'NameDetail' => [ - 'description' => 'The specific name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ParameterNames' => [ - 'description' => 'The parameter names.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ParameterDefinitions' => [ - 'description' => 'The parameter definitions.'."\n", - 'type' => 'string', - 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', - ], - 'Paths' => [ - 'description' => 'The method paths.'."\n", - 'type' => 'string', - 'example' => '["/consumer-echo/feign/{str}"]', - ], - 'ParameterTypes' => [ - 'description' => 'The parameter types.'."\n", - 'type' => 'string', - 'example' => '["java.lang.String"]', - ], - 'RequestMethods' => [ - 'description' => 'The request methods.'."\n", - 'type' => 'string', - 'example' => 'GET', - ], - 'ReturnDetails' => [ - 'description' => 'The response details.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Name' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'feign2', - ], - 'MethodController' => [ - 'description' => 'The controllers.'."\n", - 'type' => 'string', - 'example' => 'com.aliware.edas.DemoController', - ], - 'ReturnType' => [ - 'description' => 'The type of the response.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'ReturnDefinition' => [ - 'description' => 'The definition of the value returned by the method.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the response.'."\n", - 'type' => 'string', - 'example' => 'foo', - ], - 'Id' => [ - 'description' => 'The ID of the return value.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], + 'items' => ['description' => 'The name of the job.', 'type' => 'string', 'example' => '集群健康检查。', 'title' => ''], + 'title' => '', + 'example' => 'Cluster health check.', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"EdasAppName\\": \\"test123\\",\\n \\"DubboApplicationName\\": \\"cartservice\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"RegistryType\\": \\"agent\\",\\n \\"SpringApplicationName\\": \\"edas.service.consumer\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceName\\": \\"edas.service.consumer\\",\\n \\"Metadata\\": \\"{}\\",\\n \\"Group\\": \\"dubbo\\",\\n \\"Methods\\": [\\n {\\n \\"ParameterDetails\\": \\"{}\\",\\n \\"NameDetail\\": \\"test\\",\\n \\"ParameterNames\\": \\"test\\",\\n \\"ParameterDefinitions\\": \\"[{\\\\\\"description\\\\\\":\\\\\\"\\\\\\",\\\\\\"name\\\\\\":\\\\\\"arg0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"java.lang.String\\\\\\"}]\\",\\n \\"Paths\\": \\"[\\\\\\"/consumer-echo/feign/{str}\\\\\\"]\\",\\n \\"ParameterTypes\\": \\"[\\\\\\"java.lang.String\\\\\\"]\\",\\n \\"RequestMethods\\": \\"GET\\",\\n \\"ReturnDetails\\": \\"test\\",\\n \\"Name\\": \\"feign2\\",\\n \\"MethodController\\": \\"com.aliware.edas.DemoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDefinition\\": {\\n \\"Type\\": \\"foo\\",\\n \\"Id\\": \\"1\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceDetail>\\n<Message>success</Message>\\n<Data>\\n <Group>dubbo</Group>\\n <RegistryType>agent</RegistryType>\\n <Version>1.0.0</Version>\\n <ServiceName>edas.service.consumer</ServiceName>\\n <ServiceType>springCloud</ServiceType>\\n <EdasAppName>test123</EdasAppName>\\n <Metadata>{}</Metadata>\\n <SpringApplicationName>edas.service.consumer</SpringApplicationName>\\n <Methods>\\n <ParameterDefinitions>[{\\"description\\":\\"\\",\\"name\\":\\"arg0\\",\\"type\\":\\"java.lang.String\\"}]</ParameterDefinitions>\\n <ParameterNames>test</ParameterNames>\\n <ParameterDetails>{}</ParameterDetails>\\n <MethodController>com.aliware.edas.DemoController</MethodController>\\n <Paths>[\\"/consumer-echo/feign/{str}\\"]</Paths>\\n <RequestMethods>GET</RequestMethods>\\n <ParameterTypes>[\\"java.lang.String\\"]</ParameterTypes>\\n <ReturnType>java.lang.String</ReturnType>\\n <ReturnDetails>test</ReturnDetails>\\n <NameDetail>test</NameDetail>\\n <Name>feign2</Name>\\n </Methods>\\n <Methods>\\n <ReturnDefinition>\\n <Type>foo</Type>\\n <Id>1</Id>\\n </ReturnDefinition>\\n </Methods>\\n <DubboApplicationName>cartservice</DubboApplicationName>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</GetServiceDetail>","errorExample":""}]', - 'title' => 'GetServiceDetail', - 'summary' => 'Queries service details.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListMethods' => [ - 'path' => '/pop/v5/service/list_methods', - 'methods' => [ - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7638276F-****-****-884F-54CC0BC84A8D\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Jobs\\": [\\n \\"集群健康检查。\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'StartK8sAppPrecheck', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sAppPrecheck'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'StartK8sApplication' => [ + 'summary' => 'Starts an application in a Container Service for Kubernetes (ACK) or Serverless Kubernetes (ASK) cluster.', + 'path' => '/pop/v5/k8s/acs/start_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'be213a4a-c7e4-473b-ab0****', - ], + 'schema' => ['description' => 'The number of application instances to start.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'ServiceName', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Method', - ], + 'schema' => ['description' => 'The timeout period for the change process, in seconds. Valid values: 1 to 1800. Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to obtain the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*******-ed2ae98de18d', 'title' => ''], ], ], 'responses' => [ @@ -21470,108 +15744,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message that indicates whether the request is successful.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '69AD2AA7-DB47-449B-941B-B14409DF****', - ], - 'ServiceMethodList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServiceMethod' => [ - 'description' => 'The information about service methods.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MethodName' => [ - 'description' => 'The name of the service method.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'App', - ], - 'Output' => [ - 'description' => 'The return type of the service method.'."\n", - 'type' => 'string', - 'example' => 'java.lang.string', - ], - 'ServiceName' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'com.alibaba.edas.demo.EchoService', - ], - 'ParamTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ParamType' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'example' => 'string', - 'description' => 'The types of the input parameters of the service method.'."\n", - ], - ], - ], - ], - 'InputParams' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InputParam' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'example' => 'test', - 'description' => 'The input parameters of the service method.'."\n", - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process for the operation.', 'type' => 'string', 'example' => '*********d237-4827-a4f4-ed2ae98de18d', 'title' => ''], + 'Code' => ['description' => 'The response code. A 200 response indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"69AD2AA7-DB47-449B-941B-B14409DF****\\",\\n \\"ServiceMethodList\\": {\\n \\"ServiceMethod\\": [\\n {\\n \\"MethodName\\": \\"echo\\",\\n \\"AppName\\": \\"App\\",\\n \\"Output\\": \\"java.lang.string\\",\\n \\"ServiceName\\": \\"com.alibaba.edas.demo.EchoService\\",\\n \\"ParamTypes\\": {\\n \\"ParamType\\": [\\n \\"string\\"\\n ]\\n },\\n \\"InputParams\\": {\\n \\"InputParam\\": [\\n \\"test\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ListMethods', - 'summary' => 'Queries service methods.', + 'errorCodes' => [], + 'title' => 'StartK8sApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListServiceGroups' => [ - 'summary' => 'Queries the service groups of a High-Speed Service Framework (HSF) application.', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"*********d237-4827-a4f4-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","type":"json"}]', + ], + 'StopApplication' => [ + 'path' => '/pop/v5/changeorder/co_stop', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21579,151 +15792,136 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d*******', 'title' => ''], + ], + [ + 'name' => 'EccInfo', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the elastic compute container (ECC) that corresponds to the Elastic Compute Service (ECS) instance on which you want to stop the application. You can call the QueryApplicationStatus operation to query the ECC ID. For more information, see [QueryApplicationStatus](~~149394~~).'."\n" + ."\n" + .'- If you want to stop the application on multiple ECS instances, separate the ECC IDs with commas (,).'."\n" + ."\n" + .'- If you leave this parameter empty, the application will be stopped on all ECS instances.', 'type' => 'string', 'required' => false, 'example' => '74ee9166-****1f6-bcb60e5b****', 'title' => ''], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'ServiceGroupsList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListServiceGroups' => [ - 'description' => 'The information about service groups.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GroupId' => [ - 'description' => 'The ID of the service group.'."\n", - 'type' => 'string', - 'example' => '789d9cda-74b1-****-****-05e21a0a7661', - ], - 'GroupName' => [ - 'description' => 'The name of the service group.'."\n", - 'type' => 'string', - 'example' => 'edas-test-group', - ], - 'CreateTime' => [ - 'description' => 'The time when the service group was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'string', - 'example' => '1575357165770', - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process. You can call the GetChangeOrderInfo operation to query the details about the change process. For more information, see [GetChangeOrderInfo](~~62072~~).', 'type' => 'string', 'example' => 'a9557bac-ddd7-*********************', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"ServiceGroupsList\\": {\\n \\"ListServiceGroups\\": [\\n {\\n \\"GroupId\\": \\"789d9cda-74b1-****-****-05e21a0a7661\\",\\n \\"GroupName\\": \\"edas-test-group\\",\\n \\"CreateTime\\": \\"1575357165770\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ServiceGroupsList>\\n <ListServiceGroups>\\n <GroupName>edas-test-group</GroupName>\\n <CreateTime>1575357165770</CreateTime>\\n <GroupId>789d9cda-74b1-****-****-05e21a0a7661</GroupId>\\n </ListServiceGroups>\\n</ServiceGroupsList>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListServiceGroups', - 'requestParamsDescription' => 'No request parameters.'."\n", + 'title' => 'StopApplication', + 'summary' => 'Stops an application.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertServiceGroup' => [ - 'summary' => 'Creates a service group.', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"a9557bac-ddd7-*********************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', + ], + 'StopK8sApplication' => [ + 'summary' => 'Stops an application in a Container Service for Kubernetes (ACK) cluster or a Serverless Kubernetes cluster.', + 'path' => '/pop/v5/k8s/acs/stop_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'GroupName', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service group that you want to create.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'edas-test-group', - ], + 'schema' => ['description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-d237-*******8de18d', 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of the change process. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.'."\n", 'type' => 'string', 'example' => '*******27-a4f4-ed2ae98de18d', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857EAF4\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'InsertServiceGroup', + 'errorCodes' => [], + 'title' => 'StopK8sApplication', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateK8sIngressRule' => [ - 'summary' => 'Creates an Ingress.', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"*******27-a4f4-ed2ae98de18d\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"03FD1520-0FD6-436A-****-265318D7****\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>03FD1520-0FD6-436A-****-265318D7****</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>*******27-a4f4-ed2ae98de18d</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'SwitchAdvancedMonitoring' => [ + 'path' => '/pop/v5/monitor/advancedMonitorInfo', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21731,197 +15929,98 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-ingress-rule', - ], - ], - [ - 'name' => 'IngressConf', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The routing rules of the Ingress. Set this parameter to a JSON string in the following format:'."\n" - ."\n" - .' {'."\n" - .' "rules": ['."\n" - .' {'."\n" - .' "host": "abc.com",'."\n" - .' "secretName": "tls-secret",'."\n" - .' "paths": ['."\n" - .' {'."\n" - .' "path": "/path",'."\n" - .' "backend": {'."\n" - .' "servicePort": 80,'."\n" - .' "serviceName": "xxx"'."\n" - .' }'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - ."\n" - .'Parameter description:'."\n" - ."\n" - .'* rules: the list of routing rules.'."\n" - .'* host: the domain name to be accessed.'."\n" - .'* secretName: the name of the Secret that stores the information about the Transport Layer Security (TLS) certificate. The certificate is required if you need to use the HTTPS protocol.'."\n" - .'* paths: the list of paths to be accessed.'."\n" - .'* path: the path to be accessed.'."\n" - .'* backend: the configuration of the backend service. You can specify a service that is created in the Enterprise Distributed Application Service (EDAS) console.'."\n" - .'* serviceName: the name of the backend service.'."\n" - .'* servicePort: the port of the backend service.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', - ], + 'schema' => ['description' => 'The ID of the application for which you want to query or configure the advanced application monitoring feature.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '9e224bc6-a646-4484-****-e617b7e7****', 'title' => ''], ], [ - 'name' => 'Annotations', - 'in' => 'query', - 'schema' => [ - 'description' => 'The annotations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"alb.ingress.kubernetes.io/rewrite-target\\":\\"/consumer-echo/test\\"}', - ], - ], - [ - 'name' => 'Labels', + 'name' => 'EnableAdvancedMonitoring', 'in' => 'query', - 'schema' => [ - 'description' => 'The labels.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"test-labels\\":\\"test-value\\"}', - ], + 'schema' => ['description' => 'Specifies whether to enable the advanced application monitoring feature. Valid values:'."\n" + ."\n" + .'* true: enables the advanced application monitoring feature.'."\n" + .'* false: disables the advanced application monitoring feature.'."\n" + ."\n" + .'If you call this operation to query the status of the advanced application monitoring feature, you do not need to specify this parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The object that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '577AED12-32D8-40B6-991F-17D7A601****', 'title' => ''], + 'AdvancedMonitoringEnabled' => ['description' => 'Indicates whether the advanced application monitoring feature is enabled. Valid values:'."\n" + ."\n" + .'* true: The advanced application monitoring feature is enabled.'."\n" + .'* false: The advanced application monitoring feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 600 => [ + ['errorCode' => 'Edas.Errorcode.OperationFailed.CloseAdvancedMonitor.Message', 'errorMessage' => 'Failed to disable advanced monitoring.', 'description' => ''], + ['errorCode' => 'Edas.Errorcode.OperationFailed.OpenAdvancedMonitor.Message', 'errorMessage' => 'Failed to enable advanced monitoring.', 'description' => ''], ], ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'CreateK8sIngressRule', + 'title' => 'SwitchAdvancedMonitoring', + 'summary' => 'Queries the status of the advanced application monitoring feature or configures this feature for an application that is deployed in an Elastic Compute Service (ECS) or Kubernetes cluster.', + 'description' => 'To call the SwitchAdvancedMonitoring operation, you must make sure that the version of Enterprise Distributed Application Service (EDAS) SDK for Java or Python is 3.15.2 or later.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteK8sIngressRule' => [ - 'summary' => 'Deletes an ingress.', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'delete', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SwitchAdvancedMonitoring'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****\\",\\n \\"RequestId\\": \\"577AED12-32D8-40B6-991F-17D7A601****\\",\\n \\"AdvancedMonitoringEnabled\\": false\\n}","errorExample":""},{"type":"xml","example":"<AdvancedMonitoringEnabled>false</AdvancedMonitoringEnabled>\\n<Message>The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****</Message>\\n<RequestId>577AED12-32D8-40B6-991F-17D7A601****</RequestId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'SynchronizeResource' => [ + 'path' => '/pop/v5/resource/pop_sync_resource', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => 'The type of the resource to be synchronized. Valid values: `ecs, slb, vpc, and all`. These values are case-sensitive.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ecs', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-ingress-rule', - ], + 'schema' => ['description' => 'The ID of the resource. This parameter is required only when you set the Type parameter to `ecs`. If you specify multiple IDs, separate them with commas (,). You can synchronize up to 50 resources at a time.', 'type' => 'string', 'required' => false, 'example' => 'i-bp17c***5q8x,i-bp1**5q8x', 'title' => ''], ], ], 'responses' => [ @@ -21929,46 +16028,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The data returned for the request.', 'type' => 'string', 'example' => 'PopSyncResource success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F8DFGED-K98***************', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the resources are synchronized. Valid values:'."\n" + ."\n" + .'- **true**: The resources are synchronized.'."\n" + ."\n" + .'- **false**: The resources fail to be synchronized.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'staticInfo' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DeleteK8sIngressRule', + 'title' => 'SynchronizeResource', + 'summary' => 'Synchronizes the basic Alibaba Cloud resources that belong to your account to Enterprise Distributed Application Service (EDAS). This operation is applicable to Elastic Compute Service (ECS) clusters.', + 'description' => 'If you call this operation to synchronize ECS resource information, all instance data is synchronized from ECS. If you have more than 100 ECS instances, we recommend that you do not frequently call this operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateK8sIngressRule' => [ - 'summary' => 'Updates an ingress.', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'put', + 'extraInfo' => '## Usage notes'."\n" + ."\n" + .'When you call this operation, you may encounter the timeout issue when you connect to the OpenAPI Developer Portal from a client. The default timeout period is 10 seconds. To resolve this issue, before you call this operation, you must manually set the timeout period for reading the data returned by the OpenAPI Developer Portal. We recommend that you set the timeout period to 30 seconds. This is because the time limit for service processing between the OpenAPI Developer Portal and the server is 30 seconds.'."\n" + ."\n" + .'* If you use EDAS SDK for Java and call this operation in the client code, you can set the read timeout period in the following way:'."\n" + ."\n" + .'<!---->'."\n" + ."\n" + .' SynchronizeResourceRequest request = new SynchronizeResourceRequest();'."\n" + .' request.setSysReadTimeout(30000); // The timeout period for the client to wait for OpenAPI Developer Portal to return data. Unit: milliseconds. '."\n" + .' request.setType("ecs");'."\n" + .' ........'."\n" + ."\n" + .'* If you use EDAS SDK for Python and call this operation in the client code, you can set the read timeout period in the following way:'."\n" + ."\n" + .'<!---->'."\n" + ."\n" + .' request = SynchronizeResourceRequest()'."\n" + .' request.set_read_timeout(30000)'."\n" + .' request.set_Type(\'ecs\')'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeResource'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:SynchronizeResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"PopSyncResource success\\",\\n \\"RequestId\\": \\"F8DFGED-K98***************\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => 'Creates tags and adds the tags to resources at a time.', + 'path' => '/pop/v5/tag/tags', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21976,464 +16102,170 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- **application**: Enterprise Distributed Application Service (EDAS) application'."\n" + ."\n" + .'- **cluster**: EDAS cluster', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-ingress-rule', - ], + 'schema' => ['description' => 'The IDs of the resources. You can specify up to 20 IDs in the format of a JSON array.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', 'title' => ''], ], [ - 'name' => 'IngressConf', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The routing rules of the Ingress. Set this parameter to a JSON string in the following format:'."\n" - ."\n" - .' {'."\n" - .' "rules": ['."\n" - .' {'."\n" - .' "host": "abc.com",'."\n" - .' "secretName": "tls-secret",'."\n" - .' "paths": ['."\n" - .' {'."\n" - .' "path": "/path",'."\n" - .' "backend": {'."\n" - .' "servicePort": 80,'."\n" - .' "serviceName": "xxx"'."\n" - .' }'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - ."\n" - .'Parameter description:'."\n" - ."\n" - .'* rules: the list of routing rules.'."\n" - .'* host: the domain name to be accessed.'."\n" - .'* secretName: the name of the Secret that stores the information about the Transport Layer Security (TLS) certificate. The certificate is required if you need to use the HTTPS protocol.'."\n" - .'* paths: the list of paths to be accessed.'."\n" - .'* path: the path to be accessed.'."\n" - .'* backend: the configuration of the backend service. You can specify a service that is created in the Enterprise Distributed Application Service (EDAS) console.'."\n" - .'* serviceName: the name of the backend service.'."\n" - .'* servicePort: the port of the backend service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', - ], + 'schema' => ['description' => 'The key-value pairs. When you set this parameter, take note of the following limits:'."\n" + ."\n" + .'- You can add up to 20 tags to a resource.'."\n" + ."\n" + .'- The tag key cannot start with **aliyun** or **acs:**. It cannot contain **http\\://** or **https\\://**.'."\n" + ."\n" + .'- The tag key or tag value can be up to 128 characters in length, and can contain letters, digits, hyphens (-), commas (,), asterisks (\\*), forward slashes (/), question marks (?), and colons (:).'."\n" + ."\n" + .'- Set this parameter to a JSON array.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', 'title' => ''], ], [ - 'name' => 'Annotations', + 'name' => 'ResourceRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The annotations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"nginx.ingress.kubernetes.io/ssl-redirect\\":\\"true\\",\\"nginx.ingress.kubernetes.io/configuration-snippet\\":\\"set $test value\\"}', - ], - ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'description' => 'The labels.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"test-label\\":\\"test-label-value\\"}', - ], + 'schema' => ['description' => 'The region in which the resource resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The object that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'errorMessage' => 'The instance does not exist.', 'description' => 'The instance does not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateK8sIngressRule', + 'title' => 'TagResources', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sIngressRules' => [ - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\"\\n}","type":"json"}]', + ], + 'TransformClusterMember' => [ + 'path' => '/pop/v5/resource/transform_cluster_member', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the cluster resides.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ClusterId', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], + 'schema' => ['description' => 'The IDs of the ECS instances. Separate multiple IDs with a comma (,).'."\n" + ."\n" + .'- The instances must be in the same VPC as the target cluster.'."\n" + ."\n" + .'- An instance can belong to only one cluster at a time.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'i-2ze7s2v0b789k60p****'], ], [ - 'name' => 'Namespace', + 'name' => 'TargetClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The ID of the target cluster.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'b3e3f77b-462e-****-****-bec8727a****'], ], [ - 'name' => 'Condition', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'The filter conditions. Set the value to a JSON string in the format of {"field":"Name", "pattern":"my-"}, where:'."\n" - ."\n" - .'* field: the parameter to be matched. Valid values: Name and ClusterName.'."\n" - .'* pattern: the content to be matched.'."\n" - ."\n" - .'For example, a value of {"field":"Name", "pattern":"my-"} indicates that the specified filter conditions match the routing rules whose names start with my-.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"field":"Name", "pattern":"my-"}', - ], + 'schema' => ['description' => 'The logon password to set for the instances.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'Hello****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response object.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '5C1C9DE7-88FF-4B56-A47B-3DBBCEB******', - ], - 'Data' => [ - 'description' => 'The response data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of the data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'ClusterName' => [ - 'description' => 'The cluster name.'."\n", - 'type' => 'string', - 'example' => 'my-dev-cluster', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => '5b2b4ab4-efbc-4a81-9c45-a5942881****', - ], - 'RegionId' => [ - 'description' => 'The ID of the Alibaba Cloud region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'IngressConfs' => [ - 'description' => 'The Ingresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about Ingresses.'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the Ingress was created.'."\n", - 'type' => 'string', - 'example' => '2021-04-27 20:16:52', - ], - 'SslRedirect' => [ - 'description' => 'Indicates whether SSL redirection is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Endpoint' => [ - 'description' => 'The IP address of the Ingress.'."\n", - 'type' => 'string', - 'example' => '47.11x.xx.xx', - ], - 'Namespace' => [ - 'description' => 'The Kubernetes namespace to which the Ingress belongs.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Name' => [ - 'description' => 'The Ingress name.'."\n", - 'type' => 'string', - 'example' => 'my-ingress', - ], - 'DashboardUrl' => [ - 'description' => 'The monitoring URL of the Ingress.'."\n", - 'type' => 'string', - 'example' => 'http://grafana.console.aliyun.com/d/10xxxx/ingress', - ], - 'Rules' => [ - 'description' => 'The routing rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of the routing rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecretName' => [ - 'description' => 'The name of the Secret that stores the Transport Layer Security (TLS) certificate.'."\n", - 'type' => 'string', - 'example' => 'my-secret', - ], - 'Host' => [ - 'description' => 'The domain name to be accessed.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'Paths' => [ - 'description' => 'The paths to be accessed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of paths to be accessed.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the Ingress. Valid values:'."\n" - ."\n" - .'* **Normal**: The Ingress works as expected.'."\n" - .'* **ServiceNotFound**: The backend Service does not exist.'."\n" - .'* **InvalidServicePort**: The Service port is invalid.'."\n" - .'* **NotManagedService**: The Service is not managed by EDAS.'."\n" - .'* **Unknown**: An unknown error occurred.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'Path' => [ - 'description' => 'The path to be accessed.'."\n", - 'type' => 'string', - 'example' => '/foo/bar', - ], - 'AppName' => [ - 'description' => 'The name of the EDAS application.'."\n", - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => 'The ID of the EDAS application.'."\n", - 'type' => 'string', - 'example' => '43d30ba5-c568-460c-8080-d447ed1a****', - ], - 'Backend' => [ - 'description' => 'The configurations of the backend Service.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The name of the backend Service.'."\n", - 'type' => 'string', - 'example' => 'http-service', - ], - 'ServicePort' => [ - 'description' => 'The port of the backend Service.'."\n", - 'type' => 'string', - 'example' => '8080', - ], - ], - ], - 'CollectRate' => [ - 'description' => 'The collection rate that is set based on the trace query feature. You can add a trace ID to a gateway to use the trace query feature of EDAS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'PathType' => [ - 'description' => 'The path type that determines how a path is matched.'."\n" - ."\n" - .'* ImplementationSpecific (default)'."\n" - .'* Exact'."\n" - .'* Prefix'."\n", - 'type' => 'string', - 'example' => 'ImplementationSpecific', - ], - ], - ], - ], - 'EnableTls' => [ - 'description' => 'Indicates whether TLS is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'AlbId' => [ - 'description' => 'The ID of the ALB instance.'."\n", - 'type' => 'string', - 'example' => 'alb-5sde0tq62r********', - ], - 'IngressType' => [ - 'description' => 'The Ingress type. Valid values:'."\n" - ."\n" - .'* **NginxIngress**: NGINX Ingress controller'."\n" - .'* **AlbIngress**: ALB Ingress controller'."\n" - ."\n" - .'Default value: NginxIngress.'."\n", - 'type' => 'string', - 'example' => 'NginxIngress', - ], - 'OfficalBasicUrl' => [ - 'description' => 'The URL used for basic monitoring of the open source version.'."\n", - 'type' => 'string', - 'example' => 'https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official', - ], - 'OfficalRequestUrl' => [ - 'description' => 'The URL used for request performance monitoring of the open source version.'."\n", - 'type' => 'string', - 'example' => 'https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official', - ], - 'MseGatewayId' => [ - 'description' => 'The ID of the MSE gateway.'."\n", - 'type' => 'string', - 'example' => 'gw-xxxxxxxx', - ], - 'MseGatewayName' => [ - 'description' => 'The name of the MSE gateway.'."\n", - 'type' => 'string', - 'example' => 'gw-test-name', - ], - 'Annotations' => [ - 'description' => 'The annotations.'."\n", - 'type' => 'string', - 'example' => '{"test-annotation":"test-annotation-value"}', - ], - 'Labels' => [ - 'description' => 'The tags.'."\n", - 'type' => 'string', - 'example' => '{"test-label": "test-labels"}', - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The status code of the response.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'Data' => ['description' => 'The data returned. If the request is successful, `Transform submit success!` is returned.', 'type' => 'string', 'title' => '', 'example' => 'Transform submit success!'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'b197-40ab-9155-****'], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5C1C9DE7-88FF-4B56-A47B-3DBBCEB******\\",\\n \\"Data\\": [\\n {\\n \\"ClusterName\\": \\"my-dev-cluster\\",\\n \\"ClusterId\\": \\"5b2b4ab4-efbc-4a81-9c45-a5942881****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IngressConfs\\": [\\n {\\n \\"CreationTime\\": \\"2021-04-27 20:16:52\\",\\n \\"SslRedirect\\": true,\\n \\"Endpoint\\": \\"47.11x.xx.xx\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"my-ingress\\",\\n \\"DashboardUrl\\": \\"http://grafana.console.aliyun.com/d/10xxxx/ingress\\",\\n \\"Rules\\": [\\n {\\n \\"SecretName\\": \\"my-secret\\",\\n \\"Host\\": \\"example.com\\",\\n \\"Paths\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"Path\\": \\"/foo/bar\\",\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"43d30ba5-c568-460c-8080-d447ed1a****\\",\\n \\"Backend\\": {\\n \\"ServiceName\\": \\"http-service\\",\\n \\"ServicePort\\": \\"8080\\"\\n },\\n \\"CollectRate\\": 100,\\n \\"PathType\\": \\"ImplementationSpecific\\"\\n }\\n ],\\n \\"EnableTls\\": false\\n }\\n ],\\n \\"AlbId\\": \\"alb-5sde0tq62r********\\",\\n \\"IngressType\\": \\"NginxIngress\\",\\n \\"OfficalBasicUrl\\": \\"https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official\\",\\n \\"OfficalRequestUrl\\": \\"https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official\\",\\n \\"MseGatewayId\\": \\"gw-xxxxxxxx\\",\\n \\"MseGatewayName\\": \\"gw-test-name\\",\\n \\"Annotations\\": \\"{\\\\\\"test-annotation\\\\\\":\\\\\\"test-annotation-value\\\\\\"}\\",\\n \\"Labels\\": \\"{\\\\\\"test-label\\\\\\": \\\\\\"test-labels\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5C1C9DE7-88FF-4B56-A47B-3DBBCEB23256</RequestId>\\n<Message>success</Message>\\n<Data>\\n <ClusterId>5b2b4ab4-efbc-4a81-9c45-a5942881****</ClusterId>\\n <ClusterName>my-dev-cluster</ClusterName>\\n <RegionId>cn-hangzhou</RegionId>\\n <IngressConfs>\\n <SslRedirect/>\\n <Endpoint>47.11x.xx.xx</Endpoint>\\n <CreationTime>2021-04-27 20:16:52</CreationTime>\\n <Namespace>default</Namespace>\\n <DashboardUrl>http://grafana.console.aliyun.com/d/10xxxx/ingress</DashboardUrl>\\n <Name>my-ingress</Name>\\n <Rules>\\n <SecretName>my-secret</SecretName>\\n <Host>abc.com</Host>\\n <Paths>\\n <Path>/foo/bar</Path>\\n <Status>Normal</Status>\\n <AppId>43d30ba5-c568-460c-8080-d447ed1a****</AppId>\\n <AppName>my-app</AppName>\\n <Backend>\\n <ServicePort>8080</ServicePort>\\n <ServiceName>http-service</ServiceName>\\n </Backend>\\n </Paths>\\n </Rules>\\n </IngressConfs>\\n</Data>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'ListK8sIngressRules', - 'summary' => 'Queries ingresses.', + 'errorCodes' => [], + 'title' => 'TransformClusterMember', + 'summary' => 'Imports or transfers ECS instances.', + 'description' => '## Limitations'."\n" + ."\n" + .'Calling this API to import an ECS instance reinstalls its operating system. This process deletes all data on the instance and requires you to reset the logon password. Before you import the instance, back up any important data.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateConfigTemplate' => [ - 'summary' => 'Creates a configuration template.', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TransformClusterMember'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"Transform submit success!\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","type":"json"}]', + ], + 'UnbindK8sSlb' => [ + 'summary' => 'Unbinds a Server Load Balancer (SLB) instance from an application that is deployed in a Container Service for Kubernetes (ACK) cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22441,130 +16273,79 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => 'The name of the configuration template. The name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-template', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c', 'title' => ''], ], [ - 'name' => 'Format', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板数据格式', - 'description' => 'The data format of the configuration template. Valid values:'."\n" - ."\n" - .'* JSON: JSON format'."\n" - .'* XML: XML format'."\n" - .'* YAML: YAML format'."\n" - .'* Properties: .properties format'."\n" - .'* KeyValue: key-value pairs'."\n" - .'* Custom: custom format'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'JSON', - ], + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster. You can call the GetK8sCluster operation to query the cluster ID. For more information, see [GetK8sCluster](~~181437~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee', 'title' => ''], ], [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板描述', - 'description' => 'The description of the configuration template. The description can be up to 255 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'My configuration template'."\n", - ], + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The type of the SLB instance. Valid values:'."\n" + ."\n" + .'- **internet**: Internet-facing SLB instance'."\n" + ."\n" + .'- **intranet**: internal-facing SLB instance', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet', 'title' => ''], ], [ - 'name' => 'Content', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板内容', - 'description' => 'The content of the configuration template. The value must be in the format that is specified by the Format parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'SlbName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'a2d4ab12666544a479cdd0711a97****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'title' => '响应数据', - 'description' => 'The data returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'title' => '模板ID', - 'description' => 'The ID of the template.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '125122', - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => 'b0a8441e-****-4e8e-9874-b56dea02952f', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '1234-1sda-321d-1234', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message ', - 'errorMessage' => 'You are not authorized to perform the operation. ', + 'title' => 'UnbindK8sSlb', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindK8sSlb'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Id\\": 125122\\n }\\n}","type":"json"}]', - 'title' => 'CreateConfigTemplate', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"b0a8441e-****-4e8e-9874-b56dea02952f\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1234-1sda-321d-1234\\"\\n}","type":"json"}]', ], - 'CreateK8sConfigMap' => [ - 'summary' => 'Creates a Kubernetes ConfigMap.', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UnbindSlb' => [ + 'summary' => 'Call the UnbindSlb operation to detach a Server Load Balancer (SLB) instance.', + 'path' => '/pop/app/unbind_slb_json', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22572,55 +16353,35 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'b07c8192-****-adf4f7447720', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d-********************', 'title' => ''], ], [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'name' => 'SlbId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-wz9vo49****************', 'title' => ''], ], [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The network type of the SLB instance.'."\n" + ."\n" + .'- **internet**: an internet-facing instance.'."\n" + ."\n" + .'- **intranet**: an internal-facing instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet', 'title' => ''], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The data of the ConfigMap. The value must be a JSON array string.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'DeleteListener', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to delete the listener.'."\n" + ."\n" + .'- true: Delete the listener.'."\n" + ."\n" + .'- false: Do not delete the listener.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -22628,47 +16389,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', - ], + 'Code' => ['description' => 'The status code of the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'example' => 'Unbind slb success', 'title' => ''], + 'Data' => ['description' => 'This parameter is not used.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'errorCodes' => [], + 'title' => 'UnbindSlb', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindSlb'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","type":"json"}]', - 'title' => 'CreateK8sConfigMap', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"Unbind slb success\\",\\n \\"Data\\": \\"{}\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\"\\n}","type":"json"}]', ], - 'CreateK8sSecret' => [ - 'summary' => 'Creates a Kubernetes Secret.', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UntagResources' => [ + 'summary' => 'Removes one or more tags from one or more resources.', + 'path' => '/pop/v5/tag/tags', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22676,101 +16438,42 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-secret', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'Type', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The Secret type. Valid values:'."\n" - ."\n" - .'* Opaque: user-defined data'."\n" - .'* kubernetes.io/tls: Transport Layer Security (TLS) certificate'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Opaque', - ], + 'name' => 'ResourceRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region in which the resource resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The data of the Secret. The value must be a JSON array that contains the following information:'."\n" - ."\n" - .'* Key: Secret key'."\n" - .'* Value: Secret value'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- **application**: Enterprise Distributed Application Service (EDAS) application'."\n" + ."\n" + .'- **cluster**: EDAS cluster', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application', 'title' => ''], ], [ - 'name' => 'CertId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The certificate ID provided by Alibaba Cloud Certificate Management Service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '6651483', - ], + 'name' => 'ResourceIds', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the resources from which you want to remove tags. You can specify up to 20 IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["f5ad6ff7-xxxx-xxxx-xxxx-2axxxx82xxxx"]', 'title' => ''], ], [ - 'name' => 'CertRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The region in which the certificate is stored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'TagKeys', + 'in' => 'query', + 'schema' => ['description' => 'The tags that you want to remove. You can specify up to 20 tags. Set this parameter to a JSON array.', 'type' => 'string', 'required' => false, 'example' => '["tagKey1","tagKey2"]', 'title' => ''], ], [ - 'name' => 'Base64Encoded', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies whether the data has been encoded in Base64. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'DeleteAll', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove all existing tags from the specified resources. Default value: false. Valid values:'."\n" + ."\n" + .'- **true**: removes all existing tags from the specified resources.'."\n" + ."\n" + .'- **false**: does not remove all existing tags from the specified resources.'."\n" + ."\n" + .'> All existing tags of a resource are removed only if the **tagKeys** parameter is left empty and the **DeleteAll** parameter is set to true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -22778,47 +16481,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'errorMessage' => 'The instance does not exist.', 'description' => 'The instance does not exist.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\"\\n}","type":"json"}]', - 'title' => 'CreateK8sSecret', - ], - 'DeleteConfigTemplate' => [ - 'summary' => 'Deletes a configuration template.', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'delete', + 'title' => 'UntagResources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UntagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877\\"\\n}","type":"json"}]', + ], + 'UpdateAccountInfo' => [ + 'summary' => 'Modifies information about an account.', + 'path' => '/pop/v5/account/edit_account_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22826,78 +16533,69 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => 'The ID of the configuration template.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '555', - ], + 'schema' => ['description' => 'The name of the account.', 'type' => 'string', 'required' => false, 'example' => 'edas-test', 'title' => ''], + ], + [ + 'name' => 'Telephone', + 'in' => 'query', + 'schema' => ['description' => 'The contact information of the account.', 'type' => 'string', 'required' => false, 'example' => '1321234****', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'The email address of the account.', 'type' => 'string', 'required' => false, 'example' => '1321234****@alibaba-inc.com', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'edit successfully', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message ', - 'errorMessage' => 'You are not authorized to perform the operation. ', + 'title' => 'UpdateAccountInfo', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAccountInfo'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UpdateAccountInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => 'DeleteConfigTemplate', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"edit successfully\\",\\n \\"RequestId\\": \\"ECD1D6FC-4307-4583-BA6F-215F3857EAF4\\"\\n}","type":"json"}]', ], - 'DeleteK8sConfigMap' => [ - 'summary' => 'Deletes a Kubernetes ConfigMap.', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateApplicationBaseInfo' => [ + 'summary' => 'Updates the basic information such as the description and owner of an application.', + 'path' => '/pop/v5/app/update_app_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22905,44 +16603,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '51e37e91-6403-423a-9913-f236aa7a6a50', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d-43ff-****-************', 'title' => ''], ], [ - 'name' => 'Namespace', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => 'The name of the application. The name must start with a letter, and can contain letters, digits, underscores (\\_), and hyphens (-). The name can be up to 36 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'hello-edas', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'Desc', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'schema' => ['description' => 'The description of the application. The description can be up to 256 characters in length.', 'type' => 'string', 'example' => 'Test application', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Owner', + 'in' => 'query', + 'schema' => ['description' => 'The owner of the application. The value can be up to 127 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test@aliyun_xxx.com', 'title' => ''], ], ], 'responses' => [ @@ -22950,47 +16631,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-**************', 'title' => ''], + 'Applcation' => [ + 'description' => 'The applications that you want to modify.', + 'type' => 'object', + 'properties' => [ + 'ExtSlbIp' => ['description' => 'The IP address of the Internet-facing Server Load Balancer (SLB) instance.', 'type' => 'string', 'example' => '39.97.XX.XX', 'title' => ''], + 'Owner' => ['description' => 'The owner of the application.', 'type' => 'string', 'example' => 'test@aliyun_XXX.com', 'title' => ''], + 'SlbPort' => ['description' => 'The port used by the internal-facing SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ExtSlbName' => ['description' => 'The name of the Internet-facing SLB instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the application was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1577259573911', 'title' => ''], + 'UserId' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'string', 'example' => 'edas_com***@****.***', 'title' => ''], + 'Port' => ['description' => 'The port used by the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'RunningInstanceCount' => ['description' => 'The number of running application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SlbIp' => ['description' => 'The IP address of the internal-facing SLB instance.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'Dockerize' => ['description' => 'Indicates whether the application is a Docker application.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'c627c157-560d-43ff-****-************', 'title' => ''], + 'Memory' => ['description' => 'The size of memory configured for an application instance. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Name' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => 'd7730a49-629a-47bd-****-f45eb01f****', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the internal-facing SLB instance.', 'type' => 'string', 'example' => 'a3d4*******', 'title' => ''], + 'HealthCheckUrl' => ['description' => 'The health check URL.', 'type' => 'string', 'example' => 'http://127.0.XX.XX:8080/_etc.html', 'title' => ''], + 'ApplicationType' => ['description' => 'The deployment type of the application. Valid values:'."\n" + ."\n" + .'- War: The application is deployed by using a WAR package.'."\n" + ."\n" + .'- FatJar: The application is deployed by using a JAR package.'."\n" + ."\n" + .'- Image: The application is deployed by using an image.'."\n" + ."\n" + .'- If this parameter is empty, the application is not deployed.', 'type' => 'string', 'example' => 'FatJar', 'title' => ''], + 'ExtSlbId' => ['description' => 'The ID of the Internet-facing SLB instance.', 'type' => 'string', 'example' => 'ace93*******', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-beijing:****', 'title' => ''], + 'BuildPackageId' => ['description' => 'The build package number of Enterprise Distributed Application Service (EDAS) Container.', 'type' => 'integer', 'format' => 'int64', 'example' => '58', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the cluster. Valid values:'."\n" + ."\n" + .'- 0: normal Docker cluster'."\n" + ."\n" + .'- 1: Swarm cluster'."\n" + ."\n" + .'- 2: ECS cluster'."\n" + ."\n" + .'- 3: self-managed Kubernetes cluster in EDAS'."\n" + ."\n" + .'- 4: cluster in which Pandora automatically registers applications'."\n" + ."\n" + .'- 5: Container Service for Kubernetes (ACK) clusters', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SlbName' => ['description' => 'The name of the internal-facing SLB instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\",\\n \\"Applcation\\": {\\n \\"ExtSlbIp\\": \\"39.97.XX.XX\\",\\n \\"Owner\\": \\"test@aliyun_XXX.com\\",\\n \\"SlbPort\\": 80,\\n \\"ExtSlbName\\": \\"test\\",\\n \\"CreateTime\\": 1577259573911,\\n \\"UserId\\": \\"edas_com***@****.***\\",\\n \\"Port\\": 8080,\\n \\"RunningInstanceCount\\": 1,\\n \\"SlbIp\\": \\"192.168.XX.XX\\",\\n \\"Dockerize\\": false,\\n \\"Description\\": \\"test\\",\\n \\"InstanceCount\\": 1,\\n \\"AppId\\": \\"c627c157-560d-43ff-****-************\\",\\n \\"Memory\\": 0,\\n \\"Name\\": \\"test\\",\\n \\"ClusterId\\": \\"d7730a49-629a-47bd-****-f45eb01f****\\",\\n \\"SlbId\\": \\"a3d4*******\\",\\n \\"HealthCheckUrl\\": \\"http://127.0.XX.XX:8080/_etc.html\\",\\n \\"ApplicationType\\": \\"FatJar\\",\\n \\"ExtSlbId\\": \\"ace93*******\\",\\n \\"RegionId\\": \\"cn-beijing:****\\",\\n \\"BuildPackageId\\": 58,\\n \\"Cpu\\": 0,\\n \\"ClusterType\\": 2,\\n \\"SlbName\\": \\"test\\"\\n }\\n}","type":"json"}]', + 'title' => 'UpdateApplicationBaseInfo', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationBaseInfo'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ConfigApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\"\\n}","type":"json"}]', - 'title' => 'DeleteK8sConfigMap', + 'translator' => 'manual', ], - 'DeleteK8sSecret' => [ - 'summary' => 'Deletes a Kubernetes Secret.', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateApplicationScalingRule' => [ + 'summary' => 'Calls the UpdateApplicationScalingRule operation to update the Auto Scaling rule for an application.', + 'path' => '/pop/v1/eam/scale/application_scaling_rule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22998,44 +16732,53 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2b3a1013-31c7-433b-8fe7-3895d838b824', - ], + 'schema' => ['description' => 'The ID of the application. Call the [ListApplication](~~149390~~) operation to obtain this ID.', 'type' => 'string', 'required' => false, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-secret', - ], + 'schema' => ['description' => 'The name of the Auto Scaling policy.', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger', 'title' => ''], ], [ - 'name' => 'Namespace', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => 'The type of the Auto Scaling policy. Only the following type is supported:'."\n" + ."\n" + .'- trigger: a trigger-based policy.', 'type' => 'string', 'required' => false, 'example' => 'trigger', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleEnable', + 'in' => 'query', + 'schema' => ['description' => 'The status of the Auto Scaling policy.'."\n" + ."\n" + .'- **true**: enabled'."\n" + ."\n" + .'- **false**: disabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleMetric', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleTimer', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleTrigger', + 'in' => 'query', + 'schema' => ['description' => 'The trigger policy, which is a JSON string of a ScalingRuleTriggerDTO object. For more information about the format, see the Additional information about request parameters section.', 'type' => 'string', 'required' => false, 'example' => 'ScalingRuleTriggerDTO{......}', 'title' => ''], + ], + [ + 'name' => 'ScalingBehaviour', + 'in' => 'query', + 'schema' => ['description' => 'The configuration of custom scaling behaviors. For more information about the data structure, see the example.', 'type' => 'string', 'required' => false, 'example' => '{"scaleUp":{"stabilizationWindowSeconds":"0","selectPolicy":"Max","policies":[{"type":"Pods","value":5,"periodSeconds":15}]},"scaleDown":{"stabilizationWindowSeconds":"300","selectPolicy":"Max","policies":[{"type":"Percent","value":200,"periodSeconds":15}]}}', 'title' => ''], ], ], 'responses' => [ @@ -23043,47 +16786,238 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', 'title' => ''], + 'AppScalingRule' => [ + 'description' => 'The Auto Scaling policy.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The UNIX timestamp when the Auto Scaling policy was updated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'CreateTime' => ['description' => 'The UNIX timestamp when the Auto Scaling policy was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application to which the Auto Scaling policy belongs.', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', 'title' => ''], + 'LastDisableTime' => ['description' => 'The UNIX timestamp when the Auto Scaling policy was last disabled. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'The status of the Auto Scaling policy.'."\n" + ."\n" + .'- **true**: enabled'."\n" + ."\n" + .'- **false**: disabled', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the Auto Scaling policy. Only the trigger type is supported.', 'type' => 'string', 'example' => 'trigger', 'title' => ''], + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleRuleName' => ['description' => 'The name of the Auto Scaling policy.', 'type' => 'string', 'example' => 'cpu-trigger', 'title' => ''], + 'Metric' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Metrics' => [ + 'description' => 'This parameter is deprecated.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricType' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Trigger' => [ + 'description' => 'The trigger configuration.', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => 'The minimum number of replicas. The value cannot be less than 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of replicas. The value cannot exceed 1,000.', 'type' => 'integer', 'format' => 'int32', 'example' => '122', 'title' => ''], + 'Triggers' => [ + 'description' => 'The list of trigger configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The trigger type. Only cron and app\\_metric are supported.', 'type' => 'string', 'example' => 'cron', 'title' => ''], + 'MetaData' => ['description' => 'The metadata of the trigger.', 'type' => 'string', 'example' => '{"dryRun":true}', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Behaviour' => [ + 'description' => 'The scaling behavior configuration.', + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'description' => 'The scale-out behavior configuration.', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown time for scale-outs. Valid values: 0 to 3,600. Unit: seconds. Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scale-out step size. Valid values: Max, Min, and Disable.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'description' => 'The policy configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The check period. Valid values: 0 to 1,800. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The policy type. Valid values: Pods and Percent.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value of the policy for the scaling behavior. The value must be an integer greater than 0. If the policy type is Pods, the value indicates the number of pods. If the policy type is Percent, the value indicates a percentage, which can exceed 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleDown' => [ + 'description' => 'The scale-in behavior configuration.', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => 'The cooldown time for scale-ins. Valid values: 0 to 3,600. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'SelectPolicy' => ['description' => 'The policy for the scale-in step size. Valid values: Max, Min, and Disable.', 'type' => 'string', 'example' => 'Max', 'title' => ''], + 'Policies' => [ + 'description' => 'The policy configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => 'The check period. Valid values: 0 to 1,800. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Type' => ['description' => 'The policy type. Valid values: Pods and Percent.', 'type' => 'string', 'example' => 'Pods', 'title' => ''], + 'Value' => ['description' => 'The value of the policy for the scaling behavior. The value must be an integer greater than 0. If the policy type is Pods, the value indicates the number of pods. If the policy type is Percent, the value indicates a percentage, which can exceed 100%.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => 'UpdateApplicationScalingRule', + 'requestParamsDescription' => '## Additional information about request parameters'."\n" + ."\n" + .'```'."\n" + .'public class ScalingRuleTriggerDTO {'."\n" + .' /**'."\n" + .' * The maximum number of instances. The value cannot exceed 1,000.'."\n" + .' */'."\n" + .' Integer maxReplicas;'."\n" + .' /**'."\n" + .' * The minimum number of instances. The value cannot be less than 0.'."\n" + .' */'."\n" + .' Integer minReplicas;'."\n" + ."\n" + .' /**'."\n" + .' * The list of triggers. Multiple triggers are supported.'."\n" + .' */'."\n" + .' List<Trigger> triggers;'."\n" + ."\n" + .' @Data'."\n" + .' @ToString'."\n" + .' @Builder'."\n" + .' @AllArgsConstructor'."\n" + .' @NoArgsConstructor'."\n" + .' public static class Trigger {'."\n" + .' /**'."\n" + .' * The trigger type. Valid values: cron (scheduled) and app_metric (application monitoring).'."\n" + .' */'."\n" + .' String type;'."\n" + ."\n" + .' /**'."\n" + .' * The name of the trigger. The name must start with a letter and can contain digits, letters, hyphens (-), and underscores (_). The name can be up to 30 characters in length.'."\n" + .' */'."\n" + .' String name;'."\n" + ."\n" + .' /**'."\n" + .' The trigger metadata. This is a JSON map of the string-to-string type. The supported metadata varies by trigger type.'."\n" + .' 1. cron'."\n" + .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" + .' * period: The period. Valid values: daily, weekly, and monthly.'."\n" + .' * dryRun: If set to false, the system monitors and performs scaling. If set to true, the system only monitors metrics.'."\n" + .' * timerInDay: The daily scaling cycle. Specifies when to maintain a specific number of replicas.'."\n" + .' * timerInWeek: The day of the week in a cron expression. For example, Fri.'."\n" + ."\n" + .' 2. app_metric'."\n" + .' {\\"metricName\\":\\"arms_appstat.incall_QPS\\",\\"dryRun\\":\\"false\\",\\"targetValAvg\\":\\"true\\",\\"targetAverageValue\\":\\"100\\"}'."\n" + .' '."\n" + .' * metricName:'."\n" + .' * arms_appstat.incall_QPS (queries per second (QPS))'."\n" + .' * arms_appstat.incall_rt (response time)'."\n" + .' * arms_appstat.system_CPU (CPU usage)'."\n" + .' * arms_appstat.system_MEM (memory usage)'."\n" + .' * dryRun: Same as the dryRun parameter for the cron trigger type.'."\n" + .' * targetValAvg: Specifies whether to calculate the average value. Set to true for QPS and false for other metrics.'."\n" + .' * targetAverageValue/targetValue: If targetValAvg is set to true, use targetAverageValue. If targetValAvg is set to false, use targetValue.'."\n" + .' */'."\n" + .' String metadata;'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\"\\n}","type":"json"}]', - 'title' => 'DeleteK8sSecret', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 1574251601785,\\n \\"CreateTime\\": 1574251601785,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 1574251601785,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', ], 'UpdateConfigTemplate' => [ 'summary' => 'Modifies a configuration template.', 'path' => '/pop/v5/config_template', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23091,128 +17025,94 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => 'The ID of the configuration template.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '123', - ], + 'schema' => ['description' => 'The ID of the configuration template.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => 'The name of the configuration template. The name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'configtmpl1', - ], + 'schema' => ['description' => 'The name of the configuration template. The name can be up to 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'configtmpl1', 'title' => ''], ], [ 'name' => 'Format', 'in' => 'formData', - 'schema' => [ - 'title' => '模板数据格式', - 'description' => 'The data format of the configuration template. Valid values:'."\n" - ."\n" - .'* JSON: JSON format'."\n" - .'* XML: XML format'."\n" - .'* YAML: YAML format'."\n" - .'* Properties: .properties format'."\n" - .'* KeyValue: key-value pairs'."\n" - .'* Custom: custom format'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'JSON', - ], + 'schema' => ['description' => 'The data format of the configuration template. Valid values:'."\n" + ."\n" + .'- JSON: JSON format'."\n" + ."\n" + .'- XML: XML format'."\n" + ."\n" + .'- YAML: YAML format'."\n" + ."\n" + .'- Properties: .properties format'."\n" + ."\n" + .'- KeyValue: key-value pairs'."\n" + ."\n" + .'- Custom: custom format', 'type' => 'string', 'required' => false, 'example' => 'JSON', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'title' => '模板描述', - 'description' => 'The description of the configuration template. The description can be up to 255 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test configuration template'."\n", - ], + 'schema' => ['description' => 'The description of the configuration template. The description can be up to 255 characters in length.', 'type' => 'string', 'example' => 'Test configuration template', 'required' => false, 'title' => ''], ], [ 'name' => 'Content', 'in' => 'formData', - 'schema' => [ - 'title' => '模板内容', - 'description' => 'The content of the configuration template. The value must be in the format that is specified by the Format parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"name":"william","age":18}', - ], + 'schema' => ['description' => 'The content of the configuration template. The value must be in the format that is specified by the Format parameter.', 'type' => 'string', 'required' => false, 'example' => '{"name":"william","age":18}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'D16979DC-4D42-*************'], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation. ', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation. ', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', 'title' => 'UpdateConfigTemplate', - ], - 'UpdateK8sConfigMap' => [ - 'summary' => 'Modifies a Kubernetes ConfigMap.', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateConfigTemplate'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UpdateConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'UpdateContainer' => [ + 'summary' => 'Updates the Enterprise Distributed Application Service (EDAS) Container version of a High-Speed Service Framework (HSF) application. EDAS Container includes Ali-Tomcat and Pandora.', + 'path' => '/pop/v5/changeorder/co_update_container', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23220,466 +17120,202 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc', 'title' => ''], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The data of the ConfigMap. Set this parameter to a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'The build package number of EDAS Container. You can obtain the build package number in the Build package number column in the EDAS Container release notes table. For more information, see [Release notes for EDAS Container](~~92614~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '59', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned content.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The ID of the change process.'."\n", 'type' => 'string', 'example' => 'eb1b9862-****-476f-9e78-d6aa0842835a', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'errorCodes' => [], + 'title' => 'UpdateContainer', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainer'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","type":"json"}]', - 'title' => 'UpdateK8sConfigMap', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"eb1b9862-****-476f-9e78-d6aa0842835a\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323******\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>eb1b9862-****-476f-9e78-d6aa0842835a</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', ], - 'UpdateK8sSecret' => [ - 'summary' => 'Modifies a Kubernetes Secret.', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateContainerConfiguration' => [ + 'path' => '/pop/v5/app/container_config', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-secret', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'Type', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the Secret. Valid values:'."\n" - ."\n" - .'* Opaque: user-defined data type'."\n" - .'* kubernetes.io/tls: Transport Layer Security (TLS) certificate type'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Opaque', - ], - ], - [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The data of the Secret. The value must be a JSON array that contains the following information:'."\n" - ."\n" - .'* Key: Secret key'."\n" - .'* Value: Secret value'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], - ], - [ - 'name' => 'CertId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '6650277', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-43ff-************', 'title' => ''], ], [ - 'name' => 'CertRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The region ID of the certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application instance group.'."\n" + ."\n" + .'* If an ID is specified, this operation configures the Tomcat container for the specified application instance group.'."\n" + .'* If you set this parameter to "", this operation configures the Tomcat container for the application.'."\n", 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-**************', 'title' => ''], ], [ - 'name' => 'Base64Encoded', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies whether the data has been encoded in Base64.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', - 'title' => 'UpdateK8sSecret', - ], - 'ListConfigTemplates' => [ - 'summary' => 'Queries configuration templates.', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'name' => 'ContextPath', + 'in' => 'query', + 'schema' => ['description' => 'The context path of the Tomcat container. The context path can be an empty string, a null WAR package name, a root directory, or other custom non-empty strings. It can contain letters, digits, hyphens (-), and underscores (\\_). Take note of the following items:'."\n" + ."\n" + .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" + .'* If this parameter is not specified when you configure the Tomcat container for an application, the root directory `/` is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '/', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'CurrentPage', + 'name' => 'HttpPort', 'in' => 'query', - 'schema' => [ - 'title' => '页码', - 'description' => 'The number of the page to return. Pages start from Page 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The application port number for the Tomcat container. Take note of the following items:'."\n" + ."\n" + .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" + .'* If this parameter is not specified when you configure the application, the default port 8080 is applied.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'MaxThreads', 'in' => 'query', - 'schema' => [ - 'title' => '页大小', - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The maximum number of threads. Take note of the following items:'."\n" + ."\n" + .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" + .'* If this parameter is not specified when you configure the application, the default value 250 is applied.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'Id', + 'name' => 'URIEncoding', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => 'The ID of the configuration template.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c******', - ], + 'schema' => ['description' => 'The uniform resource identifier (URI) encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8. Take note of the following items:'."\n" + ."\n" + .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" + .'* If this parameter is not specified when you configure the application, the default URI encoding scheme in the Tomcat container is applied.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ISO-8859-1', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'UseBodyEncoding', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => 'The name of the configuration template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'config-tmpl-1', - ], + 'schema' => ['description' => 'Specifies whether to use the encoding scheme specified in the request body for URI query parameters. Take note of the following items:'."\n" + ."\n" + .'* If this parameter is not specified when you configure the application instance group, the configuration of the application is applied.'."\n" + .'* If this parameter is not specified when you configure the application, the default value false is applied.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The returned content.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'title' => '查询结果', - 'description' => 'The result of the request.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D16979DC-4D42-***************', 'title' => ''], + 'ContainerConfiguration' => [ + 'description' => 'The configuration of the Tomcat container.'."\n", 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'title' => '当前分页', - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '页大小', - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'title' => '配置模板总数', - 'description' => 'The total number of configuration templates.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Result' => [ - 'title' => '配置模板列表', - 'description' => 'The configuration templates.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'title' => '配置模板ID', - 'description' => 'The ID of the configuration template.'."\n", - 'type' => 'string', - 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c2b460c', - ], - 'Name' => [ - 'title' => '配置模板名称', - 'description' => 'The name of the configuration template.'."\n", - 'type' => 'string', - 'example' => 'config-tmpl-1', - ], - 'Format' => [ - 'title' => '模板数据格式', - 'description' => 'The data format of the configuration template.'."\n", - 'type' => 'string', - 'example' => 'JSON', - ], - 'Description' => [ - 'title' => '模板描述', - 'description' => 'The description of the configuration template.'."\n", - 'type' => 'string', - 'example' => 'Test configuration template'."\n", - ], - 'Content' => [ - 'title' => '模板内容', - 'description' => 'The content of the configuration template.'."\n", - 'type' => 'string', - 'example' => '{"name":"William"}', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => 'The time when the configuration template was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1638171689626', - ], - 'GmtModified' => [ - 'title' => '更新时间', - 'description' => 'The time when the configuration template was updated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1638171689626', - ], - ], - ], - ], + 'HttpPort' => ['description' => 'The application port number for the Tomcat container.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'ContextPath' => ['description' => 'The context path of the Tomcat container.'."\n", 'type' => 'string', 'example' => '/', 'title' => ''], + 'UseBodyEncoding' => ['description' => 'Indicates whether useBodyEncodingForURI is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MaxThreads' => ['description' => 'The maximum number of threads.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'URIEncoding' => ['description' => 'The URI encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.'."\n", 'type' => 'string', 'example' => 'ISO-8859-1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message ', - 'errorMessage' => 'You are not authorized to perform the operation. ', + 'title' => 'UpdateContainerConfiguration', + 'summary' => 'Configures the Tomcat container for an application or application instance group in an Elastic Compute Service (ECS) cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainerConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 100,\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"3d84efaf-37d9-49fb-a3a8-b38d5c2b460c\\",\\n \\"Name\\": \\"config-tmpl-1\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Description\\": \\"测试配置模板\\",\\n \\"Content\\": \\"{\\\\\\"name\\\\\\":\\\\\\"William\\\\\\"}\\",\\n \\"GmtCreate\\": 1638171689626,\\n \\"GmtModified\\": 1638171689626\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListConfigTemplates', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-***************\\",\\n \\"ContainerConfiguration\\": {\\n \\"HttpPort\\": 8080,\\n \\"ContextPath\\": \\"/\\",\\n \\"UseBodyEncoding\\": true,\\n \\"MaxThreads\\": 20,\\n \\"URIEncoding\\": \\"ISO-8859-1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<ContainerConfiguration>\\n <UseBodyEncoding>true</UseBodyEncoding>\\n <MaxThreads>20</MaxThreads>\\n <HttpPort>8080</HttpPort>\\n <URIEncoding>ISO-8859-1</URIEncoding>\\n</ContainerConfiguration>\\n<Code>200</Code>","errorExample":""}]', ], - 'GetJavaStartUpConfig' => [ - 'path' => '/pop/v5/oam/java_start_up_config', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateHealthCheckUrl' => [ + 'path' => '/pop/v5/app/modify_hc_url', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5fdf50e8-*', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-43ff-***************', 'title' => ''], + ], + [ + 'name' => 'hcURL', + 'in' => 'query', + 'schema' => ['description' => 'The health check URL of the application. The URL must start with `http://`, and can be up to 255 characters in length. Example: `http://127.0.0.1:8080/_ehc.html`. If this parameter is not specified, the health check URL of the application is not changed.', 'type' => 'string', 'required' => false, 'example' => 'http://127.0.0.1:8080/_ehc.html', 'title' => ''], ], ], 'responses' => [ @@ -23687,87 +17323,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'JavaStartUpConfig' => [ - 'description' => 'The configuration of Java startup parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartUpArgs' => [ - 'description' => 'The effective startup parameter configuration.'."\n", - 'type' => 'string', - 'example' => '-Xms512m', - ], - 'OriginalConfigs' => [ - 'description' => 'The displayed startup parameter configuration.'."\n", - 'type' => 'string', - 'example' => '-Xms512m', - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-*****************', 'title' => ''], + 'HealthCheckURL' => ['description' => 'The health check URL.', 'type' => 'string', 'example' => 'http://127.0.0.1:8080/_ehc.html', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"JavaStartUpConfig\\": {\\n \\"StartUpArgs\\": \\"-Xms512m\\",\\n \\"OriginalConfigs\\": \\"-Xms512m\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetJavaStartUpConfigResponse>\\n<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<JavaStartUpConfig>\\n <StartUpArgs>-Xms512m</StartUpArgs>\\n <OriginalConfigs>-Xms512m</OriginalConfigs>\\n</JavaStartUpConfig>\\n<Code>200</Code>\\n</GetJavaStartUpConfigResponse>","errorExample":""}]', - 'title' => 'GetJavaStartUpConfig', - 'summary' => 'Queries the configuration of Java startup parameters for an application.', + 'title' => 'UpdateHealthCheckUrl', + 'summary' => 'Changes the health check URL for an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetWebContainerConfig' => [ - 'path' => '/pop/v5/oam/web_container_config', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateHealthCheckUrl'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-*****************\\",\\n \\"HealthCheckURL\\": \\"http://127.0.0.1:8080/_ehc.html\\"\\n}","type":"json"}]', + ], + 'UpdateHookConfiguration' => [ + 'summary' => 'Mounts a script to an application or application instance group.', + 'path' => '/pop/app/config_app_hook_json', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd498****-1dd8ec229862', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application instance group.', 'type' => 'string', 'required' => false, 'example' => 'd498****-1dd8ec229862', 'title' => ''], + ], + [ + 'name' => 'Hooks', + 'in' => 'query', + 'schema' => ['description' => 'The script to mount. Set the value in the JSON format. Example: `[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"},{"ignoreFail":true,"name":"postdeleteInstanceDataOnScaleIn","script":""},{"ignoreFail":true,"name":"prestartInstance","script":""},{"ignoreFail":true,"name":"poststartInstance","script":""},{"ignoreFail":true,"name":"prestopInstance","script":""},{"ignoreFail":true,"name":"poststopInstance","script":""}]`', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]', 'title' => ''], ], ], 'responses' => [ @@ -23775,187 +17395,139 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'WebContainerConfig' => [ - 'description' => 'The Tomcat configurations of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'ContextPath' => [ - 'description' => 'The context path.'."\n", - 'type' => 'string', - 'example' => 'ROOT', - ], - 'UseAdvancedServerXml' => [ - 'description' => 'Indicates whether advanced configurations are used to customize the server.xml file.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'UseDefaultConfig' => [ - 'description' => 'Indicates whether the default configurations are used.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'HttpPort' => [ - 'description' => 'The HTTP service port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextInputType' => [ - 'description' => 'The type of the context path.'."\n", - 'type' => 'string', - 'example' => 'root', - ], - 'UseBodyEncoding' => [ - 'description' => 'Indicates whether the encoding scheme specified in the request body is used for uniform resource identifier (URI) query parameters.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'UriEncoding' => [ - 'description' => 'The URI encoding scheme.'."\n", - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], - 'MaxThreads' => [ - 'description' => 'The maximum number of threads.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'ServerXml' => [ - 'description' => 'The content of the server.xml file customized by using advanced configurations.'."\n", - 'type' => 'string', - 'example' => '<Server port=*****', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'd498****-1dd8ec229862', 'title' => ''], + 'HooksConfiguration' => [ + 'description' => 'The information about the mounted script.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IgnoreFail' => ['description' => 'Indicates whether a mount failure is ignored. Valid values:'."\n" + ."\n" + .'- **true**: A mount failure is ignored.'."\n" + ."\n" + .'- **false**: A mount failure is not ignored.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted script.', 'type' => 'string', 'example' => 'postprepareInstanceEnvironmentOnScaleOut', 'title' => ''], + 'Script' => ['description' => 'The content of the mounted script.', 'type' => 'string', 'example' => 'ls', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\",\\n \\"WebContainerConfig\\": {\\n \\"ContextPath\\": \\"ROOT\\",\\n \\"UseAdvancedServerXml\\": true,\\n \\"UseDefaultConfig\\": true,\\n \\"HttpPort\\": 8080,\\n \\"ContextInputType\\": \\"root\\",\\n \\"UseBodyEncoding\\": true,\\n \\"UriEncoding\\": \\"ISO-8859-1\\",\\n \\"MaxThreads\\": 500,\\n \\"ServerXml\\": \\"<Server port=*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetWebContainerConfigResponse>\\n<Message>success</Message>\\n<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Code>200</Code>\\n<WebContainerConfig>\\n <HttpPort>8080</HttpPort>\\n <UriEncoding>ISO-8859-1</UriEncoding>\\n <ContextPath>ROOT</ContextPath>\\n <ContextInputType>root</ContextInputType>\\n <UseBodyEncoding>true</UseBodyEncoding>\\n <ServerXml><Server port=*****</ServerXml>\\n <MaxThreads>500</MaxThreads>\\n <UseDefaultConfig>true</UseDefaultConfig>\\n <UseAdvancedServerXml>true</UseAdvancedServerXml>\\n</WebContainerConfig>\\n</GetWebContainerConfigResponse>","errorExample":""}]', - 'title' => 'GetWebContainerConfig', - 'summary' => 'Queries the Tomcat configurations of an application.', - 'description' => '***'."\n", + 'title' => 'UpdateHookConfiguration', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sConfigMaps' => [ - 'summary' => 'Queries Kubernetes ConfigMaps.', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateHookConfiguration'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"d498****-1dd8ec229862\\",\\n \\"HooksConfiguration\\": [\\n {\\n \\"IgnoreFail\\": true,\\n \\"Name\\": \\"postprepareInstanceEnvironmentOnScaleOut\\",\\n \\"Script\\": \\"ls\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'UpdateJvmConfiguration' => [ + 'summary' => 'Configures the Java virtual machine (JVM) parameters for an application or an instance group where the application is deployed.', + 'path' => '/pop/v5/app/app_jvm_config', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c0830281-366c-41b6-80fb-542e76******', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-*************', 'title' => ''], ], [ - 'name' => 'Namespace', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The ID of the instance group where the application is deployed. You can call the ListDeployGroup operation to query the group ID. For more information, see [ListDeployGroup](~~62077~~).'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- To configure the JVM parameters for an instance group, set this parameter to a specific ID.'."\n" + ."\n" + .'- To configure the JVM parameters for an application, leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '0afc726e-077e-4357-98b2-db9f7145****', 'title' => ''], ], [ - 'name' => 'PageNo', + 'name' => 'Options', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from Page 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The custom JVM parameters.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" + ."\n" + .'- If this parameter is not specified in the application configuration, the default value is used.', 'type' => 'string', 'required' => false, 'example' => '-Dproperty=value', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'MinHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The initial size of the heap memory. Unit: MB.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" + ."\n" + .'- If this parameter is not specified in the application configuration, the default value is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500', 'title' => ''], ], [ - 'name' => 'Condition', + 'name' => 'MaxPermSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The filter conditions. Set this parameter to a JSON string in the format of {"field":"Name", "pattern":"configmap-"}.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"field":"Name", "pattern":"configmap-"}', - ], + 'schema' => ['description' => 'The size of the permanent generation heap memory. Unit: MB.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" + ."\n" + .'- If this parameter is not specified in the application configuration, the default value is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'ShowRelatedApps', + 'name' => 'MaxHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return a list of applications that use a ConfigMap. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The maximum size of the heap memory. Unit: MB.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- If this parameter is not specified in the group configuration, the value specified in the application configuration is used.'."\n" + ."\n" + .'- If this parameter is not specified in the application configuration, the default value is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500', 'title' => ''], ], ], 'responses' => [ @@ -23963,216 +17535,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - 'Result' => [ - 'description' => 'The query results that are returned.'."\n", + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-********************', 'title' => ''], + 'JvmConfiguration' => [ + 'description' => 'The settings of the JVM parameters.', 'type' => 'object', 'properties' => [ - 'Total' => [ - 'description' => 'The total number of entries that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'ConfigMaps' => [ - 'description' => 'The information about ConfigMaps.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the ConfigMaps were created. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-01-31T02:46:14Z', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'my-cluster', - ], - 'Namespace' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Name' => [ - 'description' => 'The name of the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'my-config', - ], - 'ClusterId' => [ - 'description' => 'The ID of the Kubernetes cluster. You can obtain the cluster ID by calling the GetK8sCluster operation. For more information, see [GetK8sCluster](~~181437~~).'."\n", - 'type' => 'string', - 'example' => 'd73918f4-3b08-4c17-bb07-eaf8********', - ], - 'Data' => [ - 'description' => 'The information about ConfigMaps.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The user-defined key that is stored in the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The user-defined value that is stored in the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'william', - ], - ], - ], - ], - 'RelatedApps' => [ - 'description' => 'The related applications.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '728cbdf2-da10-49b8-b69c-9168a********', - ], - ], - ], - ], - ], - ], - ], + 'MaxPermSize' => ['description' => 'The size of the permanent generation heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'Options' => ['description' => 'The optional parameters.', 'type' => 'string', 'example' => '”“', 'title' => ''], + 'MaxHeapSize' => ['description' => 'The maximum size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'MinHeapSize' => ['description' => 'The initial size of the heap memory. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => 'UpdateJvmConfiguration', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateJvmConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ConfigApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\",\\n \\"Result\\": {\\n \\"Total\\": 6,\\n \\"ConfigMaps\\": [\\n {\\n \\"CreationTime\\": \\"2022-01-31T02:46:14Z\\",\\n \\"ClusterName\\": \\"my-cluster\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"my-config\\",\\n \\"ClusterId\\": \\"d73918f4-3b08-4c17-bb07-eaf8********\\",\\n \\"Data\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"william\\"\\n }\\n ],\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"728cbdf2-da10-49b8-b69c-9168a********\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListK8sConfigMaps', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-********************\\",\\n \\"JvmConfiguration\\": {\\n \\"MaxPermSize\\": 1000,\\n \\"Options\\": \\"”“\\",\\n \\"MaxHeapSize\\": 500,\\n \\"MinHeapSize\\": 500\\n }\\n}","type":"json"}]', ], - 'ListK8sSecrets' => [ - 'summary' => 'Queries Kubernetes Secrets.', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateK8sApplicationBaseInfo' => [ + 'summary' => 'Modifies basic information about an application that is deployed in a Kubernetes cluster.', + 'path' => '/pop/v5/oam/update_app_basic_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '7a953f9a-2946-4c7a-9d82-9939db******', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the application that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f038ddf-b27b-****-****-88e44375****', 'title' => ''], ], [ - 'name' => 'PageNo', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from Page 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The description of the application. The description can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'app for pre-production', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Owner', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. The value 0 indicates that all entries are returned on one page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The owner of the application. The value can be up to 128 characters in length.', 'type' => 'string', 'example' => 'John Doe', 'required' => false, 'title' => ''], ], [ - 'name' => 'Condition', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The filter conditions. Set this parameter to a JSON string in the format of {"field":"Name", "pattern":"configmap-"}.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"field\\":\\"Name\\",\\"pattern\\":\\"product\\"}', - ], + 'schema' => ['description' => 'The phone number of the application owner.', 'type' => 'string', 'required' => false, 'example' => '1361234xxxx', 'title' => ''], ], [ - 'name' => 'ShowRelatedApps', + 'name' => 'Email', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return a list of applications that use a Secret.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The email address of the application owner.', 'type' => 'string', 'required' => false, 'example' => 'mymail@example.com', 'title' => ''], ], ], 'responses' => [ @@ -24180,236 +17627,52 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Result' => [ - 'description' => 'The returned query results of Kubernetes Secrets.'."\n", - 'type' => 'object', - 'properties' => [ - 'Total' => [ - 'description' => 'The total number of entries that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Secrets' => [ - 'description' => 'The information about Kubernetes Secrets.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the Secret. Valid values:'."\n" - ."\n" - .'* Opaque: user-defined data'."\n" - .'* kubernetes.io/tls: Transport Layer Security (TLS) certificate'."\n", - 'type' => 'string', - 'example' => 'Opaque', - ], - 'CreationTime' => [ - 'description' => 'The time when the Secret was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-05-26T02:57:02Z', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'test-cluster', - ], - 'Namespace' => [ - 'description' => 'The namespace of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Base64Encoded' => [ - 'description' => 'Indicates whether the data is Base64-encoded. Valid values:'."\n" - ."\n" - .'* true: The data is Base64-encoded.'."\n" - .'* false: The data is not Base64-encoded.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'CertRegionId' => [ - 'description' => 'The region in which the certificate is stored.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate provided by Alibaba Cloud Certificate Management Service.'."\n", - 'type' => 'string', - 'example' => '123456', - ], - 'Name' => [ - 'description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.'."\n", - 'type' => 'string', - 'example' => 'my-secret', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster in Enterprise Distributed Application Service (EDAS).'."\n", - 'type' => 'string', - 'example' => '4472a6d3-f01d-4087-85a7-3dc52********', - ], - 'RelatedIngressRules' => [ - 'description' => 'Rules in the Ingress that is associated with the Secret.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the rule in the Ingress.'."\n", - 'type' => 'string', - 'example' => 'testrulename', - ], - 'Namespace' => [ - 'description' => 'The namespaces of the Kubernetes cluster.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'RelatedApps' => [ - 'description' => 'Aplications that are associated with the Ingress.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the EDAS application.'."\n", - 'type' => 'string', - 'example' => 'app-test', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '6dc74432-5a35-4e68-8aaa-3700********', - ], - ], - ], - ], - ], - ], - ], - 'Data' => [ - 'description' => 'The data of the Kubernetes Secret.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The user-defined key of the Kubernetes Secret.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The user-defined value of the Kubernetes Secret.'."\n", - 'type' => 'string', - 'example' => 'william', - ], - ], - ], - ], - 'RelatedApps' => [ - 'description' => 'Applications that use the Secret.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'b08eeb18-8946-410c-a1ea-dbbc********', - ], - ], - ], - ], - 'CertDetail' => [ - 'description' => 'The details of the Secure Sockets Layer (SSL) certificate.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The time when the SSL certificate expired.'."\n", - 'type' => 'string', - 'example' => '2022-02-22T02:32:41Z', - ], - 'Status' => [ - 'description' => 'The state of the SSL certificate. Valid values:'."\n" - ."\n" - .'* normal: The SSL certificate is valid.'."\n" - .'* invalid: The SSL certificate is invalid.'."\n" - .'* expired: The SSL certificate has expired.'."\n" - .'* not_yet_valid: The SSL certificate is currently invalid.'."\n" - .'* about_to_expire: The SSL certificate is about to expire.'."\n", - 'type' => 'string', - 'example' => 'normal', - ], - 'StartTime' => [ - 'description' => 'The time when the SSL certificate started to take effect.'."\n", - 'type' => 'string', - 'example' => '2022-01-02T22:40:00Z', - ], - 'Issuer' => [ - 'description' => 'The certificate authority (CA) that issued the SSL certificate.'."\n", - 'type' => 'string', - 'example' => 'CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE', - ], - 'DomainNames' => [ - 'description' => 'Domain names that are associated with the SSL certificate.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', 'title' => ''], + 'Result' => ['description' => 'The result of the modification.', 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\",\\n \\"Result\\": {\\n \\"Total\\": 6,\\n \\"Secrets\\": [\\n {\\n \\"Type\\": \\"Opaque\\",\\n \\"CreationTime\\": \\"2022-05-26T02:57:02Z\\",\\n \\"ClusterName\\": \\"test-cluster\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Base64Encoded\\": false,\\n \\"CertRegionId\\": \\"cn-hangzhou\\",\\n \\"CertId\\": \\"123456\\",\\n \\"Name\\": \\"my-secret\\",\\n \\"ClusterId\\": \\"4472a6d3-f01d-4087-85a7-3dc52********\\",\\n \\"RelatedIngressRules\\": [\\n {\\n \\"Name\\": \\"testrulename\\",\\n \\"Namespace\\": \\"default\\",\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"app-test\\",\\n \\"AppId\\": \\"6dc74432-5a35-4e68-8aaa-3700********\\"\\n }\\n ]\\n }\\n ],\\n \\"Data\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"william\\"\\n }\\n ],\\n \\"RelatedApps\\": [\\n {\\n \\"AppName\\": \\"my-app\\",\\n \\"AppId\\": \\"b08eeb18-8946-410c-a1ea-dbbc********\\"\\n }\\n ],\\n \\"CertDetail\\": {\\n \\"EndTime\\": \\"2022-02-22T02:32:41Z\\",\\n \\"Status\\": \\"normal\\",\\n \\"StartTime\\": \\"2022-01-02T22:40:00Z\\",\\n \\"Issuer\\": \\"CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE\\",\\n \\"DomainNames\\": [\\n \\"example.com\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListK8sSecrets', - ], - 'RetryChangeOrderTask' => [ - 'summary' => 'Retries a failed process.', - 'path' => '/pop/v5/changeorder/task_retry', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57F146F6-3C94-****-****-A66EF4B9*****\\",\\n \\"Result\\": \\"success\\"\\n}","type":"json"}]', + 'title' => 'UpdateK8sApplicationBaseInfo', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sApplicationBaseInfo'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ConfigApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'UpdateK8sApplicationConfig' => [ + 'path' => '/pop/v5/k8s/acs/k8s_app_configuration', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24417,200 +17680,70 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the process.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '823-bhjf-23u4-eiuf*', - ], + 'schema' => ['description' => 'The ID of the application. You can query the application ID by calling the ListApplication operation. For more information, see [ListApplication](~~423162~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '23bf94d9-****-4994-9917-616a827aa777', 'title' => ''], ], [ - 'name' => 'RetryStatus', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The retry status.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'The retry information.'."\n", - 'type' => 'string', - 'example' => 'success retry task', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - ], - ], + 'schema' => ['description' => 'The ID of the cluster. You can query the cluster ID by calling the ListCluster operation. For more information, see [ListCluster](~~411844~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', 'title' => ''], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": \\"success retry task\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RetryChangeOrderTaskResponse>\\n<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<Data>success retry task</Data>\\n<Code>200</Code>\\n</RetryChangeOrderTaskResponse>","errorExample":""}]', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateApplicationScalingRule' => [ - 'summary' => 'Creates an auto scaling policy for an application.', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'CpuLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of CPU cores allowed for each application instance when the application is running. The value 0 indicates that no limit is set on CPU cores.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'MemoryLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplicationlink](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => 'The maximum size of memory allowed for each application instance when the application is running. Unit: MB. The value 0 indicates that no limit is set on the memory size.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '4', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'McpuLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy. The name must start with a lowercase letter, and can contain lowercase letters, digits, and hyphens (-). The name must be 1 to 32 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'schema' => ['description' => 'The maximum number of CPU cores allowed. The value 0 indicates that no limit is set on CPU cores.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'CpuRequest', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the auto scaling policy. Set the value to **trigger**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'trigger', - ], + 'schema' => ['description' => 'The number of CPU cores requested for each application instance when the application is running. Unit: cores. We recommend that you set this parameter. The value 0 indicates that no limit is set on CPU cores.'."\n" + ."\n" + .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingRuleEnable', + 'name' => 'McpuRequest', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **true**: enables the auto scaling policy.'."\n" - .'* **false**: disables the auto scaling policy.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The minimum number of CPU cores required. Unit: cores. The value 0 indicates that no limit is set on CPU cores.'."\n" + ."\n" + .'> You must set this parameter together with the CpuLimit parameter. Make sure that the value of this parameter does not exceed that of the CpuLimit parameter.', 'type' => 'string', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'ScalingRuleMetric', + 'name' => 'MemoryRequest', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The size of memory requested for each application instance when the application is running. Unit: MB. We recommend that you set this parameter. If you do not want to apply for a memory quota, set this parameter to 0.'."\n" + ."\n" + .'> You must set this parameter together with the MemoryLimit parameter. Make sure that the value of this parameter does not exceed that of the MemoryLimit parameter.', 'type' => 'string', 'required' => false, 'example' => '400', 'title' => ''], ], [ - 'name' => 'ScalingRuleTimer', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The timeout period of the change process. Valid values: 1 to 1800. Default value: 600. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'ScalingRuleTrigger', + 'name' => 'EphemeralStorageRequest', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger policy for the auto scaling policy. Set the value in the JSON format by using the ScalingRuleTriggerDTO class. For more information, see Additional information about request parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingRuleTriggerDTO{......}', - ], + 'schema' => ['description' => 'The minimum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.'."\n" + ."\n" + .'> You must set this parameter together with the EphemeralStorageLimit parameter. Make sure that the value of this parameter does not exceed that of the EphemeralStorageLimit parameter.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'ScalingBehaviour', + 'name' => 'EphemeralStorageLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'Configure custom elastic behavior, refer to the example for specific data structure.', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "scaleUp": {'."\n" - .' "stabilizationWindowSeconds": "0",'."\n" - .' "selectPolicy": "Max",'."\n" - .' "policies": ['."\n" - .' {'."\n" - .' "type": "Pods",'."\n" - .' "value": 5,'."\n" - .' "periodSeconds": 15'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "scaleDown": {'."\n" - .' "stabilizationWindowSeconds": "300",'."\n" - .' "selectPolicy": "Max",'."\n" - .' "policies": ['."\n" - .' {'."\n" - .' "type": "Percent",'."\n" - .' "value": 200,'."\n" - .' "periodSeconds": 15'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], + 'schema' => ['description' => 'The maximum size of space required by ephemeral storage. Unit: GB. The value 0 indicates that no limit is set on the ephemeral storage space.', 'type' => 'string', 'required' => false, 'example' => '4', 'title' => ''], ], ], 'responses' => [ @@ -24618,331 +17751,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => 'The information about the auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The timestamp when the auto scaling policy was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the auto scaling policy was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => 'The ID of the application to which the auto scaling policy belongs.'."\n", - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => 'The timestamp when the auto scaling policy was last disabled. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the rule. Only trigger is supported.'."\n", - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - 'Metric' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'The minimum number of replicas. The minimum value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of replicas. The maximum value is 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => 'The triggers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the trigger. Only cron and app_metric are supported.'."\n", - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => 'The metadata of the trigger.'."\n", - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => 'The name of the trigger.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'description' => 'The scaling behavior.'."\n", - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'description' => 'The behavior configurations of the scale-out.'."\n", - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SelectPolicy' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => 'The configurations of the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => 'The period during which the check is performed. Valid values: 0 to 1800. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => 'The type of the policy. The value can be Pods or Percent.'."\n", - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => 'The value of the auto scaling policy. The value of this parameter is an integer greater than 0. If the policy type is Pods, the value indicates the number of pods. If the policy type is Percent, the value indicates a percentage. The value is allowed to exceed 100%.'."\n", - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'description' => 'The behavior configurations of the scale-in.'."\n", - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'SelectPolicy' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => 'The configurations of the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => 'The period during which the check is performed. Valid values: 0 to 1800. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => 'The type of the policy. The value can be Pods or Percent.'."\n", - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => 'The value of the auto scaling policy. The value of this parameter is an integer greater than 0. If the policy type is Pods, the value indicates the number of pods. If the policy type is Percent, the value indicates a percentage. The value is allowed to exceed 100%.'."\n", - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '8806d1c6-****-48eb-9373-6bdef3007466', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4823-bhjf-23u4-****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 2,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<AppScalingRule>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <LastDisableTime>23212323123</LastDisableTime>\\n <AppId>78194c76-3dca-418e-a263-cccd1ab4****</AppId>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <CreateTime>23212323123</CreateTime>\\n <UpdateTime>23212323123</UpdateTime>\\n <ScaleRuleName>cpu</ScaleRuleName>\\n <ScaleRuleType>trigger</ScaleRuleType>\\n <Metric>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <Metrics>\\n <MetricType>cpu</MetricType>\\n <MetricTargetAverageUtilization>1</MetricTargetAverageUtilization>\\n </Metrics>\\n </Metric>\\n <Trigger>\\n <MinReplicas>2</MinReplicas>\\n <MaxReplicas>122</MaxReplicas>\\n <Triggers>\\n <Type>cron</Type>\\n <MetaData>{\\"dryRun\\":true}</MetaData>\\n <Name>cpu</Name>\\n </Triggers>\\n </Trigger>\\n</AppScalingRule>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'CreateApplicationScalingRule', - 'requestParamsDescription' => '## Additional information about request parameters'."\n" - ."\n" - .' public class ScalingRuleTriggerDTO {'."\n" - .' /**'."\n" - .' * The maximum number of replicas. The maximum value is 1000. '."\n" - .' */'."\n" - .' Integer maxReplicas;'."\n" - .' /**'."\n" - .' * The minimum number of replicas. The minimum value is 0. '."\n" - .' */'."\n" - .' Integer minReplicas;'."\n" - ."\n" - .' /**'."\n" - .' * The list of triggers. Multiple triggers are supported. '."\n" - .' */'."\n" - .' List<Trigger> triggers;'."\n" - ."\n" - .' @Data'."\n" - .' @ToString'."\n" - .' @Builder'."\n" - .' @AllArgsConstructor'."\n" - .' @NoArgsConstructor'."\n" - .' public static class Trigger {'."\n" - .' /**'."\n" - .' * The type of the trigger. Valid values: cron and app_metric. '."\n" - .' */'."\n" - .' String type;'."\n" - ."\n" - .' /**'."\n" - .' * The name of the trigger. The name must start with a letter, and can contain digits, letters, hyphens (-), and underscores (_). The name can be up to 30 characters in length. '."\n" - .' */'."\n" - .' String name;'."\n" - ."\n" - .' /**'."\n" - .' The metadata of the trigger. Set this parameter to a JSON string that consists of key-value pairs. The metadata varies based on the trigger type. '."\n" - .' 1. cron'."\n" - .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" - .' * period: the scaling cycle. Valid values: daily, weekly, and monthly. '."\n" - .' * dryRun: Value false indicates observation and scaling. Value true indicates observation only. '."\n" - .' * timerInDay: the daily scaling cycle, which specifies the number of replicas to be maintained from a specific point in time. '."\n" - .' * timerInWeek: the day of the week in the CRON expression. Example: Fri. '."\n" - ."\n" - .' 2. app_metric'."\n" - .' {\\"metricName\\":\\"arms_appstat.incall_QPS\\",\\"dryRun\\":\\"false\\",\\"targetValAvg\\":\\"true\\",\\"targetAverageValue\\":\\"100\\"}'."\n" - .' '."\n" - .' * metricName: the name of the metric. Valid values:'."\n" - .' * arms_appstat.incall_QPS: the queries per second (QPS).'."\n" - .' * arms_appstat.incall_rt: the response time (RT).'."\n" - .' * arms_appstat.system_CPU: the CPU utilization.'."\n" - .' * arms_appstat.system_MEM: the memory usage.'."\n" - .' * dryRun: Value false indicates observation and scaling. Value true indicates observation only. '."\n" - .' * targetValAvg: Value true indicates that the target value is an average value. Value false indicates that the target value is not an average value. Set this parameter to true only for the arms_appstat.incall_QPS metric. '."\n" - .' * targetAverageValue or targetValue: Specify the targetAverageValue parameter if the targetValAvg parameter is set to true. Specify the targetValue parameter if the targetValAvg parameter is set to false. '."\n" - .' */'."\n" - .' String metadata;'."\n" - .' }'."\n" - .' }'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Edas.errorcode.K8SAppConfiguration.UpdateFail', 'errorMessage' => 'Failed to set app configuration.', 'description' => ''], + ], + ], + 'title' => 'UpdateK8sApplicationConfig', + 'summary' => 'Updates the configuration of an application in a Container Service for Kubernetes (ACK) or Serverless Kubernetes cluster.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteApplicationScalingRule' => [ - 'summary' => 'Deletes an auto scaling policy for an application.', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'delete', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sApplicationConfig'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'edas:ConfigApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"8806d1c6-****-48eb-9373-6bdef3007466\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","type":"json"}]', + ], + 'UpdateK8sConfigMap' => [ + 'summary' => 'Modifies a Kubernetes ConfigMap.', + 'path' => '/pop/v5/k8s/acs/k8s_config_map', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24950,32 +17805,27 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the ConfigMap. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-configmap', 'title' => ''], + ], + [ + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => 'The data of the ConfigMap. Set this parameter to a JSON string.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', 'title' => ''], ], ], 'responses' => [ @@ -24983,38 +17833,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'Code' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Message' => [ - 'type' => 'string', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'b197-40ab-9155-****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5d6fa0bc-cc3**********</RequestId>","errorExample":""}]', - 'title' => 'DeleteApplicationScalingRule', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DisableApplicationScalingRule' => [ - 'summary' => 'Disables an auto scaling policy for an application.', - 'path' => '/pop/v1/eam/scale/disable_application_scaling_rule', - 'methods' => [ - 'put', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'UpdateK8sConfigMap', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sConfigMap'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","type":"json"}]', + ], + 'UpdateK8sIngressRule' => [ + 'summary' => 'Updates an ingress.', + 'path' => '/pop/v5/k8s/acs/k8s_ingress', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25022,214 +17882,117 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => 'The ID of the Kubernetes cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cron-trigger', - ], + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Ingress. The name can contain lowercase letters, digits, and hyphens (-). It must start with a lowercase letter but cannot end with a hyphen (-). The name can be up to 63 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-ingress-rule', 'title' => ''], + ], + [ + 'name' => 'IngressConf', + 'in' => 'query', + 'schema' => ['description' => 'The routing rules of the Ingress. Set this parameter to a JSON string in the following format:'."\n" + ."\n" + .' {'."\n" + .' "rules": ['."\n" + .' {'."\n" + .' "host": "abc.com",'."\n" + .' "secretName": "tls-secret",'."\n" + .' "paths": ['."\n" + .' {'."\n" + .' "path": "/path",'."\n" + .' "backend": {'."\n" + .' "servicePort": 80,'."\n" + .' "serviceName": "xxx"'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'* rules: the list of routing rules.'."\n" + .'* host: the domain name to be accessed.'."\n" + .'* secretName: the name of the Secret that stores the information about the Transport Layer Security (TLS) certificate. The certificate is required if you need to use the HTTPS protocol.'."\n" + .'* paths: the list of paths to be accessed.'."\n" + .'* path: the path to be accessed.'."\n" + .'* backend: the configuration of the backend service. You can specify a service that is created in the Enterprise Distributed Application Service (EDAS) console.'."\n" + .'* serviceName: the name of the backend service.'."\n" + .'* servicePort: the port of the backend service.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', 'title' => ''], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => 'The annotations.'."\n", 'type' => 'string', 'required' => false, 'example' => '{\\"nginx.ingress.kubernetes.io/ssl-redirect\\":\\"true\\",\\"nginx.ingress.kubernetes.io/configuration-snippet\\":\\"set $test value\\"}', 'title' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => 'The labels.'."\n", 'type' => 'string', 'required' => false, 'example' => '{\\"test-label\\":\\"test-label-value\\"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The object that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'AppScalingRule' => [ - 'description' => 'The information about the auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was last modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => 'The ID of the application to which the auto scaling policy belongs.'."\n", - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. The value is fixed to trigger.'."\n", - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'cron-trigger', - ], - 'Metric' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Metrics' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'The minimum number of replicas. The lower limit is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of replicas. The upper limit is 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Triggers' => [ - 'description' => 'The information about the trigger.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the trigger. Valid values: cron and app_metric.'."\n", - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => 'The metadata of the trigger.'."\n", - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => 'The name of the trigger.'."\n", - 'type' => 'string', - 'example' => 'cron-trigger', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cron-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 12,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"1\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 12,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cron-trigger\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>5d6fa0bc-cc3**********</RequestId>\\n<AppScalingRule>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <LastDisableTime>23212323123</LastDisableTime>\\n <AppId>78194c76-3dca-418e-a263-cccd1ab4****</AppId>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <CreateTime>23212323123</CreateTime>\\n <UpdateTime>23212323123</UpdateTime>\\n <ScaleRuleName>cron-trigger</ScaleRuleName>\\n <ScaleRuleType>trigger</ScaleRuleType>\\n <Metric>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>12</MaxReplicas>\\n <Metrics>\\n <MetricType>1</MetricType>\\n <MetricTargetAverageUtilization>1</MetricTargetAverageUtilization>\\n </Metrics>\\n </Metric>\\n <Trigger>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>12</MaxReplicas>\\n <Triggers>\\n <Type>cron</Type>\\n <MetaData>{\\"dryRun\\":true}</MetaData>\\n <Name>cron-trigger</Name>\\n </Triggers>\\n </Trigger>\\n</AppScalingRule>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DisableApplicationScalingRule', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'UpdateK8sIngressRule', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'EnableApplicationScalingRule' => [ - 'summary' => 'Enables an auto scaling policy for an application.', - 'path' => '/pop/v1/eam/scale/enable_application_scaling_rule', - 'methods' => [ - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sIngressRule'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'UpdateK8sResource' => [ + 'summary' => 'Update Kubernetes resources.', + 'path' => '/pop/v5/oam/update_k8s_resource_config', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25237,214 +18000,70 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2e7059e9-2d********5e8ecac64ff', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the namespace to which the Kubernetes resource belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'app-namespace', 'title' => ''], + ], + [ + 'name' => 'ResourceContent', + 'in' => 'formData', + 'schema' => ['description' => 'The description of the resource in the YAML format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: demo-app namespace: app-namespace spec: replicas: 3 selector: matchLabels: cluster: abc template: # create pods using pod definition in this template metadata: labels: cluster: abc spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/edas-demo-image/consumer:1.0 imagePullPolicy: Always name: test-container ports: - containerPort: 80 env: - name: foo value: bar', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => 'The information about the auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was last modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => 'The ID of the application to which the auto scaling policy belongs.'."\n", - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. The value is fixed to trigger.'."\n", - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'MetricType' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'The minimum number of replicas. The lower limit is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of replicas. The upper limit is 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => 'The list of triggers.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the trigger. Valid values: cron and app_metric.'."\n", - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => 'The metadata of the trigger.'."\n", - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => 'The name of the trigger.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7638276F-****-****-884F-54CC0BC84A8D', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 12,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<AppScalingRule>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <LastDisableTime>23212323123</LastDisableTime>\\n <AppId>78194c76-3dca-418e-a263-cccd1ab4****</AppId>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <CreateTime>23212323123</CreateTime>\\n <UpdateTime>23212323123</UpdateTime>\\n <ScaleRuleName>cpu-trigger</ScaleRuleName>\\n <ScaleRuleType>trigger</ScaleRuleType>\\n <Metric>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <Metrics>\\n <MetricType>cpu</MetricType>\\n <MetricTargetAverageUtilization>12</MetricTargetAverageUtilization>\\n </Metrics>\\n </Metric>\\n <Trigger>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>122</MaxReplicas>\\n <Triggers>\\n <Type>cron</Type>\\n <MetaData>{\\"dryRun\\":true}</MetaData>\\n <Name>cpu</Name>\\n </Triggers>\\n </Trigger>\\n</AppScalingRule>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'EnableApplicationScalingRule', + 'title' => 'UpdateK8sResource', + 'description' => '> You can update only Deployments.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateApplicationScalingRule' => [ - 'summary' => 'Modifies an auto scaling policy for an application.', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'put', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sResource'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"7638276F-****-****-884F-54CC0BC84A8D\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>7638276F-****-****-884F-54CC0BC84A8D</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'UpdateK8sSecret' => [ + 'summary' => 'Modifies a Kubernetes Secret.', + 'path' => '/pop/v5/k8s/acs/k8s_secret', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25452,96 +18071,55 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the Secret. The name must start with a letter, and can contain digits, letters, and hyphens (-). It can be up to 63 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-secret', 'title' => ''], ], [ - 'name' => 'ScalingRuleType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the auto scaling policy.'."\n" - ."\n" - .'* Set the value to trigger.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'trigger', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'The namespace of the Kubernetes cluster.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ScalingRuleEnable', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **true**: enables the auto scaling policy.'."\n" - .'* **false**: disables the auto scaling policy.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'Type', + 'in' => 'formData', + 'schema' => ['description' => 'The type of the Secret. Valid values:'."\n" + ."\n" + .'- Opaque: user-defined data type'."\n" + ."\n" + .'- kubernetes.io/tls: Transport Layer Security (TLS) certificate type', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Opaque', 'title' => ''], ], [ - 'name' => 'ScalingRuleMetric', - 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => 'The data of the Secret. The value must be a JSON array that contains the following information:'."\n" + ."\n" + .'- Key: Secret key'."\n" + ."\n" + .'- Value: Secret value', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', 'title' => ''], ], [ - 'name' => 'ScalingRuleTimer', - 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'name' => 'CertId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the certificate.', 'type' => 'string', 'required' => false, 'example' => '6650277', 'title' => ''], ], [ - 'name' => 'ScalingRuleTrigger', - 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger policy for the auto scaling policy. Set this parameter in the JSON format by using the ScalingRuleTriggerDTO class. For more information, see Additional description of request parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingRuleTriggerDTO{......}', - ], + 'name' => 'CertRegionId', + 'in' => 'formData', + 'schema' => ['description' => 'The region ID of the certificate.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScalingBehaviour', - 'in' => 'query', - 'schema' => [ - 'description' => 'The behavior of the auto scaling. See the example for the data structure.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"scaleUp":{"stabilizationWindowSeconds":"0","selectPolicy":"Max","policies":[{"type":"Pods","value":5,"periodSeconds":15}]},"scaleDown":{"stabilizationWindowSeconds":"300","selectPolicy":"Max","policies":[{"type":"Percent","value":200,"periodSeconds":15}]}}', - ], + 'name' => 'Base64Encoded', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether the data has been encoded in Base64.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -25549,622 +18127,148 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => 'The information about the auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'AppId' => [ - 'description' => 'The ID of the application to which the auto scaling policy belongs.'."\n", - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. The value is fixed to trigger.'."\n", - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'The minimum number of replicas. The minimum value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of replicas. The maximum value is 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the trigger. Valid values: cron and app_metric.'."\n", - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => 'The metadata of the trigger.'."\n", - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => 'The name of the trigger.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-out. Valid values: 0 to 3600. Unit: seconds. Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SelectPolicy' => [ - 'description' => 'The step size policy for the scale-out. Valid values: Max, Min, and Disable.'."\n", - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => 'The configuration of the policy.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => 'The cycle of the policy check. Valid values: 0 to 1800. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => 'The type of the policy. Valid values: Pods and Percent.'."\n", - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => 'The policy value of auto scaling. Set the value to an integer greater than zero. If the policy type is Pods, the value of this parameter indicates the number of pods. If the policy type is Percent, the value of this parameter indicates a percentage, which can exceed 100%.'."\n", - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-in. Valid values: 0 to 3600. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'SelectPolicy' => [ - 'description' => 'The step size policy for the scale-in. Valid values: Max, Min, and Disable.'."\n", - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => 'The configuration of the policy.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => 'The cycle of the policy check. Valid values: 0 to 1800. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => 'The type of the policy. Valid values: Pods and Percent.'."\n", - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => 'The policy value of auto scaling. Set the value to an integer greater than zero. If the policy type is Pods, the value of this parameter indicates the number of pods. If the policy type is Percent, the value of this parameter indicates a percentage, which can exceed 100%.'."\n", - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D16979DC-4D42-****************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRule\\": {\\n \\"UpdateTime\\": 1574251601785,\\n \\"CreateTime\\": 1574251601785,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 1574251601785,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 0,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<AppScalingRule>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <LastDisableTime>23212323123</LastDisableTime>\\n <AppId>78194c76-3dca-418e-a263-cccd1ab4****</AppId>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <CreateTime>23212323123</CreateTime>\\n <UpdateTime>23212323123</UpdateTime>\\n <ScaleRuleName>cpu-trigger</ScaleRuleName>\\n <ScaleRuleType>trigger</ScaleRuleType>\\n <Metric>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <Metrics>\\n <MetricType>cpu</MetricType>\\n <MetricTargetAverageUtilization>1</MetricTargetAverageUtilization>\\n </Metrics>\\n </Metric>\\n <Trigger>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>122</MaxReplicas>\\n <Triggers>\\n <Type>cron</Type>\\n <MetaData>{\\"dryRun\\":true}</MetaData>\\n <Name>cpu</Name>\\n </Triggers>\\n </Trigger>\\n</AppScalingRule>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'UpdateApplicationScalingRule', - 'requestParamsDescription' => '## Additional description of request parameters'."\n" - ."\n" - .' public class ScalingRuleTriggerDTO {'."\n" - .' /**'."\n" - .' * The maximum number of replicas. The maximum value is 1000. '."\n" - .' */'."\n" - .' Integer maxReplicas;'."\n" - .' /**'."\n" - .' * The minimum number of replicas. The minimum value is 0. '."\n" - .' */'."\n" - .' Integer minReplicas;'."\n" - ."\n" - .' /**'."\n" - .' * The list of triggers. Multiple triggers are supported. '."\n" - .' */'."\n" - .' List<Trigger> triggers;'."\n" - ."\n" - .' @Data'."\n" - .' @ToString'."\n" - .' @Builder'."\n" - .' @AllArgsConstructor'."\n" - .' @NoArgsConstructor'."\n" - .' public static class Trigger {'."\n" - .' /**'."\n" - .' * The type of the trigger. Valid values: cron and app_metric. '."\n" - .' */'."\n" - .' String type;'."\n" - ."\n" - .' /**'."\n" - .' * The name of the trigger. The name must start with a letter, and can contain digits, letters, hyphens (-), and underscores (_). The name can be up to 30 characters in length. '."\n" - .' */'."\n" - .' String name;'."\n" - ."\n" - .' /**'."\n" - .' The metadata of the trigger. Set this parameter to a JSON string that consists of key-value pairs. The metadata varies based on the trigger type. '."\n" - .' 1. cron'."\n" - .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" - .' * period: the scaling cycle. Valid values: daily, weekly, and monthly. '."\n" - .' * dryRun: Value false indicates observation and scaling. Value true indicates observation only. '."\n" - .' * timerInDay: the daily scaling cycle, which specifies the number of replicas to be maintained from a specific point in time. '."\n" - .' * timerInWeek: the day of the week in the CRON expression. Example: Fri. '."\n" - ."\n" - .' 2. app_metric'."\n" - .' {\\"metricName\\":\\"arms_appstat.incall_QPS\\",\\"dryRun\\":\\"false\\",\\"targetValAvg\\":\\"true\\",\\"targetAverageValue\\":\\"100\\"}'."\n" - .' '."\n" - .' * metricName: the name of the metric. Valid values:'."\n" - .' * arms_appstat.incall_QPS: the queries per second (QPS).'."\n" - .' * arms_appstat.incall_rt: the response time (RT).'."\n" - .' * arms_appstat.system_CPU: the CPU utilization.'."\n" - .' * arms_appstat.system_MEM: the memory usage.'."\n" - .' * dryRun: Value false indicates observation and scaling. Value true indicates observation only. '."\n" - .' * targetValAvg: Value true indicates that the target value is an average value. Value false indicates that the target value is not an average value. Set this parameter to true only for the arms_appstat.incall_QPS metric. '."\n" - .' * targetAverageValue or targetValue: Specify the targetAverageValue parameter if the targetValAvg parameter is set to true. Specify the targetValue parameter if the targetValAvg parameter is set to false. '."\n" - .' */'."\n" - .' String metadata;'."\n" - .' }'."\n" - .' }'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeApplicationScalingRules' => [ - 'path' => '/pop/v1/eam/scale/application_scaling_rules', - 'methods' => [ - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'UpdateK8sSecret', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSecret'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Cluster', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/cluster/{#ClusterId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', + ], + 'UpdateK8sService' => [ + 'summary' => 'Updates an application service in a Kubernetes cluster.', + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the service in a Kubernetes cluster.'."\n" + ."\n" + .'* The name can contain lowercase letters, digits, and hyphens (-).'."\n" + .'* It must start with a letter and end with a letter or digit.'."\n" + .'* The name can be 2 to 32 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The type of the service in a Kubernetes cluster. Set the value to ClusterIP.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ClusterIP', 'title' => ''], + ], + [ + 'name' => 'ServicePorts', + 'in' => 'query', + 'schema' => ['description' => 'The mappings between service ports. Set this parameter to a JSON array. The following parameters are included in the configurations:'."\n" + ."\n" + .'* **protocol**: the protocol used by the service. Valid values: TCP and UDP. This parameter is required.'."\n" + .'* **port**: the frontend service port. Valid values: 1 to 65535. This parameter is required.'."\n" + .'* **targetPort**: the backend container port. Valid values: 1 to 65535. This parameter is required.'."\n" + ."\n" + .'Example: `[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', 'title' => ''], + ], + [ + 'name' => 'ExternalTrafficPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The policy used for external traffic management. Valid values:'."\n" + ."\n" + .'* Local: local mode'."\n" + .'* Cluster: cluster mode'."\n" + ."\n" + .'Default value: Local.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRules' => [ - 'description' => 'The auto scaling policies of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of auto scaling policies returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => 'The total number of auto scaling policies.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Result' => [ - 'description' => 'The information about auto scaling policies.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was last modified. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => 'The ID of the application to which the auto scaling policy belongs.'."\n", - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. The value is fixed to trigger.'."\n", - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => 'This parameter is deprecated.'."\n", - 'type' => 'string', - 'example' => 'asd', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => 'The minimum number of replicas. The lower limit is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of replicas. The upper limit is 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => 'The configurations of the trigger.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the trigger. Valid values: cron and app_metric.'."\n", - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => 'The metadata of the trigger.'."\n", - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => 'The name of the trigger.'."\n", - 'type' => 'string', - 'example' => 'cron-trigger', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SelectPolicy' => [ - 'type' => 'string', - ], - 'Policies' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Type' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SelectPolicy' => [ - 'type' => 'string', - ], - 'Policies' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Type' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.'."\n", 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de7b5a\\",\\n \\"AppScalingRules\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 20,\\n \\"Result\\": [\\n {\\n \\"UpdateTime\\": 23212323123,\\n \\"CreateTime\\": 23212323123,\\n \\"AppId\\": \\"78194c76-3dca-418e-a263-cccd1ab4****\\",\\n \\"LastDisableTime\\": 23212323123,\\n \\"MaxReplicas\\": 1,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"trigger\\",\\n \\"MinReplicas\\": 1,\\n \\"ScaleRuleName\\": \\"cpu-trigger\\",\\n \\"Metric\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 1,\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 1,\\n \\"MetricType\\": \\"asd\\"\\n }\\n ]\\n },\\n \\"Trigger\\": {\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 122,\\n \\"Triggers\\": [\\n {\\n \\"Type\\": \\"cron\\",\\n \\"MetaData\\": \\"{\\\\\\"dryRun\\\\\\":true}\\",\\n \\"Name\\": \\"cron-trigger\\"\\n }\\n ]\\n },\\n \\"Behaviour\\": {\\n \\"ScaleUp\\": {\\n \\"StabilizationWindowSeconds\\": 15,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n },\\n \\"ScaleDown\\": {\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"SelectPolicy\\": \\"Max\\",\\n \\"Policies\\": [\\n {\\n \\"PeriodSeconds\\": 15,\\n \\"Type\\": \\"Pods\\",\\n \\"Value\\": \\"10\\"\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AppScalingRules>\\n <PageSize>10</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>20</TotalSize>\\n <Result>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <LastDisableTime>23212323123</LastDisableTime>\\n <AppId>78194c76-3dca-418e-a263-cccd1ab4****</AppId>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <CreateTime>23212323123</CreateTime>\\n <UpdateTime>23212323123</UpdateTime>\\n <ScaleRuleName>cpu-trigger</ScaleRuleName>\\n <ScaleRuleType>trigger</ScaleRuleType>\\n <Metric>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>1</MaxReplicas>\\n <Metrics>\\n <MetricType>asd</MetricType>\\n <MetricTargetAverageUtilization>1</MetricTargetAverageUtilization>\\n </Metrics>\\n </Metric>\\n <Trigger>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>122</MaxReplicas>\\n <Triggers>\\n <Type>cron</Type>\\n <MetaData>{\\"dryRun\\":true}</MetaData>\\n <Name>cron-trigger</Name>\\n </Triggers>\\n </Trigger>\\n </Result>\\n</AppScalingRules>\\n<Message>success</Message>\\n<RequestId>a5281053-08e4-47a5-b2ab-5c0323de7b5a</RequestId>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'DescribeApplicationScalingRules', - 'summary' => 'Queries the auto scaling policies of an application.', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'No permissions'], + ], + ], + 'title' => 'UpdateK8sService', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertSwimmingLaneGroup' => [ - 'summary' => 'Creates a lane group.', - 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeOrderId\\": \\"b4b37bde-a125-****-****-741f7f4a9ae3\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4823-bhjf-23u4-eiufh</RequestId>\\n<Message>success</Message>\\n<ChangeOrderId>b4b37bde-a125-****-****-741f7f4a9ae3</ChangeOrderId>\\n<Code>200</Code>","errorExample":""}]', + ], + 'UpdateK8sSlb' => [ + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26172,418 +18276,239 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Name', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the application. Call [ListApplication](~~149390~~) to get this ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c', 'title' => ''], ], [ - 'name' => 'EntryApp', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ingress application. The application is in the EDAS:{application ID} format.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'EDAS:5cc89013-9232-4b36-b3eb-ff89b3d2****', - ], + 'schema' => ['description' => 'The ID of the cluster. Call [GetK8sCluster](~~181437~~) to get this ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee', 'title' => ''], ], [ - 'name' => 'AppIds', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'IDs of all applications that are related to the lane group. Separate multiple applications with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****,ee33ed0c-fddc-47b5-9f63-e1ccc4be****', - ], + 'schema' => ['description' => 'The type of the SLB instance.'."\n" + ."\n" + .'- Internet: An Internet-facing instance.'."\n" + ."\n" + .'- Intranet: An internal-facing instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Internet', 'title' => ''], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'SlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom namespace. The ID is in the physical region ID:custom namespace identifier format. Example: cn-hangzhou:test.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou:test', - ], + 'schema' => ['description' => 'The protocol of the SLB instance. Currently, only TCP is supported.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'TCP', 'title' => ''], + ], + [ + 'name' => 'TargetPort', + 'in' => 'query', + 'schema' => ['description' => 'The backend port, which is the service port of the application. The value ranges from 1 to 65535.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8082', 'title' => ''], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => ['description' => 'The frontend port. The value ranges from 1 to 65535.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'ServicePortInfos', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is used for scenarios that involve multiple ports or protocols other than TCP. The value must be a JSON array. For example:'."\n" + .'\\[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809\\_16c185d6fa2\\_1914500329\\_-xxxxxxx","targetPort":8181,"loadBalancerProtocol":"HTTPS"}]'."\n" + ."\n" + .'- port: Required. The frontend port. The value ranges from 1 to 65535. Each port number must be unique.'."\n" + ."\n" + .'- targetPort: Required. The backend port. The value ranges from 1 to 65535.'."\n" + ."\n" + .'- loadBalancerProtocol: Required. Only TCP and HTTPS are supported. For HTTP listeners, set this parameter to TCP.'."\n" + ."\n" + .'- certId: This parameter is required for HTTPS listeners. It specifies the ID of a certificate that you can purchase in the SLB console.'."\n" + ."\n" + .'- Note: This parameter is used to support multiple ports and must be used with the appId, clusterId, type, and slbId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-xxxxxxx","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}', 'title' => ''], + ], + [ + 'name' => 'Specification', + 'in' => 'query', + 'schema' => ['description' => 'The specification of the SLB instance. The following specifications are supported:'."\n" + ."\n" + .'- slb.s1.small'."\n" + ."\n" + .'- slb.s2.small'."\n" + ."\n" + .'- slb.s2.medium'."\n" + ."\n" + .'- slb.s3.small'."\n" + ."\n" + .'- slb.s3.medium'."\n" + ."\n" + .'- slb.s3.large'."\n" + ."\n" + .'If you do not set this parameter, the default value is slb.s1.small.', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small', 'title' => ''], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling algorithm of the SLB instance. If you do not set this parameter, rr is used. The supported algorithms are round-robin (rr) and weighted round-robin (wrr).'."\n" + ."\n" + .'- Weighted round-robin (wrr): Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- Round-robin (rr): Requests are distributed to backend servers in sequence.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], + ], + [ + 'name' => 'SlbName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'SLB_doctest', 'title' => ''], + ], + [ + 'name' => 'DisableForceOverride', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to disable overwriting the SLB listener configuration.'."\n" + ."\n" + .'- true: Disables overwriting.'."\n" + ."\n" + .'- false: Allows overwriting.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D5268CAC-D356-5C8D-BC7C-FBE0D13B****', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], - 'Name' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Id' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '64', - ], - 'ApplicationList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Application' => [ - 'description' => 'The list of all applications that are related to the lane group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about applications.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****', - ], - ], - ], - ], - ], - ], - 'EntryApplication' => [ - 'description' => 'The information about the Enterprise Distributed Application Service (EDAS) ingress gateway.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25c****', - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '9a1dcdee-****-****-ad37-cbf9dc91fba9', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 605 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', + 'title' => 'UpdateK8sSlb', + 'summary' => 'Call UpdateK8sSlb to update the Server Load Balancer (SLB) instance attached to a Container Service for Kubernetes application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSlb'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D5268CAC-D356-5C8D-BC7C-FBE0D13B****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\",\\n \\"Name\\": \\"test\\",\\n \\"Id\\": 64,\\n \\"ApplicationList\\": {\\n \\"Application\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"bdb251cc-02a6-48dd-891b-2ab21b25****\\"\\n }\\n ]\\n },\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"bdb251cc-02a6-48dd-891b-2ab21b25c****\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'InsertSwimmingLaneGroup', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeOrderId\\": \\"9a1dcdee-****-****-ad37-cbf9dc91fba9\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-eiufh\\"\\n}","type":"json"}]', ], - 'InsertSwimmingLane' => [ - 'summary' => 'Creates a lane.', - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateLocalitySetting' => [ + 'path' => '/pop/sp/applications/locality/setting', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom namespace. The ID is in the `physical region ID:custom namespace identifier` format. Example: `cn-hangzhou:test`.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], - ], - [ - 'name' => 'Tag', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tag', - ], + 'schema' => ['description' => 'The ID of the region where the elastic compute unit (ECU) is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '95', - ], + 'schema' => ['description' => 'The ID of the namespace. This ID cannot be changed after the namespace is created. The format is \\[unk]physical space identifier\\[unk].', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'EntryRules', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The throttling conditions.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"priority":1,"path":"/traffic","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testvalue","cond":"==","operator":"rawvalue"}]}]', - ], + 'schema' => ['description' => 'The ID of the application. You can call the [ListApplication](~~149390~~) operation to obtain this ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bfa00cfb-9642-4292-bb78-1d7d4c86004c', 'title' => ''], ], [ - 'name' => 'EnableRules', + 'name' => 'Enabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the throttling rule.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether the setting is active:'."\n" + ."\n" + .'- true: The setting is active.'."\n" + ."\n" + .'- false: The setting is not active.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'AppInfos', + 'name' => 'Threshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about applications related to the lane.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"5049d2c8-f997-4fc9-92a2-153506a6****"}]', - ], + 'schema' => ['description' => 'The total number of items that satisfy the threshold expression.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '15', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The object data that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '75972A87-5682-5277-ADA7-DA2A01BE****', - ], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Code' => ['description' => 'The status code of the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Data' => [ - 'description' => 'The data that is returned.'."\n", + 'description' => 'The result of the update.', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'GroupId' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '95', - ], - 'EntryRule' => [ - 'description' => 'The throttling rule for the lane.'."\n" - ."\n" - .'priority: the priority of the throttling rule for the lane. Valid values: 1 to 100.'."\n" - ."\n" - .'path: the path that is matched by the throttling rule for the lane.'."\n" - ."\n" - .'restItems: conditions to be met.'."\n" - ."\n" - .'condition: the relationship among the conditions to be met.'."\n" - ."\n" - .'* AND: all conditions'."\n" - .'* OR: one of the conditions'."\n" - ."\n" - .'restItems.type: the type of the rule. Valid values:'."\n" - ."\n" - .'* header: matches by request header.'."\n" - .'* cookie: matches by request cookie.'."\n" - .'* param: matches by request parameters.'."\n" - ."\n" - .'restItems.name: the key that matches the rule.'."\n" - ."\n" - .'restItems.value: the value that matches the rule.'."\n" - ."\n" - .'restItems.cond: the condition that matches the rule. Valid values:'."\n" - ."\n" - .'* "==": The parameter value is equal to the value that you enter in the Value field.'."\n" - .'* "!=": The parameter value is not equal to the value that you enter in the Value field.'."\n" - .'* ">": The parameter value is greater than the value that you enter in the Value field.'."\n" - .'* "<": The parameter value is less than the value that you enter in the Value field.'."\n" - .'* ">=": The parameter value is greater than or equal to the value that you enter in the Value field.'."\n" - .'* "<=": The parameter value is less than or equal to the value that you enter in the Value field.'."\n" - .'* "in": The parameter value is within the values that you enter in the Value field.'."\n" - ."\n" - .'restItems.operator: the type of the value. Valid values:'."\n" - ."\n" - .'* rawvalue: the initial value'."\n" - .'* mod: the reminder obtained by performing modulo operation'."\n" - .'* list: the value from the list'."\n", - 'type' => 'string', - 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":false,\\"path\\":\\"/traffic\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"testvalue\\",\\"name\\":\\"testheader\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"testvalue\\"}]}]', - ], - 'AppInfos' => [ - 'description' => 'The applications that are associated with lanes.'."\n", - 'type' => 'string', - 'example' => '[{"appId":"9dcba109-ee9f-4e67-8916-41'."\n" - .'*******"}]', - ], - 'Tag' => [ - 'description' => 'The tag of the lane.'."\n", - 'type' => 'string', - 'example' => '8202e09', - ], - 'Name' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], - 'Id' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '88', - ], - 'SwimmingLaneAppRelationShipList' => [ - 'description' => 'The association relationships between lanes and applications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'Rules' => [ - 'description' => 'The association rule.'."\n", - 'type' => 'string', - 'example' => 'dubbo', - ], - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '88', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'bd170895-096c-4944-9007-d4582c77****', - ], - ], - ], - ], + 'Threshold' => ['description' => 'The threshold of the ECU.', 'type' => 'number', 'format' => 'float', 'example' => '15', 'title' => ''], + 'Enabled' => ['description' => 'Whether it is active.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 605 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', + 'title' => 'UpdateLocalitySetting', + 'summary' => 'Updates a localization configuration.', + 'description' => '> This operation modifies only Deployment resources.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NamespaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"75972A87-5682-5277-ADA7-DA2A01BE****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"GroupId\\": 95,\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/traffic\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheader\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testvalue\\\\\\\\\\\\\\"}]}]\\",\\n \\"AppInfos\\": \\"[{\\\\\\"appId\\\\\\":\\\\\\"9dcba109-ee9f-4e67-8916-41\\\\n*******\\\\\\"}]\\",\\n \\"Tag\\": \\"8202e09\\",\\n \\"Name\\": \\"test1\\",\\n \\"Id\\": 88,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"Rules\\": \\"dubbo\\",\\n \\"LaneId\\": 88,\\n \\"AppId\\": \\"bd170895-096c-4944-9007-d4582c77****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'InsertSwimmingLane', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"a5281053-08e4-47a5-b2ab-5c0323de*****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Threshold\\": 15,\\n \\"Enabled\\": true\\n }\\n}","type":"json"}]', ], - 'DeleteSwimmingLane' => [ - 'summary' => 'Deletes a lane.', - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateRole' => [ + 'path' => '/pop/v5/account/edit_role', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26591,70 +18516,65 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LaneId', + 'name' => 'RoleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '241', - ], + 'schema' => ['description' => 'The ID of the role. You can call the ListRole operation to query the role IDs. For more information, see [ListRole](~~149410~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '32371', 'title' => ''], + ], + [ + 'name' => 'ActionData', + 'in' => 'query', + 'schema' => ['description' => 'The set of permissions to be granted to the role. The value is in the format of `Permission group ID 1:Permission serial number 1;...;Permission group ID n:Permission serial number n`. Example: `1:1;1:2;2:1;2:2`. For more information about permission groups and permission serial numbers, see [ListAuthority](~~149409~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '15:1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Indicates whether the lane is deleted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4264F69C-686C-4107-B493-0599C8d1****', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'edit successfully', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4823-bhjf-23u4-****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1,\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8d1****\\"\\n}","type":"json"}]', - 'title' => 'DeleteSwimmingLane', - ], - 'UpdateSwimmingLaneGroup' => [ - 'summary' => 'Updates a lane group.', - 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'put', + 'title' => 'UpdateRole', + 'summary' => 'Modifies a role.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRole'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UpdateRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"edit successfully\\",\\n \\"RequestId\\": \\"4823-bhjf-23u4-****\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>edit successfully</Message>\\n<RequestId/>\\n<Code>200</Code>","errorExample":""}]', + ], + 'UpdateSlsLogStore' => [ + 'summary' => 'Configures a Logstore for an application.', + 'path' => '/pop/v5/k8s/sls/update_sls_log_store', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26662,162 +18582,79 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '98', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test-swimlanegroup', - ], - ], - [ - 'name' => 'EntryApp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ingress application. The application is in the EDAS:{application ID} format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EDAS:dd2690a7-3fe4-4975-9a4c-5a60ffd6****', - ], + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the application. You can call the ListApplication operation to query the application ID. For more information, see [ListApplication](~~149390~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'af58edcf-f7eb-****-****-db4e425f****', 'title' => ''], ], [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The list of application IDs related to the lane group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '8e7689af-6ddd-4676-8ee6-5fbecdf2****,f72deaac-26ba-429a-948d-5fa47c4a****,5049d2c8-f997-4fc9-92a2-153506a6****,99a2d4b5-99a5-4e25-a964-1bd03a17****', - ], + 'name' => 'Configs', + 'in' => 'formData', + 'schema' => ['description' => 'The configurations of the Logstore.'."\n" + ."\n" + .'* The following parameters are included in the configurations:****'."\n" + ."\n" + .' * **type**: the collection type. Set this parameter to file to specify the file type. Set this parameter to stdout to specify the standard output type.'."\n" + ."\n" + .' * **logstore**: the name of the Logstore. Make sure that the name of the Logstore is unique in the cluster. The name must comply with the following rules:'."\n" + ."\n" + .' * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" + .' * The name must start and end with a lowercase letter or a digit.'."\n" + .' * The name must be 3 to 63 characters in length.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note**If you leave this parameter empty, the system automatically generates a name.'."\n" + ."\n" + .' * **LogDir**: If the standard output type is used, the collection path is stdout.log. If the file type is used, the collection path is the path of the collected file. Wildcards (\\*) are supported. The collection path must match the following regular expression: `^/(.+)/(.*)^/$`.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7580ED24-A2F0-5ECC-9F2B-B92E2509****', - ], - 'Data' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], - 'Name' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '98', - ], - 'ApplicationList' => [ - 'description' => 'The list of applications related to the lane group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object data of the application list.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****', - ], - ], - ], - ], - 'EntryApplication' => [ - 'description' => 'The EDAS ingress gateway information.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-gateway', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'd52c9de9-53d0-4191-aa72-88974a6f****', - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D16979DC-4D42-**************', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'OperationFailed.AuthExchange', - 'errorMessage' => 'Error transforming authentication data into whitelist rules.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","errorExample":""},{"type":"xml","example":"<code>200</code>\\n<message>success</message>\\n<requestId>D16979DC-4D42-**************</requestId>","errorExample":""}]', + 'title' => 'UpdateSlsLogStore', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSlsLogStore'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageAppLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'Application', 'arn' => 'acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"7580ED24-A2F0-5ECC-9F2B-B92E2509****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\",\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 98,\\n \\"ApplicationList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"476d26d9-b54c-40b8-8af9-d898cdc2****\\"\\n }\\n ],\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"test-gateway\\",\\n \\"AppId\\": \\"d52c9de9-53d0-4191-aa72-88974a6f****\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'UpdateSwimmingLaneGroup', ], 'UpdateSwimmingLane' => [ - 'summary' => '更新泳道', 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26825,794 +18662,466 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '224', - ], + 'schema' => ['description' => 'The ID of the swimming lane.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '224'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test-swimlane', - ], + 'schema' => ['description' => 'The name of the swimming lane.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'test-swimlane'], ], [ 'name' => 'EnableRules', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the throttling rule.'."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether the throttling rule is enabled.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'true'], ], [ 'name' => 'AppInfos', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of applications that are related to the lane.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"appId":"8e7689af-6ddd-4676-8ee6-5fbecdf2****"},{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"99a2d4b5-99a5-4e25-a964-1bd03a17****"}]', - ], + 'schema' => ['description' => 'A list of applications associated with the swimming lane.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"appId":"8e7689af-6ddd-4676-8ee6-5fbecdf2****"},{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"99a2d4b5-99a5-4e25-a964-1bd03a17****"}]'], ], [ 'name' => 'EntryRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of the throttling rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"priority":1,"path":"/traffictest","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testheadervalue","cond":"==","operator":"rawvalue"}]}]', - ], + 'schema' => ['description' => 'The configuration of the throttling rule.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"priority":1,"path":"/traffictest","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testheadervalue","cond":"==","operator":"rawvalue"}]}]'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The object data that is returned.'."\n", + 'description' => 'The returned object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6CB46AEA-309C-5041-9EC7-FCF4478F****', - ], + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6CB46AEA-309C-5041-9EC7-FCF4478F****'], 'Data' => [ - 'description' => 'The data that is returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:qa', - ], - 'GroupId' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '171', - ], - 'EntryRule' => [ - 'description' => 'The rule of the lane.'."\n", - 'type' => 'string', - 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/traffictest\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"testheadervalue\\",\\"name\\":\\"testheader\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"testheadervalue\\"}]}]"', - ], - 'Tag' => [ - 'description' => 'The tag of the lane.'."\n", - 'type' => 'string', - 'example' => '2cb6b8a', - ], - 'Name' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'example' => 'test-swimlane', - ], - 'Id' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '321', - ], + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing:qa'], + 'GroupId' => ['description' => 'The ID of the swimming lane group.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '171'], + 'EntryRule' => ['description' => 'The rule of the swimming lane.', 'type' => 'string', 'title' => '', 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/traffictest\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"testheadervalue\\",\\"name\\":\\"testheader\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"testheadervalue\\"}]}]"'], + 'Tag' => ['description' => 'The tag of the swimming lane.', 'type' => 'string', 'title' => '', 'example' => '2cb6b8a'], + 'Name' => ['description' => 'The name of the swimming lane.', 'type' => 'string', 'title' => '', 'example' => 'test-swimlane'], + 'Id' => ['description' => 'The ID of the swimming lane.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '321'], 'SwimmingLaneAppRelationShipList' => [ - 'description' => 'The list of associations between the lane and the related application.'."\n", + 'description' => 'A list of relationships between applications and the swimming lane.', 'type' => 'array', 'items' => [ - 'description' => 'The association between the lane and the related application.'."\n", + 'description' => 'The relationship between an application and the swimming lane.', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'Rules' => [ - 'description' => 'The association rule.'."\n", - 'type' => 'string', - 'example' => 'dubbo', - ], - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '321', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****', - ], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'title' => '', 'example' => 'test-app'], + 'Rules' => ['description' => 'The association rule.', 'type' => 'string', 'title' => '', 'example' => 'dubbo'], + 'LaneId' => ['description' => 'The ID of the swimming lane.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '321'], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'title' => '', 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"6CB46AEA-309C-5041-9EC7-FCF4478F****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:qa\\",\\n \\"GroupId\\": 171,\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/traffictest\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheadervalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheader\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheadervalue\\\\\\\\\\\\\\"}]}]\\\\\\"\\",\\n \\"Tag\\": \\"2cb6b8a\\",\\n \\"Name\\": \\"test-swimlane\\",\\n \\"Id\\": 321,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"Rules\\": \\"dubbo\\",\\n \\"LaneId\\": 321,\\n \\"AppId\\": \\"476d26d9-b54c-40b8-8af9-d898cdc2****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'UpdateSwimmingLane', - ], - 'ListSwimmingLaneGroup' => [ - 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLane'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"6CB46AEA-309C-5041-9EC7-FCF4478F****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:qa\\",\\n \\"GroupId\\": 171,\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/traffictest\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheadervalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheader\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"testheadervalue\\\\\\\\\\\\\\"}]}]\\\\\\"\\",\\n \\"Tag\\": \\"2cb6b8a\\",\\n \\"Name\\": \\"test-swimlane\\",\\n \\"Id\\": 321,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"Rules\\": \\"dubbo\\",\\n \\"LaneId\\": 321,\\n \\"AppId\\": \\"476d26d9-b54c-40b8-8af9-d898cdc2****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'summary' => 'Updates a swimming lane.', + ], + 'UpdateSwimmingLaneGroup' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n" - ."\n" - .'The ID of a custom namespace is in the region ID:namespace identifier format. Example: cn-beijing:test.\\'."\n" - .'The ID of the default namespace is in the region ID format. Example: cn-beijing.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen:publish', - ], + 'schema' => ['description' => 'The ID of the lane group.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '98', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The name of the lane group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'test-swimlanegroup', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The object data that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BF238E37-671A-5045-B49A-0B29C166****', - ], - 'Data' => [ - 'description' => 'The data of the lane group.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the microservices namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai:daily', - ], - 'Name' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '257', - ], - 'ApplicationList' => [ - 'description' => 'The applications that are related to the lane group.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'java-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '406073bf-afc2-4142-b3d7-629a0308****', - ], - ], - ], - ], - 'EntryApplication' => [ - 'description' => 'The information about the Enterprise Distributed Application Service (EDAS) ingress gateway.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'java-app', - ], - 'Source' => [ - 'description' => 'The data source. Set the value to EDAS.'."\n", - 'type' => 'string', - 'example' => 'EDAS', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '406073bf-afc2-4142-b3d7-629a0308****', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 601 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"BF238E37-671A-5045-B49A-0B29C166****\\",\\n \\"Data\\": [\\n {\\n \\"NamespaceId\\": \\"cn-shanghai:daily\\",\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 257,\\n \\"ApplicationList\\": [\\n {\\n \\"AppName\\": \\"java-app\\",\\n \\"AppId\\": \\"406073bf-afc2-4142-b3d7-629a0308****\\"\\n }\\n ],\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"java-app\\",\\n \\"Source\\": \\"EDAS\\",\\n \\"AppId\\": \\"406073bf-afc2-4142-b3d7-629a0308****\\"\\n }\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListSwimmingLaneGroup', - 'summary' => 'Queries lane groups.', - ], - 'ListSwimmingLane' => [ - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'EntryApp', + 'in' => 'query', + 'schema' => ['description' => 'The ingress application. The application is in the EDAS:{application ID} format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EDAS:dd2690a7-3fe4-4975-9a4c-5a60ffd6****', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], - 'parameters' => [ [ - 'name' => 'GroupId', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '79', - ], + 'schema' => ['description' => 'The list of application IDs related to the lane group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '8e7689af-6ddd-4676-8ee6-5fbecdf2****,f72deaac-26ba-429a-948d-5fa47c4a****,5049d2c8-f997-4fc9-92a2-153506a6****,99a2d4b5-99a5-4e25-a964-1bd03a17****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The object data that is returned.'."\n", + 'description' => 'The content that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The additional information that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7580ED24-A2F0-5ECC-9F2B-B92E2509****', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the microservices namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou:pre2', - ], - 'GroupId' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '156', - ], - 'ScenarioSign' => [ - 'description' => 'The expected tag.'."\n", - 'type' => 'string', - 'example' => 'd0ad1052', - ], - 'EntryRule' => [ - 'description' => 'The conditions.'."\n", - 'type' => 'string', - 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"value\\",\\"name\\":\\"tags\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"value\\"}]}]', - ], - 'Tag' => [ - 'description' => 'The tag.'."\n", - 'type' => 'string', - 'example' => '2cb6b8a', - ], - 'EnableRules' => [ - 'description' => 'Indicates whether the throttling rule is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Name' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '348', - ], - 'SwimmingLaneAppRelationShipList' => [ - 'description' => 'The applications that are related to the lane.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'prod-app-58846', - ], - 'Rules' => [ - 'description' => 'The association rule.'."\n", - 'type' => 'string', - 'example' => '""', - ], - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '348', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3b615783-01f1-4569-baa3-cb71bdb6****', - ], - 'Extra' => [ - 'description' => 'Additional information.', - 'type' => 'string', - 'example' => 'edas-canary', - ], - ], + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => 'The ID of the namespace.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou:test', 'title' => ''], + 'Name' => ['description' => 'The name of the lane group.'."\n", 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Id' => ['description' => 'The ID of the lane group.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '98', 'title' => ''], + 'ApplicationList' => [ + 'description' => 'The list of applications related to the lane group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object data of the application list.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', + ], + 'EntryApplication' => [ + 'description' => 'The EDAS ingress gateway information.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'test-gateway', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'd52c9de9-53d0-4191-aa72-88974a6f****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 601 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', - ], + 500 => [ + ['errorCode' => 'OperationFailed.AuthExchange', 'errorMessage' => 'Error transforming authentication data into whitelist rules.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****\\",\\n \\"Data\\": [\\n {\\n \\"NamespaceId\\": \\"cn-hangzhou:pre2\\",\\n \\"GroupId\\": 156,\\n \\"ScenarioSign\\": \\"d0ad1052\\",\\n \\"EntryRule\\": \\"[{\\\\\\\\\\\\\\"condition\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AND\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"restItems\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"cond\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"==\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"datum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tags\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operator\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"rawvalue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"header\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\"}]}]\\",\\n \\"Tag\\": \\"2cb6b8a\\",\\n \\"EnableRules\\": true,\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 348,\\n \\"SwimmingLaneAppRelationShipList\\": [\\n {\\n \\"AppName\\": \\"prod-app-58846\\",\\n \\"Rules\\": \\"\\\\\\"\\\\\\"\\",\\n \\"LaneId\\": 348,\\n \\"AppId\\": \\"3b615783-01f1-4569-baa3-cb71bdb6****\\",\\n \\"Extra\\": \\"edas-canary\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListSwimmingLane', - 'summary' => 'Queries lanes in a lane group.', - ], - 'DescribeLocalitySetting' => [ - 'path' => '/pop/sp/applications/locality/setting', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'title' => 'UpdateSwimmingLaneGroup', + 'summary' => 'Updates a lane group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLaneGroup'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shanghai:test', - ], - ], + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dc190221-22b5-491c-a548-82f5fa1e3e26', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'HttpStatusCode' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de****', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Threshold' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '15', - ], - 'Enabled' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"1053-08e4-47a5-b2ab-5c0323de****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Threshold\\": 15,\\n \\"Enabled\\": true\\n }\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"7580ED24-A2F0-5ECC-9F2B-B92E2509****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-hangzhou:test\\",\\n \\"Name\\": \\"name\\",\\n \\"Id\\": 98,\\n \\"ApplicationList\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"476d26d9-b54c-40b8-8af9-d898cdc2****\\"\\n }\\n ],\\n \\"EntryApplication\\": {\\n \\"AppName\\": \\"test-gateway\\",\\n \\"AppId\\": \\"d52c9de9-53d0-4191-aa72-88974a6f****\\"\\n }\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'edas.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'edas.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'edas.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'edas.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'edas.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'edas.cn-north-2-gov-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'edas.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'edas.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'edas.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'edas.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'edas.eu-central-1.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => 'edas-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.ap-southeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-southeast-1.aliyuncs.com', 'vpc' => 'edas-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-beijing.aliyuncs.com', 'endpoint' => 'edas.cn-beijing.aliyuncs.com', 'vpc' => 'edas-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-hangzhou.aliyuncs.com', 'endpoint' => 'edas.cn-hangzhou.aliyuncs.com', 'vpc' => 'edas-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-hongkong.aliyuncs.com', 'endpoint' => 'edas.cn-hongkong.aliyuncs.com', 'vpc' => 'edas-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-qingdao.aliyuncs.com', 'endpoint' => 'edas.cn-qingdao.aliyuncs.com', 'vpc' => 'edas-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-shanghai.aliyuncs.com', 'endpoint' => 'edas.cn-shanghai.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-shenzhen.aliyuncs.com', 'endpoint' => 'edas.cn-shenzhen.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'edas.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'edas.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'edas-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => 'edas-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'edas.us-east-1.aliyuncs.com', 'endpoint' => 'edas.us-east-1.aliyuncs.com', 'vpc' => 'edas-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'edas.eu-central-1.aliyuncs.com', 'endpoint' => 'edas.eu-central-1.aliyuncs.com', 'vpc' => 'edas-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'edas.cn-north-2-gov-1.aliyuncs.com', 'endpoint' => 'edas.cn-north-2-gov-1.aliyuncs.com', 'vpc' => 'edas-vpc.cn-north-2-gov-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-beijing-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'Edas.errorcode.changeGroup.group.expired', 'message' => 'The group that you want to change has already expired.', 'http_code' => 500, 'description' => 'The group has expired when the application group is transferred'], + ['code' => 'Edas.errorcode.changeGroup.group.normalToGray', 'message' => 'You cannot assign the specified instance to the canary release group. Check the group that the instance belongs to.', 'http_code' => 500, 'description' => 'The instance cannot switch to the gray group. Please confirm the target group type'], + ['code' => 'Edas.errorcode.InstanceNotExist.Cluster.message', 'message' => 'The cluster instance does not exist.', 'http_code' => 500, 'description' => 'The cluster instance does not exist.'], + ['code' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'message' => 'The instance does not exist.', 'http_code' => 500, 'description' => 'The instance does not exist.'], + ['code' => 'Edas.errorcode.K8SAppConfiguration.UpdateFail', 'message' => 'An error occurred while setting the application configuration.', 'http_code' => 500, 'description' => 'Failed to set app configuration.'], + ['code' => 'Edas.errorcode.OperationFailed.ApplicationsDifferent.message', 'message' => 'The specified instance does not belong to the specified group.', 'http_code' => 500, 'description' => 'The application in the deployment group is different from the application in the instance.'], + ['code' => 'Edas.Errorcode.OperationFailed.CloseAdvancedMonitor.Message', 'message' => 'Failed to disable advanced monitoring.', 'http_code' => 600, 'description' => ''], + ['code' => 'Edas.Errorcode.OperationFailed.OpenAdvancedMonitor.Message', 'message' => 'Failed to enable advanced monitoring.', 'http_code' => 600, 'description' => ''], + ['code' => 'Edas.errorcode.ParameterInvalid.NamespaceName.message', 'message' => 'The namespace name cannot exceed 63 characters in length.', 'http_code' => 601, 'description' => 'The namespace name cannot exceed 63 characters in length.'], + ['code' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'message' => 'The value of parameter {0} is invalid.', 'http_code' => 601, 'description' => 'Invalid parameters: {0}'], + ['code' => 'Edas.errorcode.ParameterMissing.message', 'message' => 'You must specify all required parameters.', 'http_code' => 400, 'description' => 'Parameter cannot be empty.'], + ['code' => 'Edas.errorcode.PermissionDenied.message', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 500, 'description' => 'No permissions'], + ['code' => 'Edas.errorcode.ScaleOut.NoTemplateFoundForTemplate.message', 'message' => 'The template set does not exist.', 'http_code' => 500, 'description' => 'NoTemplate Set Found'], + ['code' => 'EntityNotExist.ResourceGroup', 'message' => 'The ResourceGroup does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'EntityNotExist.ResourceId', 'message' => 'The ResourceId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'EntityNotExist.ResourceType', 'message' => 'The ResourceType does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InstanceExist.Config', 'message' => 'The configuration identifier already exists. Enter a new Data ID or select another group.', 'http_code' => null, 'description' => 'The configuration identifier already exists. Enter a new Data ID or select another group.'], + ['code' => 'InstanceExist.PackageVersion', 'message' => 'Package version {0} already exists.', 'http_code' => null, 'description' => 'Package version {0} already exists.'], + ['code' => 'InstanceNotExist.AddedLogPath', 'message' => 'The added path does not exist.', 'http_code' => null, 'description' => 'The added path does not exist.'], + ['code' => 'InstanceNotExist.DeletedLogPath', 'message' => 'The path to be deleted {0} does not exist.', 'http_code' => null, 'description' => 'The path to be deleted {0} does not exist.'], + ['code' => 'InstanceNotExist.LogPath', 'message' => 'Make sure the file path exists.', 'http_code' => null, 'description' => 'Make sure the file path exists.'], + ['code' => 'InstanceNotExist.PointedApplication', 'message' => 'Application {0} does not exist or is deleted.', 'http_code' => null, 'description' => 'Application {0} does not exist or is deleted.'], + ['code' => 'InstanceNotExist.PointedECS', 'message' => 'Instance {0} does not exist. Select another one.', 'http_code' => null, 'description' => 'Instance {0} does not exist. Select another one.'], + ['code' => 'InstanceNotExist.ServiceGroup', 'message' => 'Group {0} does not exist.', 'http_code' => null, 'description' => 'Group {0} does not exist.'], + ['code' => 'InstanceNotExist.ServiceOrMethodName', 'message' => 'Authentication cancellation method is valid only when the service or method name exists.', 'http_code' => null, 'description' => 'Authentication cancellation method is valid only when the service or method name exists.'], + ['code' => 'OperationFailed.AuthExchange', 'message' => 'Error transforming authentication data into whitelist rules.', 'http_code' => null, 'description' => 'Error transforming authentication data into whitelist rules.'], + ['code' => 'OperationFailed.CallLark', 'message' => 'Error calling lark: {0}', 'http_code' => null, 'description' => 'Error calling lark: {0}'], + ['code' => 'OperationFailed.DifferentRegion', 'message' => 'The requested resources are not in the same region. Request cannot be processed.', 'http_code' => null, 'description' => 'The requested resources are not in the same region. Request cannot be processed.'], + ['code' => 'OperationFailed.FeatureDisabled', 'message' => 'The feature is disabled.', 'http_code' => null, 'description' => 'The feature is disabled.'], + ['code' => 'OperationFailed.FileUnaccessible', 'message' => 'Make sure the file path can be accessed by admin users.', 'http_code' => null, 'description' => 'Make sure the file path can be accessed by admin users.'], + ['code' => 'OperationFailed.InvalidAction', 'message' => 'Invalid action status: {0}', 'http_code' => null, 'description' => 'Invalid action status: {0}'], + ['code' => 'OperationFailed.InvalidActionStatus', 'message' => 'Invalid action status: {0}', 'http_code' => null, 'description' => 'Invalid action status: {0}'], + ['code' => 'OperationFailed.JVMConfig', 'message' => 'Error configuring JVM parameters.', 'http_code' => null, 'description' => 'Error configuring JVM parameters.'], + ['code' => 'OperationFailed.ModifyApplicationVersionDescription', 'message' => 'Error changing application version descriptions.', 'http_code' => null, 'description' => 'Error changing application version descriptions.'], + ['code' => 'OperationFailed.ModifyClusterInfo', 'message' => 'Error when modifying cluster information.', 'http_code' => null, 'description' => 'Error when modifying cluster information.'], + ['code' => 'OperationFailed.QuotaExceedInServiceGroup', 'message' => 'A maximum of {0} configurations are allowed in each group.', 'http_code' => null, 'description' => 'A maximum of {0} configurations are allowed in each group.'], + ['code' => 'OperationFailed.RequestTooMuch', 'message' => 'Queries per second have exceeded the limit.', 'http_code' => null, 'description' => 'Queries per second have exceeded the limit.'], + ['code' => 'OperationFailed.ResourceUsed', 'message' => 'The corresponding resources have been used.', 'http_code' => null, 'description' => 'The corresponding resources have been used.'], + ['code' => 'OperationFailed.SignatureMismatched', 'message' => 'Authentication failed. The signature value calculated by the server does not match the input signature value.', 'http_code' => null, 'description' => 'Authentication failed. The signature value calculated by the server does not match the input signature value.'], + ['code' => 'ParameterInvalid', 'message' => 'The parameters are invalid.', 'http_code' => null, 'description' => 'The parameters are invalid.'], + ['code' => 'ParameterInvalid.DeployTag', 'message' => 'The label does not meet the requirements.', 'http_code' => null, 'description' => 'The label does not meet the requirements.'], + ['code' => 'ParameterInvalid.DeployUrl', 'message' => 'The URL must start with \'http://\'.', 'http_code' => null, 'description' => 'The URL must start with \'http://\'.'], + ['code' => 'ParameterInvalid.Encoding', 'message' => 'The encoding is not supported.', 'http_code' => null, 'description' => 'The encoding is not supported.'], + ['code' => 'ParameterInvalid.JVMConfig.IllegalCharactor', 'message' => 'Custom parameters contain illegal characters.', 'http_code' => null, 'description' => 'Custom parameters contain illegal characters.'], + ['code' => 'ParameterInvalid.LicenseSerialNumber.Actived', 'message' => 'The serial number has been activated.', 'http_code' => null, 'description' => 'The serial number has been activated.'], + ['code' => 'ParameterInvalid.LicenseSerialNumber.Expired', 'message' => 'The activated serial number has expired.', 'http_code' => null, 'description' => 'The activated serial number has expired.'], + ['code' => 'ParameterInvalid.PointedParameter', 'message' => 'Invalid parameters: {0}', 'http_code' => null, 'description' => 'Invalid parameters: {0}'], + ['code' => 'ParameterInvalid.TimeDisorder', 'message' => 'The start time must be ealier than the end time.', 'http_code' => null, 'description' => 'The start time must be ealier than the end time.'], + ['code' => 'ParameterInvalid.TomcatConnectorType', 'message' => 'Select the BIO or NIO type for connectors.', 'http_code' => null, 'description' => 'Select the BIO or NIO type for connectors.'], + ['code' => 'ParameterMissing.InstanceId', 'message' => 'instanceId cannot be empty.', 'http_code' => null, 'description' => 'instanceId cannot be empty.'], + ['code' => 'ParameterMissing.PointedParameter', 'message' => '{0} cannot be empty.', 'http_code' => null, 'description' => '{0} cannot be empty.'], + ['code' => 'PermissionDenied.ActiveLicense', 'message' => 'Only the primary account is allowed to activate the serial number.', 'http_code' => null, 'description' => 'Only the primary account is allowed to activate the serial number.'], + ['code' => 'PermissionDenied.DeleteOtherServiceGroup', 'message' => 'You cannot delete service groups that you do not own.', 'http_code' => null, 'description' => 'You cannot delete service groups that you do not own.'], + ['code' => 'PermissionDenied.PointedResource', 'message' => 'You do not have access to the corresponding resources:{0}', 'http_code' => null, 'description' => 'You do not have access to the corresponding resources:{0}'], + ['code' => 'TypeIncorrect.PushEvent', 'message' => 'User{0}cannot push events of type{1}.', 'http_code' => null, 'description' => 'User{0}cannot push events of type{1}.'], + ['code' => 'UnknownError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => ''], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryApplicationStatus'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sIngressRules'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sNamespaces'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindEcsSlb'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAuthority'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sIngressRule'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertK8sApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLane'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterMember'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEcuByRegion'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainerConfiguration'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeOrderInfo'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConfigTemplates'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleOutApplication'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sSecrets'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateJvmConfiguration'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPackageStorageCredential'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRole'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindK8sSlb'], + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TransformClusterMember'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddLogPath'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertDeployGroup'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryEccInfo'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallAgent'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeResourceGroup'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertSwimmingLane'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSlsLogStore'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sAppPrecheck'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLaneGroup'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sIngressRule'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateEcuList'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sService'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetScalingRules'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBuildPack'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackChangeOrder'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sConfigMap'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertClusterMember'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLaneGroup'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindSlb'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDeployGroup'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetSecureToken'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAppInstanceList'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopK8sApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertSwimmingLaneGroup'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sAppPrecheckResult'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MigrateEcu'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeApplication'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployK8sApplication'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRole'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpc'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSecret'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListComponents'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSlb'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sConfigMap'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sSecret'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sService'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecentChangeOrder'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSubAccount'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateConfigTemplate'], + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainer'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConsumedServices'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWebContainerConfig'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortAndRollbackChangeOrder'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJvmConfiguration'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCluster'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertRole'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetApplication'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateIDCImportCommand'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListHistoryDeployVersion'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListScaleOutEcu'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateRegionList'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserDefineRegion'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSlb'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SwitchAdvancedMonitoring'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJavaStartUpConfig'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterMembers'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sSecret'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertOrUpdateRegion'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetContainerConfiguration'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCluster'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertApplication'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAccountInfo'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sIngressRule'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeResource'], + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ImportK8sCluster'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sResource'], + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDeployGroup'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConvertableEcu'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAliyunRegion'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEcsNotInCluster'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortChangeOrder'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPublishedServices'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateHealthCheckUrl'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteUserDefineRegion'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryRegionConfig'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateConfigTemplate'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployApplication'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sService'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sConfigMaps'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleK8sApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServiceGroup'], + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAppDeployment'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConvertK8sResource'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRole'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ContinuePipeline'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindSlb'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateHookConfiguration'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindK8sSlb'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSwimmingLane'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEcu'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sApplicationBaseInfo'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sServices'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartK8sApplication'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeDeployGroup'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListMethods'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeRole'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleoutApplicationWithNewInstances'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationBaseInfo'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetK8sCluster'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceGroup'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleInApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sConfigMap'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sApplicationConfig'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopApplication'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLogPath'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServiceGroups'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationEcu'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteConfigTemplate'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetApplication'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertCluster'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertServiceGroup'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLane'], ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'edas.us-east-1.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'EDAS', + 'productName' => 'Enterprise Distributed Application Service', + 'ramCodes' => ['edas'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [ + [ + 'name' => 'edas:tag', + 'schema' => ['type' => 'String', 'description' => ''], + ], ], + 'ramActions' => [], + 'resourceTypes' => [], ], ]; |
