diff options
Diffstat (limited to 'data/zh_cn/edas/2017-08-01/api-docs.php')
| -rw-r--r-- | data/zh_cn/edas/2017-08-01/api-docs.php | 35983 |
1 files changed, 13291 insertions, 22692 deletions
diff --git a/data/zh_cn/edas/2017-08-01/api-docs.php b/data/zh_cn/edas/2017-08-01/api-docs.php index bd8b6c2..f57cda3 100644 --- a/data/zh_cn/edas/2017-08-01/api-docs.php +++ b/data/zh_cn/edas/2017-08-01/api-docs.php @@ -1,722 +1,126 @@ <?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' => '系统管理', + 'children' => ['UpdateAccountInfo', 'ListRole', 'ListSubAccount', 'ListAuthority', 'GetPackageStorageCredential', 'InsertRole', 'AuthorizeRole', 'AuthorizeApplication', 'AuthorizeResourceGroup'], 'type' => 'directory', - 'children' => [ - 'DeleteRole', - 'UpdateRole', - 'UpdateAccountInfo', - 'ListRole', - 'ListSubAccount', - 'ListAuthority', - 'GetPackageStorageCredential', - 'InsertRole', - 'AuthorizeRole', - 'AuthorizeApplication', - 'AuthorizeResourceGroup', - ], + 'title' => '系统管理', + 'id' => 142987, ], [ - 'id' => 62552, - 'title' => '资源管理', - 'type' => 'directory', 'children' => [ [ - 'id' => 62553, + 'children' => ['DeleteUserDefineRegion', 'ListAliyunRegion', 'QueryMigrateRegionList', 'ListCluster', 'GetCluster', 'ListVpc', 'QueryRegionConfig', 'ListApplicationEcu', 'ListResourceGroup'], + 'type' => 'directory', 'title' => 'ECS集群和K8s集群', + 'id' => 142876, + ], + [ + 'children' => ['CreateIDCImportCommand', 'DeleteClusterMember', 'DeleteEcu', 'ListClusterMembers', 'ListEcuByRegion', 'ListConvertableEcu', 'ListEcsNotInCluster', 'QueryMigrateEcuList', 'ListScaleOutEcu', 'ListSlb', 'BindSlb', 'InsertCluster', 'InsertClusterMember', 'TransformClusterMember', 'MigrateEcu', 'SynchronizeResource'], 'type' => 'directory', - 'children' => [ - 'DeleteUserDefineRegion', - 'DeleteCluster', - 'ListAliyunRegion', - 'QueryMigrateRegionList', - 'ListCluster', - 'GetCluster', - 'ListVpc', - 'QueryRegionConfig', - 'ListApplicationEcu', - 'ListResourceGroup', - 'ListTagResources', - 'TagResources', - 'UntagResources', - ], - ], - [ - 'id' => 62559, 'title' => 'ECS集群', + 'id' => 142890, + ], + [ + 'children' => ['UpdateK8sResource', 'GetK8sCluster', 'ListK8sNamespaces', 'ImportK8sCluster'], 'type' => 'directory', - 'children' => [ - 'CreateIDCImportCommand', - 'DeleteClusterMember', - 'DeleteEcu', - 'ListClusterMembers', - 'ListEcuByRegion', - 'ListConvertableEcu', - 'ListEcsNotInCluster', - 'QueryMigrateEcuList', - 'ListScaleOutEcu', - 'ListSlb', - 'BindSlb', - 'InsertCluster', - 'InsertClusterMember', - 'InstallAgent', - 'TransformClusterMember', - 'MigrateEcu', - 'SynchronizeResource', - ], - ], - [ - 'id' => 62575, 'title' => 'K8s集群', - 'type' => 'directory', - 'children' => [ - 'UpdateK8sResource', - 'GetK8sCluster', - 'ListK8sNamespaces', - 'ImportK8sCluster', - ], + 'id' => 142908, ], ], + 'type' => 'directory', + 'title' => '资源管理', + 'id' => 142875, ], [ - 'id' => 62579, - 'title' => '应用管理', - 'type' => 'directory', 'children' => [ [ - 'id' => 62580, - 'title' => 'ECS集群和K8s集群通用', - 'type' => 'directory', - 'children' => [ - 'UpdateHealthCheckUrl', - 'GetChangeOrderInfo', - 'GetSecureToken', - 'QueryEccInfo', - 'GetScalingRules', - 'ListUserDefineRegion', - 'GetContainerConfiguration', - 'ListApplication', - 'ListDeployGroup', - 'ListHistoryDeployVersion', - 'ListRecentChangeOrder', - 'ListBuildPack', - 'InsertOrUpdateRegion', - 'SwitchAdvancedMonitoring', - 'ContinuePipeline', - 'AbortChangeOrder', - 'RollbackChangeOrder', - ], - ], - [ - 'id' => 62598, - 'title' => 'ECS集群专属', + 'children' => ['UpdateHealthCheckUrl', 'GetChangeOrderInfo', 'GetSecureToken', 'QueryEccInfo', 'GetScalingRules', 'ListUserDefineRegion', 'GetContainerConfiguration', 'ListApplication', 'ListDeployGroup', 'ListHistoryDeployVersion', 'ListRecentChangeOrder', 'ListBuildPack', 'InsertOrUpdateRegion', 'SwitchAdvancedMonitoring', 'ContinuePipeline', 'AbortChangeOrder', 'RollbackChangeOrder'], 'type' => 'directory', + 'title' => 'ECS集群和K8s集群通用', + 'id' => 142914, + ], + [ '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集群专属', + 'UpdateApplicationBaseInfo', 'AddLogPath', 'DeleteLogPath', 'DeleteDeployGroup', 'UpdateHookConfiguration', 'StartApplication', 'StopApplication', 'UpdateContainer', 'UpdateContainerConfiguration', 'ChangeDeployGroup', 'UpdateJvmConfiguration', 'GetJvmConfiguration', 'QueryApplicationStatus', 'InsertDeployGroup', 'BindEcsSlb', 'UnbindSlb', 'InsertApplication', 'DeployApplication', 'ScaleoutApplicationWithNewInstances', 'ScaleOutApplication', + 'ScaleInApplication', 'ResetApplication', 'RestartApplication', + ], 'type' => 'directory', + 'title' => 'ECS集群专属', + 'id' => 142932, + ], + [ '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', + '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', ], + 'type' => 'directory', + 'title' => 'K8s集群专属', + 'id' => 142961, ], ], + 'type' => 'directory', + 'title' => '应用管理', + 'id' => 142913, ], [ - 'id' => 62520, - 'title' => '服务管理', + 'children' => ['UpdateLocalitySetting', 'DeleteServiceGroup', 'GetServiceConsumersPage', 'GetServiceListPage', 'GetServiceMethodPage', 'GetServiceProvidersPage', 'ListConsumedServices', 'ListPublishedServices', 'GetServiceDetail', 'ListMethods', 'ListServiceGroups', 'InsertServiceGroup'], 'type' => 'directory', - 'children' => [ - 'UpdateLocalitySetting', - 'DeleteServiceGroup', - 'GetServiceConsumersPage', - 'GetServiceListPage', - 'GetServiceMethodPage', - 'GetServiceProvidersPage', - 'ListConsumedServices', - 'ListPublishedServices', - 'GetServiceDetail', - 'ListMethods', - 'ListServiceGroups', - 'InsertServiceGroup', - ], + 'title' => '服务管理', + 'id' => 142862, ], [ - 'id' => 62509, - 'title' => '应用路由', + 'children' => ['CreateK8sIngressRule', 'DeleteK8sIngressRule', 'UpdateK8sIngressRule', 'ListK8sIngressRules'], 'type' => 'directory', - 'children' => [ - 'CreateK8sIngressRule', - 'DeleteK8sIngressRule', - 'UpdateK8sIngressRule', - 'ListK8sIngressRules', - ], + 'title' => '应用路由', + 'id' => 142857, ], [ - 'id' => 165305, - 'title' => '配置管理', + 'children' => ['CreateConfigTemplate', 'CreateK8sConfigMap', 'CreateK8sSecret', 'DeleteConfigTemplate', 'DeleteK8sConfigMap', 'DeleteK8sSecret', 'UpdateConfigTemplate', 'UpdateK8sConfigMap', 'UpdateK8sSecret', 'ListConfigTemplates', 'GetJavaStartUpConfig', 'GetWebContainerConfig', 'ListK8sConfigMaps', 'ListK8sSecrets', 'RetryChangeOrderTask'], 'type' => 'directory', - 'children' => [ - 'CreateConfigTemplate', - 'CreateK8sConfigMap', - 'CreateK8sSecret', - 'DeleteConfigTemplate', - 'DeleteK8sConfigMap', - 'DeleteK8sSecret', - 'UpdateConfigTemplate', - 'UpdateK8sConfigMap', - 'UpdateK8sSecret', - 'ListConfigTemplates', - 'GetJavaStartUpConfig', - 'GetWebContainerConfig', - 'ListK8sConfigMaps', - 'ListK8sSecrets', - 'RetryChangeOrderTask', - ], + 'title' => '配置管理', + 'id' => 143006, ], [ - 'id' => 142529, - 'title' => '弹性伸缩', + 'children' => ['CreateApplicationScalingRule', 'DeleteApplicationScalingRule', 'DisableApplicationScalingRule', 'EnableApplicationScalingRule', 'UpdateApplicationScalingRule', 'DescribeApplicationScalingRules'], 'type' => 'directory', - 'children' => [ - 'CreateApplicationScalingRule', - 'DeleteApplicationScalingRule', - 'DisableApplicationScalingRule', - 'EnableApplicationScalingRule', - 'UpdateApplicationScalingRule', - 'DescribeApplicationScalingRules', - ], + 'title' => '弹性伸缩', + 'id' => 142999, ], [ - 'id' => 172451, - 'title' => '泳道管理', + 'children' => ['InsertSwimmingLaneGroup', 'InsertSwimmingLane', 'DeleteSwimmingLane', 'UpdateSwimmingLaneGroup', 'UpdateSwimmingLane', 'ListSwimmingLaneGroup', 'ListSwimmingLane'], 'type' => 'directory', - 'children' => [ - 'InsertSwimmingLaneGroup', - 'InsertSwimmingLane', - 'DeleteSwimmingLane', - 'UpdateSwimmingLaneGroup', - 'UpdateSwimmingLane', - 'ListSwimmingLaneGroup', - 'ListSwimmingLane', - ], + 'title' => '泳道管理', + 'id' => 143022, ], [ - 'id' => 0, - 'title' => '其它', + 'children' => ['DeleteApplication', 'DeleteCluster', 'DeleteRole', 'DescribeLocalitySetting', 'GetApplication', 'InstallAgent', 'ListComponents', 'ListTagResources', 'ModifyScalingRule', 'RollbackApplication', 'TagResources', 'UntagResources', 'UpdateRole'], + 'title' => '其他', 'type' => 'directory', - 'children' => [ - 'DescribeLocalitySetting', - ], ], ], 'components' => [ - 'schemas' => [ - 'AppConfig' => [ - 'title' => '应用配置', - 'description' => '应用配置', - 'type' => 'object', - 'properties' => [ - 'ImageConfig' => [ - 'title' => '镜像配置', - 'type' => 'object', - 'properties' => [ - 'ImageUrl' => [ - 'title' => '镜像地址', - 'type' => 'string', - ], - 'CrRegionId' => [ - 'title' => '镜像仓库Region', - 'type' => 'string', - ], - 'CrInstanceId' => [ - 'title' => '镜像服务实例ID', - 'type' => 'string', - ], - 'ContainerRegistryId' => [ - 'title' => '镜像仓库实例ID', - 'type' => 'string', - ], - ], - ], - 'PackageConfig' => [ - 'title' => '部署包配置', - 'type' => 'object', - 'properties' => [ - 'PackageVersion' => [ - 'title' => '部署包版本', - 'type' => 'string', - ], - 'PackageType' => [ - 'title' => '部署包类型', - 'type' => 'string', - ], - 'PackageUrl' => [ - 'title' => '部署包地址', - 'type' => 'string', - ], - 'Jdk' => [ - 'title' => 'JDK版本', - 'type' => 'string', - ], - 'WebContainer' => [ - 'title' => 'Tomcat版本', - 'type' => 'string', - ], - 'EdasContainerVersion' => [ - 'title' => 'Pandora版本', - 'type' => 'string', - ], - 'Timezone' => [ - 'title' => '时区', - 'type' => 'string', - ], - 'UriEncoding' => [ - 'title' => 'URI字符编码', - 'type' => 'string', - ], - 'UseBodyEncoding' => [ - 'title' => 'useBodyEncodingForURI是否启用', - 'type' => 'boolean', - ], - ], - ], - 'IsMultilingualApp' => [ - 'title' => '是否多语言应用', - 'type' => 'boolean', - ], - 'Replicas' => [ - 'title' => '应用实例数', - 'type' => 'integer', - 'format' => 'int64', - ], - 'LimitCpu' => [ - 'title' => 'CPU限制', - 'type' => 'string', - ], - 'LimitMem' => [ - 'title' => '内存限制', - 'type' => 'string', - ], - 'RequestCpu' => [ - 'title' => 'CPU需求', - 'type' => 'string', - ], - 'RequestMem' => [ - 'title' => '内存需求', - 'type' => 'string', - ], - 'Envs' => [ - 'title' => '环境变量', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名', - 'type' => 'string', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - ], - 'ValueFrom' => [ - 'title' => '变量引用', - 'type' => 'string', - ], - ], - ], - ], - 'EnvFroms' => [ - 'title' => '环境变量引用', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ConfigMapRef' => [ - 'title' => '配置项引用', - 'type' => 'string', - ], - 'SecretRef' => [ - 'title' => '保密字典引用', - 'type' => 'string', - ], - ], - ], - ], - 'EmptyDirs' => [ - 'title' => 'EmptyDir挂载配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '容器名称', - 'type' => 'string', - ], - 'ReadOnly' => [ - 'title' => '是否只读', - 'type' => 'boolean', - ], - 'MountPath' => [ - 'title' => '挂载路径', - 'type' => 'string', - ], - 'SubPathExpr' => [ - 'title' => '子路径表达式', - 'type' => 'string', - ], - ], - ], - ], - 'LocalVolumes' => [ - 'title' => '本地磁盘挂载配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '名称', - 'type' => 'string', - ], - 'Type' => [ - 'title' => '类型', - 'type' => 'string', - ], - 'NodePath' => [ - 'title' => '节点路径', - 'type' => 'string', - ], - 'MountPath' => [ - 'title' => '容器挂载路径', - 'type' => 'string', - ], - 'OpsAuth' => [ - 'title' => '权限类型', - 'type' => 'integer', - 'format' => 'int64', - ], - ], - ], - ], - 'NasId' => [ - 'title' => 'NAS实例ID', - 'type' => 'string', - ], - 'NasStorageType' => [ - 'title' => 'NAS存储类型', - 'type' => 'string', - ], - 'NasMountDescs' => [ - 'title' => 'NAS挂载配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'title' => 'NAS挂载路径', - 'type' => 'string', - ], - 'NasPath' => [ - 'title' => 'NAS文件路径', - 'type' => 'string', - ], - ], - ], - ], - 'PvcMountDescs' => [ - 'title' => '持久化存储挂载配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PvcName' => [ - 'title' => '持久化存储名称', - 'type' => 'string', - ], - 'MountPaths' => [ - 'title' => '持久化存储挂载路径列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'title' => '挂载路径', - 'type' => 'string', - ], - 'ReadOnly' => [ - 'title' => '是否只读', - 'type' => 'boolean', - ], - 'SubPathExpr' => [ - 'title' => '子路径表达式', - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - 'ConfigMountDescs' => [ - 'title' => '配置项挂载配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '名称', - 'type' => 'string', - ], - 'Type' => [ - 'title' => '类型', - 'type' => 'string', - ], - 'MountPath' => [ - 'title' => '挂载路径', - 'type' => 'string', - ], - 'MountItems' => [ - 'title' => '挂载条目', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '配置项', - 'type' => 'string', - ], - 'Path' => [ - 'title' => '路径', - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - 'SlsConfigs' => [ - 'title' => '日志采集配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'title' => '类型', - 'type' => 'string', - ], - 'LogDir' => [ - 'title' => '日志目录', - 'type' => 'string', - ], - 'Logstore' => [ - 'title' => '日志存储', - 'type' => 'string', - ], - 'Project' => [ - 'title' => '日志项目', - 'type' => 'string', - ], - ], - ], - ], - 'JavaStartUpConfig' => [ - 'title' => 'Java启动参数配置', - 'type' => 'string', - ], - 'WebContainerConfig' => [ - 'title' => 'Tomcat配置', - 'type' => 'object', - 'properties' => [ - 'HttpPort' => [ - 'title' => '应用端口', - 'type' => 'integer', - 'format' => 'int64', - ], - 'MaxThreads' => [ - 'title' => '最大线程数', - 'type' => 'integer', - 'format' => 'int64', - ], - 'ContextInputType' => [ - 'title' => 'Context选择类型', - 'type' => 'string', - ], - 'ContextPath' => [ - 'title' => 'Context路径', - 'type' => 'string', - ], - 'UriEncoding' => [ - 'title' => 'URI字符编码', - 'type' => 'string', - ], - 'UseAdvancedServerXml' => [ - 'title' => '是否使用高级配置', - 'type' => 'boolean', - ], - 'UseBodyEncoding' => [ - 'title' => 'useBodyEncodingForURI是否启用', - 'type' => 'boolean', - ], - 'ServerXml' => [ - 'title' => '自定义配置', - 'type' => 'string', - ], - 'ConnectorType' => [ - 'title' => 'connector类型', - 'type' => 'string', - ], - 'UseDefaultConfig' => [ - 'title' => '是否使用默认配置', - 'type' => 'boolean', - ], - ], - ], - 'Command' => [ - 'title' => '启动命令', - 'type' => 'string', - ], - 'CommandArgs' => [ - 'title' => '启动参数', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Liveness' => [ - 'title' => 'liveness探针配置', - 'type' => 'string', - ], - 'Readiness' => [ - 'title' => 'readiness探针配置', - 'type' => 'string', - ], - 'PreStop' => [ - 'title' => 'preStop挂钩配置', - 'type' => 'string', - ], - 'PostStart' => [ - 'title' => 'postStart挂钩配置', - 'type' => 'string', - ], - 'RuntimeClassName' => [ - 'title' => '运行时类型', - 'type' => 'string', - ], - 'DeployAcrossZones' => [ - 'title' => '是否尽量多可用区部署', - 'type' => 'boolean', - ], - 'DeployAcrossNodes' => [ - 'title' => '是否尽量多节点部署', - 'type' => 'boolean', - ], - 'EnableAhas' => [ - 'title' => '是否开启限流降级', - 'type' => 'boolean', - ], - ], - ], - ], + 'schemas' => [], ], 'apis' => [ - 'DeleteRole' => [ - 'summary' => '删除角色。', - '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' => '角色ID。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '99999999', - ], + 'schema' => ['description' => '变更单ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6b55106c-c7f2-40f7-a1d4-092870*****'], ], ], 'responses' => [ @@ -725,164 +129,141 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '042F329B-F518-4CC1-****-**********', + 'Code' => ['description' => '接口状态或 POP 错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '81E0B333-2871-****-****-B8F5FF43****'], + 'TraceId' => ['description' => '调用链ID。', 'type' => 'string', 'example' => '210f07bf1640239405712621******'], + 'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => 'success'], + 'Data' => [ + 'description' => '变更单信息。', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更单ID。', 'type' => 'string', 'example' => '4f40e616-cdcd-4250-a018-efd459******'], + ], ], ], ], ], ], - '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' => '删除角色', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateRole' => [ - 'summary' => '编辑角色。', - 'path' => '/pop/v5/account/edit_role', - 'methods' => [ - 'post', + 'errorCodes' => [], + 'title' => '终止并回滚变更单', + 'summary' => '调用AbortAndRollbackChangeOrder接口终止并回滚变更单,适用于容器服务K8s集群中的应用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortAndRollbackChangeOrder'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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' => '角色ID,可以使用[ListRole](~~149410~~)获取。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '32371', - ], - ], - [ - 'name' => 'ActionData', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => '操作权限集合,格式:`权限组ID1:权限码1;...;权限组IDn:权限码n`,例如`1:1;1:2;2:1;2:2`。详细权限组及权限码含义请参见[ListAuthority](~~149409~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '15:1', - ], + 'schema' => ['description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f038ddf-b27b-****-****-88e44375****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'edit successfully', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****'], + 'TraceId' => ['description' => '调用链ID', 'type' => 'string', 'example' => '0b59000b15947****55688656d****'], + 'ErrorCode' => ['description' => '错误码', 'type' => 'string', 'example' => 'success'], + 'Data' => [ + 'description' => '变更流程', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID', 'type' => 'string', 'example' => '4f038ddf-b27b-****-****-88e44375****'], + ], ], ], + 'description' => '', ], ], ], - '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' => '编辑角色', + 'errorCodes' => [], + 'title' => '终止变更流程', + 'summary' => '调用AbortChangeOrder接口终止变更流程。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateAccountInfo' => [ - 'summary' => '编辑账号信息。', - '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' => '[{"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":""}]', + ], + 'AddLogPath' => [ + 'summary' => '适用于在阿里云和非阿里云ECS集群中部署的应用。', + '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' => '账号名称', - 'type' => 'string', - 'required' => false, - 'example' => 'edas-test', - ], - ], - [ - 'name' => 'Telephone', - 'in' => 'query', - 'schema' => [ - 'description' => '联系方式', - 'type' => 'string', - 'required' => false, - 'example' => '1321234****', - ], + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********'], ], [ - 'name' => 'Email', - 'in' => 'query', - 'schema' => [ - 'description' => '电子邮箱地址', - 'type' => 'string', - 'required' => false, - 'example' => '1321234****@alibaba-inc.com', - ], + 'name' => 'Path', + 'in' => 'formData', + 'schema' => ['description' => '待收藏的应用日志的绝对路径。应用日志路径必须以`/`开头和结尾,并且路径中必须包含`/log`或者`/logs`。EDAS默认目录如下:'."\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/'], ], ], 'responses' => [ @@ -890,526 +271,117 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'edit successfully', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '3616cdca-4f92-4413**********'], ], + 'description' => '', ], ], ], - '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' => '编辑账号信息', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListRole' => [ - 'summary' => '获取角色列表。', - 'path' => '/pop/v5/account/role_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '添加日志目录', + 'responseParamsDescription' => '{'."\n" + .' "Code": 200,'."\n" + .' "Message": "success",'."\n" + .' "RequestId": "3616cdca-4f92-4413**********"'."\n" + .'}', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:16.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:16.000Z', 'description' => '错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + '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' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'RoleList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RoleItem' => [ - 'description' => '角色列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActionList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Action' => [ - 'description' => '操作权限集合', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '权限码', - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'description' => '权限描述', - 'type' => 'string', - 'example' => '操作记录', - ], - 'GroupId' => [ - 'description' => '权限组ID', - 'type' => 'string', - 'example' => '31', - ], - 'Name' => [ - 'description' => '权限名称', - 'type' => 'string', - 'example' => '操作记录', - ], - ], - ], - ], - ], - ], - 'Role' => [ - 'description' => '角色列表', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '角色更新时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542717260156', - ], - 'IsDefault' => [ - 'description' => '是否是默认生成的角色', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AdminUserId' => [ - 'description' => '云账号ID', - 'type' => 'string', - 'example' => 'test**@aliyun.com', - ], - 'CreateTime' => [ - 'description' => '角色创建时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542717260156', - ], - 'Name' => [ - 'description' => '角色名称', - 'type' => 'string', - 'example' => 'Super Admin(All privileges)', - ], - 'Id' => [ - 'description' => '角色ID', - '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' => '获取角色列表', - 'requestParamsDescription' => ' 无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","type":"json"}]', ], - 'ListSubAccount' => [ - 'path' => '/pop/v5/account/sub_account_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AuthorizeApplication' => [ + 'summary' => '为子账号或RAM用户授予应用的操作权限。', + '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' => [ - 'description' => '返回对象', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'message', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'SubAccountList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubAccount' => [ - 'description' => '子账号和RAM用户列表', - 'type' => 'array', - 'items' => [ - 'description' => '子账号和RAM用户列表对象', - 'type' => 'object', - 'properties' => [ - 'SubEdasId' => [ - 'description' => '子账号或RAM用户的EdasId', - 'type' => 'string', - 'example' => '28382009411268****', - ], - 'SubUserId' => [ - 'description' => '子账号或RAM用户的UserId', - 'type' => 'string', - 'example' => 'ram1@117274586608****', - ], - 'Email' => [ - 'description' => '电子邮箱', - 'type' => 'string', - 'example' => 'email@aliyun.com', - ], - 'AdminUserId' => [ - 'description' => '云账号的UserId', - 'type' => 'string', - 'example' => 'test@13624697***', - ], - 'AdminUserKp' => [ - 'description' => '云账号的Kp(旧概念,实际上就是云账号的EdasId)', - 'type' => 'string', - 'example' => '12456889****', - ], - 'AdminEdasId' => [ - 'description' => '云账号的EdasId。', - 'type' => 'string', - 'example' => '12456889****', - ], - 'SubUserKp' => [ - 'description' => '子账号或RAM用户的Kp(旧概念,实际上就是子账号或RAM用户的EdasId)', - 'type' => 'string', - 'example' => '28382009411268****', - ], - 'Phone' => [ - 'description' => '联系方式', - 'type' => 'string', - 'example' => '1373322****', - ], - ], - ], - ], - ], - ], - ], - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'TargetUserId', + 'in' => 'query', + 'schema' => ['description' => '待授权子账号或 RAM 用户的 USER ID,格式为子账号名称@主账号 UID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@133434434****'], ], - ], - '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' => '获取子账号列表', - 'summary' => '获取子账号和RAM用户列表。', - 'requestParamsDescription' => ' 无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListAuthority' => [ - 'summary' => '查询所有权限。', - 'path' => '/pop/v5/account/authority_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => ['description' => '应用ID。用半角分号(;)分割,null表示取消授权。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5fdf50e8-*****;696-******'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回对象', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'AuthorityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Authority' => [ - 'description' => '权限列表', - 'type' => 'array', - 'items' => [ - 'description' => '权限列表对象', - 'type' => 'object', - 'properties' => [ - 'GroupId' => [ - 'description' => '权限组ID', - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => '权限组名称', - 'type' => 'string', - 'example' => '应用管理', - ], - 'Description' => [ - 'description' => '权限组描述', - 'type' => 'string', - 'example' => '对应用的所有操作', - ], - 'ActionList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Action' => [ - 'description' => '权限集合', - 'type' => 'array', - 'items' => [ - 'description' => '权限集合对象', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '权限码', - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'description' => '权限描述', - 'type' => 'string', - 'example' => '创建应用', - ], - 'GroupId' => [ - 'description' => '权限组ID', - 'type' => 'string', - 'example' => '1', - ], - 'Name' => [ - 'description' => '权限名称', - 'type' => 'string', - 'example' => '创建应用', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => 'E3DA95D3-**********'], ], + 'description' => '', ], ], ], - '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' => '查询所有权限', - 'requestParamsDescription' => '无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetPackageStorageCredential' => [ - 'path' => '/pop/v5/package_storage_credential', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '为子账号授权应用', + 'responseParamsDescription' => '{'."\n" + .' "Code": 200,'."\n" + .' "Message": "success",'."\n" + .' "RequestId": "E3DA95D3-**********"'."\n" + .'}', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:32:01.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:32:01.000Z', 'description' => '错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeApplication'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '接口响应。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '请求返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Credential' => [ - 'description' => '认证信息。', - 'type' => 'object', - 'properties' => [ - 'KeyPrefix' => [ - 'description' => 'OSS的存储Key前缀。', - 'type' => 'string', - 'example' => 'release-pkg/117274586608****', - ], - 'SecurityToken' => [ - 'description' => 'STS安全令牌。', - 'type' => 'string', - 'example' => '<yourSecurityToken>', - ], - 'AccessKeySecret' => [ - 'description' => '用户的AccessKey Secret。', - 'type' => 'string', - 'example' => '<yourAccessKeySecret>', - ], - 'Expiration' => [ - 'description' => '超期时间信息,如:2019-11-10T07:20:19Z。', - 'type' => 'string', - 'example' => '2019-11-10T07:20:19Z', - ], - 'AccessKeyId' => [ - 'description' => '用户的AccessKey ID。', - 'type' => 'string', - 'example' => '<yourAccessKeyId>', - ], - 'Bucket' => [ - 'description' => 'OSS的Bucket。', - 'type' => 'string', - 'example' => 'edas-bj', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'OssPublicEndpoint' => [ - 'description' => 'OSS的公网访问地址。', - 'type' => 'string', - 'example' => 'oss-cn-beijing.aliyuncs.com', - ], - 'OssInternalEndpoint' => [ - 'description' => 'OSS的私网访问地址。', - 'type' => 'string', - 'example' => 'oss-cn-beijing-internal.aliyuncs.com', - ], - 'OssVpcEndpoint' => [ - 'description' => 'OSS的VPC访问地址。', - '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' => '全部资源', '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' => '获取临时存储包所需的STS', - 'summary' => '获取临时存储包所需的STS。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E3DA95D3-**********\\"\\n}","type":"json"}]', ], - 'InsertRole' => [ - 'summary' => '创建角色。', - 'path' => '/pop/v5/account/create_role', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AuthorizeResourceGroup' => [ + 'summary' => '为子账号或RAM用户授予指定资源组的操作权限。', + 'path' => '/pop/v5/account/authorize_res_group', + 'methods' => ['post', 'delete', 'put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1417,34 +389,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' => '角色名称', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testrole', - ], + 'schema' => ['description' => '待授权的子账号或 RAM 用户的 ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@13333********'], ], [ - 'name' => 'ActionData', + 'name' => 'ResourceGroupIds', 'in' => 'query', - 'schema' => [ - 'description' => '操作权限集合,格式:`权限组ID1:权限码1;...;权限组IDn:权限码n`,例如`1:1;1:2;2:1;2:2`。详细权限组及权限码含义请参见[ListAuthority](~~149409~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '15:1;14:2', - ], + 'schema' => ['description' => '资源组ID。可以通过调用ListResourceGroup接口获取,具体操作,请参见[ListResourceGroup](~~62055~~)。'."\n" + ."\n" + .'支持设置多个资源组,资源组之间用英文分号(;)分隔。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '461;462'], ], ], 'responses' => [ @@ -1452,50 +409,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-41EC-****-*********', - ], - 'RoleId' => [ - 'description' => '角色ID', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '33', - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57609587-DFA2-**********'], ], + 'description' => '', ], ], ], - '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' => '创建角色', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'title' => '为子账号授予资源组的操作权限', + 'responseParamsDescription' => '{'."\n" + .' "Code": 200,'."\n" + .' "Message": "success",'."\n" + .' "RequestId": "57609587-DFA2-**********"'."\n" + .'}', + 'changeSet' => [ + ['createdAt' => '2024-02-06T08:28:19.000Z', 'description' => '错误码发生变更'], + ], + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-**********\\"\\n}","type":"json"}]', ], 'AuthorizeRole' => [ - 'summary' => '授权角色。', 'path' => '/pop/v5/account/authorize_role', - 'methods' => [ - 'post', - 'delete', - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'delete', 'put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1503,35 +457,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' => '待授权子账号 ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@133******', - ], + 'schema' => ['description' => '待授权子账号 ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test@133******'], ], [ 'name' => 'RoleIds', 'in' => 'query', - 'schema' => [ - 'description' => '角色 ID,用“;”号分割,null 代表取消角色授权', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1;2', - ], + 'schema' => ['description' => '角色 ID,用“;”号分割,null 代表取消角色授权', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1;2'], ], ], 'responses' => [ @@ -1539,44 +475,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-*******', - ], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57609587-DFA2-*******'], ], + 'description' => '', ], ], ], - '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' => '授权角色', + 'summary' => '授权角色。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AuthorizeApplication' => [ - 'summary' => '为子账号或RAM用户授予应用的操作权限。', - 'path' => '/pop/v5/account/authorize_app', - 'methods' => [ - 'post', - 'delete', - 'put', + 'changeSet' => [ + ['createdAt' => '2024-02-06T09:33:34.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AuthorizeRole'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:AuthorizeRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '调用BindEcsSlb接口来给部署在ECS集群中的应用绑定SLB。', + 'path' => '/pop/v5/app/slb/bind_slb', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1584,33 +523,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' => '待授权子账号或 RAM 用户的 USER ID,格式为子账号名称@主账号 UID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@133434434****', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d'], ], [ - 'name' => 'AppIds', + 'name' => 'SlbId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。用半角分号(;)分割,null表示取消授权。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5fdf50e8-*****;696-******', - ], + 'schema' => ['description' => 'SLB实例ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-uf6j54m3a****cj01jx8'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'SLB监听端口', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '80'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'SLB虚拟服务器组ID', 'type' => 'string', 'required' => false, 'example' => 'rsp-2ze****6l*****'], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'SLB监听协议', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tcp'], + ], + [ + 'name' => 'DeployGroupId', + 'in' => 'query', + 'schema' => ['description' => '绑定的部署分组ID,可通过调用ListDeployGroup接口来获取,详情请参见[ListDeployGroup](~~62077~~)。', 'type' => 'string', 'required' => false, 'example' => '577f4c50-16ee-43d8-****-****'], + ], + [ + 'name' => 'VServerGroupName', + 'in' => 'query', + 'schema' => ['description' => '虚拟服务器组名', 'type' => 'string', 'required' => false, 'example' => '****/31405/internet-test-ack-test****/default/clusterid'], + ], + [ + 'name' => 'ListenerHealthCheckUrl', + 'in' => 'query', + 'schema' => ['description' => '健康检查路径', 'type' => 'string', 'required' => false, 'example' => '/_ehc.html'], + ], + [ + 'name' => 'VForwardingUrlRule', + 'in' => 'query', + 'schema' => ['description' => 'SLB转发规则', 'type' => 'string', 'required' => false, 'example' => 'example.com/forwarding'], ], ], 'responses' => [ @@ -1618,46 +576,49 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => 'E3DA95D3-**********', - ], + 'ChangeOrderId' => ['description' => '此次变更对应的变更记录ID', 'type' => 'string', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c'], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E3DA95D3-**********\\"\\n}","type":"json"}]', - 'title' => '为子账号授权应用', + 'errorCodes' => [], + 'title' => '来给部署在ECS集群中的应用绑定SLB', 'responseParamsDescription' => '{'."\n" + .' "ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",'."\n" .' "Code": 200,'."\n" .' "Message": "success",'."\n" - .' "RequestId": "E3DA95D3-**********"'."\n" + .' "RequestId": "03FD1520-0FD6-436A-****-265318D7****"'."\n" .'}', - ], - 'AuthorizeResourceGroup' => [ - 'summary' => '为子账号或RAM用户授予指定资源组的操作权限。', - '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"}]', + ], + 'BindK8sSlb' => [ + 'summary' => '绑定SLB到容器服务K8s集群中的应用。', + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1665,35 +626,77 @@ ], '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' => '待授权的子账号或 RAM 用户的 ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test@13333********', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], [ - 'name' => 'ResourceGroupIds', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。可以通过调用ListResourceGroup接口获取,具体操作,请参见[ListResourceGroup](~~62055~~)。'."\n" - ."\n" - .'支持设置多个资源组,资源组之间用英文分号(;)分隔。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '461;462', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-f554-****-****-a947b5cde6ee'], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => '设置SLB的类型:'."\n" + .'* internet:公网SLB。'."\n" + .'* intranet:私网SLB。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet'], + ], + [ + 'name' => 'SlbId', + 'in' => 'query', + 'schema' => ['description' => 'SLB ID。不配置时,EDAS会自动为用户新购SLB。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'lb-2ze1quax9t****iz82bjt'], + ], + [ + 'name' => 'SlbProtocol', + 'in' => 'query', + 'schema' => ['description' => 'SLB协议,目前支持TCP、HTTP和HTTPS协议。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'TCP'], + ], + [ + 'name' => 'TargetPort', + 'in' => 'query', + 'schema' => ['description' => '后端端口,也是应用的服务端口,范围1~65535。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8080'], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => ['description' => '前端端口,范围1~65535。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '80'], + ], + [ + 'name' => 'ServicePortInfos', + 'in' => 'query', + 'schema' => ['description' => '多个端口需求以及非TCP协议需求填写字段。'."\n" + .'必须符合JsonArray格式,参考示例:'."\n" + .'[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809_16c185d6fa2_1914500329_-xxxxxxx","targetPort":8181,"lo'."\n" + .'adBalancerProtocol":"HTTPS"}]'."\n" + .'- port:必填,前端端口,范围 1~65535。不能重复。'."\n" + .'- targetPort: 必填,后端端口,范围 1~65535。'."\n" + .'- loadBalancerProtocol:必填,只支持TCP和HTTPS,对于HTTP类型的填写TCP即可。'."\n" + .'- certId:如果是HTTPS,则该参数必填证书ID,可以在SLB控制台进行购买。'."\n" + .'> 该参数用来支持多端口支持,需要配合appId、clusterId、type、slbId进行使用。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-988as","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}]'], + ], + [ + 'name' => 'Specification', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例的规格:'."\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', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small'], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'SLB调度算法。不填写则默认值为rr。支持负载均衡支持轮询 (rr)、加权轮询 (wr) 两种调度算法。'."\n" + ."\n" + .'- 加权轮询 (wrr):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + .'- 轮询 (rr):按照访问顺序依次将外部请求分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], ], ], 'responses' => [ @@ -1701,43 +704,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57609587-DFA2-**********', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3'], + 'Code' => ['description' => '接口响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-****'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"57609587-DFA2-**********\\"\\n}","type":"json"}]', - 'title' => '为子账号授予资源组的操作权限', - 'responseParamsDescription' => '{'."\n" - .' "Code": 200,'."\n" - .' "Message": "success",'."\n" - .' "RequestId": "57609587-DFA2-**********"'."\n" - .'}', - ], - 'DeleteUserDefineRegion' => [ - 'path' => '/pop/v5/user_region_def', - 'methods' => [ - 'delete', + 'title' => '绑定SLB到集群中的应用', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:38:57.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:38:57.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindK8sSlb'], + ], ], + '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' => '[{"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":""}]', + ], + 'BindSlb' => [ + 'path' => '/pop/app/bind_slb_json', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1745,148 +752,132 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '定义命名空间的唯一标识序号,可调用ListUserDefineRegion接口获取,详情请参见[ListUserDefineRegion](~~149377~~)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '2564', - ], + 'schema' => ['description' => 'EDAS应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-*********'], ], [ - 'name' => 'RegionTag', + 'name' => 'SlbId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间标签。', - 'type' => 'string', - 'required' => false, - 'example' => 'regiontag', - ], + 'schema' => ['description' => 'SLB实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-wz96ph63r************'], + ], + [ + 'name' => 'SlbIp', + 'in' => 'query', + 'schema' => ['description' => 'SLB IP地址。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.16*.*.*'], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'SLB网络类型,取值如下:'."\n" + .'* internet:外网实例。'."\n" + .'* intranet:内网实例。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'intranet'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '监听端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'default' => '0'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '内网 SLB 虚拟服务器组 ID', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6******'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1234-1sda-321d-****', - ], - 'RegionDefine' => [ - 'description' => '自定义命名空间。', + 'Code' => ['description' => '接口响应码。 ', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'bind slb success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '23DR4FDXXXXXXXXXX'], + 'Data' => [ + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'BelongRegion' => [ - 'description' => '隶属的地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RegionName' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'example' => 'test_region', - ], - 'Description' => [ - 'description' => '命名空间描述信息。', - 'type' => 'string', - 'example' => 'logic region', - ], - 'UserId' => [ - 'description' => '用户主账号ID。', - 'type' => 'string', - 'example' => '11727****22398', - ], - 'Id' => [ - 'description' => '唯一标识。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8848', - ], - 'RegionId' => [ - 'description' => '命名空间标识,创建后不可更改。格式为`地域ID:命名空间标识符`。', - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], + 'VServerGroupId' => ['description' => '私网虚拟服务组ID。', 'type' => 'string', 'example' => '“”'], + 'SlbId' => ['description' => '私网SLB实例ID。', 'type' => 'string', 'example' => 'lb-wz96ph63r************'], + 'ExtSlbIp' => ['description' => '公网SLB IP地址。', 'type' => 'string', 'example' => '“”'], + 'SlbPort' => ['description' => 'SLB监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ExtSlbName' => ['description' => '公网SLB名称。', 'type' => 'string', 'example' => '“”'], + 'ExtSlbId' => ['description' => '公网SLB实例ID。', 'type' => 'string', 'example' => '“”'], + 'ExtVServerGroupId' => ['description' => '公网SLB虚拟服务器组ID。', 'type' => 'string', 'example' => '“”'], + 'SlbName' => ['description' => '私网SLB名称。', 'type' => 'string', 'example' => 'test**********'], + 'SlbIp' => ['description' => '私网SLB IP地址。', 'type' => 'string', 'example' => '192.16*.*.*'], ], ], ], + 'description' => '', ], ], ], - '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' => '删除指定的自定义命名空间', - 'summary' => '删除指定的自定义命名空间。', + 'title' => '绑定SLB到指定应用', + 'summary' => '调用BindSlb接口绑定SLB到指定应用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCluster' => [ - 'summary' => '用于删除ECS集群或取消导入K8s集群。', - 'path' => '/pop/v5/resource/cluster', - 'methods' => [ - 'delete', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindSlb'], + ], ], + '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\\": \\"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":""}]', + ], + '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' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8b96ade0-0a07-****-af9d-5ed83640d076', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-**********'], ], [ - 'name' => 'Mode', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID类型,取值如下:'."\n" - .'* 0 - EDAS集群ID。'."\n" - .'* 1 - 容器服务集群ID。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '指定要切换应用实例分组的ECS实例的ECC ID。可以调用ListApplicationEcc来查询应用的ECC ID,具体操作,请参见[ListApplicationEcc](~~199277~~)。'."\n" + ."\n" + .'> 一次仅支持切换一个ECS实例到其他应用实例分组。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0cf49a6c-95a8-4aa8******'], + ], + [ + 'name' => 'GroupName', + 'in' => 'query', + 'schema' => ['description' => '应用分组名称,例如:group_a、group_b。默认分组的GroupName为`_DEFAULT_GROUP`。长度不操作64个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'ForceStatus', + 'in' => 'query', + 'schema' => ['description' => 'ECC的部署包版本和应用分组的部署包版本不一致时是否强制更换。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -1894,253 +885,261 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '处理结果:'."\n" - .'* true - 删除成功。'."\n" - .'* false - 删除失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '856D4438-****-4EA9-****-894628C0434E', - ], + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => '435f-regfr4********************'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F9E4-FDS4-****************'], ], + 'description' => '', ], ], ], - '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' => '删除集群', + 'errorCodes' => [], + 'title' => '更换分组', + 'summary' => '调用ChangeDeployGroup更换ECS集群应用中的ECS实例的分组。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListAliyunRegion' => [ - 'summary' => '获取阿里云地域列表。', - 'path' => '/pop/v5/resource/region_list', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeDeployGroup'], + ], ], - '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 \\"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":""}]', + ], + 'ContinuePipeline' => [ + 'summary' => '调用ContinuePipeline接口手动确认执行下一批发布。', + 'path' => '/pop/v5/changeorder/pipeline_batch_confirm', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], + 'parameters' => [ + [ + 'name' => 'PipelineId', + 'in' => 'query', + 'schema' => ['description' => '流程ID。可通过GetChangeOrderInfo接口获取1次变更的相关批次的流程ID,请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5648dbd7-df13********************'], + ], + [ + 'name' => 'Confirm', + 'in' => 'query', + 'schema' => ['description' => '是否执行下一批发布。'."\n" + .'- true:执行下一批发布。'."\n" + .'- false:不执行下一批发布。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '请求返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionEntity' => [ - 'description' => '地域列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '地域名称', - 'type' => 'string', - 'example' => 'China East 1 (Hangzhou)', - ], - 'Id' => [ - 'description' => '地域ID', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], ], + 'description' => '', ], ], ], - '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' => '获取阿里云地域列表', - 'requestParamsDescription' => ' 无请求参数。', + 'title' => '执行下一批发布', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'QueryMigrateRegionList' => [ - 'path' => '/pop/v5/resource/migrate_region_select', - 'methods' => [ - 'get', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ContinuePipeline'], + ], ], + '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\\": \\"D16979DC-4D42-****************\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>\\n<RequestId>D16979DC-4D42-****************</RequestId>","errorExample":""}]', + ], + 'ConvertK8sResource' => [ + 'path' => '/pop/v5/oam/k8s_resource_convert', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:test', - ], + 'schema' => ['description' => '资源类型,仅支持设置为deployment。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'deployment', 'default' => ''], + ], + [ + 'name' => 'ResourceName', + 'in' => 'query', + 'schema' => ['description' => '资源名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'deployment-to-convert'], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => '命名空间。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default', 'default' => ''], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => '集群ID,参数详情的获取请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b07c8192-****-adf4f7447720'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionEntity' => [ - 'description' => '命名空间列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionName' => [ - 'description' => '命名空间名称', - 'type' => 'string', - 'example' => 'Beta', - ], - 'RegionNo' => [ - 'description' => '命名空间ID', - 'type' => 'string', - 'example' => 'cn-beijing:beta', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'convert success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'BA938591-*********-9690-BFD3F4DD7A93'], ], ], ], ], - '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' => '查询可供迁移的命名空间列表', - 'summary' => '查询可供迁移的命名空间列表。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListCluster' => [ - 'summary' => '获取集群列表。', - 'path' => '/pop/v5/resource/cluster_list', - 'methods' => [ - 'post', + 'title' => '将资源转化为应用', + 'summary' => '将一个Deployment资源转化为应用。', + 'changeSet' => [ + ['createdAt' => '2022-05-10T06:57:02.000Z', 'description' => '错误码发生变更'], + ], + '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' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间的ID。查询命名空间ID,请参见[ListUserDefineRegion](~~149377~~)。'."\n" - .'- 未设置该参数,则查询默认命名空间的集群列表。'."\n" - .'- 设置该参数,则查询指定命名空间的集群列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。查询资源组ID,请参见[ListResourceGroup](~~62055~~)。'."\n" - .'- 未设置该参数,则查询默认资源组的集群列表。'."\n" - .'- 设置该参数,则查询指定资源组的集群列表。', - 'type' => 'string', - 'required' => false, - 'example' => '461', - ], + 'schema' => ['description' => '弹性伸缩策略的名称。支持以小写字母开头,允许小写字母、数字、中划线(-)组成,长度为1~32字符的字符串。', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger'], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['description' => '弹性伸缩策略类型,仅支持**trigger**类型。'."\n", 'type' => 'string', 'required' => false, 'example' => 'trigger'], + ], + [ + 'name' => 'ScalingRuleEnable', + 'in' => 'query', + 'schema' => ['description' => '是否启用弹性伸缩策略。'."\n" + ."\n" + .'- **true**:启用规则。'."\n" + ."\n" + .'- **false**:禁用规则。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'ScalingRuleMetric', + 'in' => 'query', + 'schema' => ['description' => '此参数已废弃。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'ScalingRuleTimer', + 'in' => 'query', + 'schema' => ['description' => '此参数已废弃。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'ScalingRuleTrigger', + 'in' => 'query', + 'schema' => ['description' => '触发器策略。设置为ScalingRuleTriggerDTO的JSON格式,具体样式,请参见请求参数补充说明。', 'type' => 'string', 'required' => false, 'example' => 'ScalingRuleTriggerDTO{......}'], + ], + [ + 'name' => 'ScalingBehaviour', + 'in' => 'query', + 'schema' => ['description' => '配置自定义弹性行为,具体数据结构参考样例。', '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" + .'}'], ], ], 'responses' => [ @@ -2148,143 +1147,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de****', - ], - 'ClusterList' => [ + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'AppScalingRule' => [ + 'description' => '弹性伸缩策略。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Cluster' => [ - 'description' => '集群列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID', - 'type' => 'string', - 'example' => 'vpc-23727****', - ], - 'OversoldFactor' => [ - 'description' => 'Docker集群支持的CPU超卖比例。'."\n" - .'- 1:1:1比例,不超卖'."\n" - .'- 2:1:2比例'."\n" - .'- 4:1:4比例'."\n" - .'- 8:1:8比例', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => '最后变更时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1533820823203', - ], - 'MemUsed' => [ - 'description' => '已使用内存,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'IaasProvider' => [ - 'description' => '集群供应商', - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1502888064561', - ], - 'CpuUsed' => [ - 'description' => '已使用CPU核数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Mem' => [ - 'description' => '总内存,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3072', - ], - 'RegionId' => [ - 'description' => '地域ID', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'Cpu' => [ - 'description' => '总CPU核数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CsClusterId' => [ - 'description' => '容器服务Kubernetes版中创建的K8s集群的ID', - 'type' => 'string', - 'example' => 'c2ce************b9203a9', - ], - 'NetworkMode' => [ - 'description' => '网络类型。'."\n" - .'- 1:经典网络'."\n" - .'- 2:VPC', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Description' => [ - 'description' => '集群描述', - 'type' => 'string', - 'example' => '测试集群', - ], - 'ClusterType' => [ - 'description' => '集群类型。'."\n" - .'- 0:普通Docker集群'."\n" - .'- 1:Swarm集群'."\n" - .'- 2:ECS集群'."\n" - .'- 3:EDAS自建K8s集群'."\n" - .'- 4:Pandora自动注册应用集群'."\n" - .'- 5:容器服务K8s集群', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID', - 'type' => 'string', - 'example' => '461', + 'UpdateTime' => ['description' => '更新弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'CreateTime' => ['description' => '创建弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'AppId' => ['description' => '弹性伸缩策略所属应用的应用ID。', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + 'LastDisableTime' => ['description' => '弹性伸缩策略最近一次被禁用的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleEnabled' => ['description' => '弹性伸缩策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'example' => 'true'], + 'ScaleRuleType' => ['description' => '规则类型,只支持trigger。', 'type' => 'string', 'example' => 'trigger'], + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleName' => ['description' => '弹性伸缩的策略名称。', 'type' => 'string', 'example' => 'cpu'], + 'Metric' => [ + 'description' => '此参数已废弃。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Metrics' => [ + 'description' => '此参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MetricType' => ['description' => '此参数已废弃。', 'type' => 'string', 'example' => 'cpu'], + ], + 'description' => '', ], - 'ClusterName' => [ - 'description' => '集群名称', - 'type' => 'string', - 'example' => 'cluster-test', + ], + ], + ], + 'Trigger' => [ + 'description' => '触发器配置。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '最小副本数,不能低于0。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'MaxReplicas' => ['description' => '最大副本数,不能超过1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '122'], + 'Triggers' => [ + 'description' => '触发器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '触发器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '触发器类型,只支持cron和app_metric。', 'type' => 'string', 'example' => 'cron'], + 'MetaData' => ['description' => '触发器元信息。', 'type' => 'string', 'example' => '{"dryRun":true}'], + 'Name' => ['description' => '触发器名称。', 'type' => 'string', 'example' => 'cpu'], + ], ], - 'NodeNum' => [ - 'description' => '实例数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', + ], + ], + ], + 'Behaviour' => [ + 'description' => '弹性行为。', + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'description' => '弹性扩容行为配置。', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => '扩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'SelectPolicy' => ['description' => '弹性扩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', + 'type' => 'array', + 'items' => [ + 'description' => '策略配置。', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], + ], + ], + ], ], - 'ClusterId' => [ - 'description' => 'EDAS中的集群ID', - 'type' => 'string', - 'example' => 'b98b5919-c111-4dad-9f74-7233********', + ], + 'ScaleDown' => [ + 'description' => '弹性缩容行为配置。', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => '缩容冷却时间。取值范围[0, 3600],单位为秒。默认为300秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'SelectPolicy' => ['description' => '弹性缩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', + 'type' => 'array', + 'items' => [ + 'description' => '策略配置。', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], + ], + ], + ], ], ], ], @@ -2292,484 +1259,287 @@ ], ], ], + 'description' => '', ], ], ], - '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' => '获取集群列表', - 'requestParamsDescription' => ' ', + 'title' => '创建应用弹性伸缩规则', + 'summary' => '调用CreateApplicationScalingRule接口创建应用的弹性伸缩规则。', + 'requestParamsDescription' => '## 请求参数补充说明'."\n" + .'```'."\n" + .'public class ScalingRuleTriggerDTO {'."\n" + .' /**'."\n" + .' * 最大实例数,上限1000。'."\n" + .' */'."\n" + .' Integer maxReplicas;'."\n" + .' /**'."\n" + .' * 最小实例数,下限0。'."\n" + .' */'."\n" + .' Integer minReplicas;'."\n" + ."\n" + .' /**'."\n" + .' * 触发器列表,支持多个触发器。'."\n" + .' */'."\n" + .' List<Trigger> triggers;'."\n" + ."\n" + .' @Data'."\n" + .' @ToString'."\n" + .' @Builder'."\n" + .' @AllArgsConstructor'."\n" + .' @NoArgsConstructor'."\n" + .' public static class Trigger {'."\n" + .' /**'."\n" + .' * 触发器类型,支持cron(定时), app_metric(应用监控)。'."\n" + .' */'."\n" + .' String type;'."\n" + ."\n" + .' /**'."\n" + .' * 触发器名称,必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。'."\n" + .' */'."\n" + .' String name;'."\n" + ."\n" + .' /**'."\n" + .' 触发器元数据,string->string的map Json,不同类型的触发器支持的元数据不同。'."\n" + .' 1. cron'."\n" + .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" + .' * period周期:daily, weekly, monthly。'."\n" + .' * dryRun: false是观测并扩缩,true是仅观测。'."\n" + .' * timerInDay:描述每天的扩缩周期,指在什么时候开始维持多少副本数。'."\n" + .' * timerInWeek:cron表达式的周,比如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(qps)'."\n" + .' * arms_appstat.incall_rt(rt)'."\n" + .' * arms_appstat.system_CPU(cpu使用率)'."\n" + .' * arms_appstat.system_MEM(内存使用率)'."\n" + .' * dryRun同cron。'."\n" + .' * targetValAvg:true为需要进行平均,false为不需要平均, 除了qps为true,其他均为false。'."\n" + .' * targetAverageValue/targetValue: targetValAvg为true则为targetAverageValue,targetValAvg为false则为targetValue。'."\n" + .' */'."\n" + .' String metadata;'."\n" + .' }'."\n" + .'}'."\n" + .'```', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetCluster' => [ - 'path' => '/pop/v5/resource/cluster', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-01-09T08:28:01.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-11-18T06:53:33.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'CreateConfigTemplate' => [ + 'summary' => '调用CreateConfigTemplate接口创建配置模板。'."\n" + .'。', + 'path' => '/pop/v5/config_template', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。可以通过调用ListCluster获取集群ID,具体操作,请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5439271a-015b-433d-****-d76db49****', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['title' => '配置模板名称', 'description' => '配置模板名称,不限字符类型,最长不超过64个字符。', 'type' => 'string', 'required' => false, 'example' => 'my-template'], + ], + [ + 'name' => 'Format', + 'in' => 'formData', + 'schema' => ['title' => '模板数据格式', 'description' => '模板数据格式,支持以下格式:'."\n" + ."\n" + .'- JSON:JSON格式;'."\n" + .'- XML:XML格式;'."\n" + .'- YAML:YAML格式;'."\n" + .'- Properties:Properties格式;'."\n" + .'- KeyValue:键值对;'."\n" + .'- Custom:自定义格式。', 'type' => 'string', 'required' => false, 'example' => 'JSON'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['title' => '模板描述', 'description' => '模板描述,不限字符类型,最长不超过255个字符。', 'type' => 'string', 'required' => false, 'example' => 'My configuration template'], + ], + [ + 'name' => 'Content', + 'in' => 'formData', + 'schema' => ['title' => '模板内容', 'description' => '模板内容,需要与Format标注的格式相匹配。', 'type' => 'string', 'required' => false, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '详细信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'd76db491', - ], - 'Cluster' => [ - 'description' => '集群信息。', + 'RequestId' => ['title' => '请求ID', 'description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], + 'Code' => ['title' => '响应码', 'description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '响应码文本描述', 'description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => [ + 'title' => '响应数据', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-xxxxz1mlwpb****', - ], - 'OversoldFactor' => [ - 'description' => 'Docker集群CPU超卖:'."\n" - .'- 1:1:1比例,不超卖。'."\n" - .'- 2:1:2比例超卖'."\n" - .'- 4:1:4比例超卖'."\n" - .'- 8:1:8比例超卖', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'UpdateTime' => [ - 'description' => '最后变更时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1570708232145', - ], - 'MemUsed' => [ - 'description' => '已使用内存量,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'IaasProvider' => [ - 'description' => 'IaaS资源提供者。', - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'CreateTime' => [ - 'description' => '集群创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1570708232145', - ], - 'CpuUsed' => [ - 'description' => '已使用CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Mem' => [ - 'description' => '内存总量,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CsClusterId' => [ - 'description' => '容器服务集群ID。', - 'type' => 'string', - 'example' => 'c2ce62869f4d4466b920312315f05****', - ], - 'NetworkMode' => [ - 'description' => '网络类型:'."\n" - .'- 1:经典网络。'."\n" - .'- 2:VPC。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '测试', - ], - 'ClusterType' => [ - 'description' => '集群类型。'."\n" - .'- 0:普通Docker集群'."\n" - .'- 1:Swarm集群'."\n" - .'- 2:ECS集群'."\n" - .'- 3:EDAS自建K8s集群'."\n" - .'- 4:Pandora自动注册应用集群类型'."\n" - .'- 5:容器服务K8s集群', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'ClusterTest', - ], - 'NodeNum' => [ - 'description' => 'ECS数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ClusterImportStatus' => [ - 'description' => '导入集群状态。'."\n" - .'- 1:导入成功'."\n" - .'- 2:导入失败'."\n" - .'- 3:正在导入'."\n" - .'- 4:集群已删除'."\n" - .'- 0:未导入', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '5439271a-015b-433d-befb-d76d****', - ], - 'SubClusterType' => [ - 'title' => 'K8S类型集群的子类型:ManagedKubernetes为阿里云ACK集群类型,'."\n" - .'Ask为阿里云ASK集群类型,'."\n" - .'ExternalKubernetes为外部集群类型', - 'description' => 'K8s类型集群的子类型:ManagedKubernetes为阿里云ACK集群类型,'."\n" - .'Ask为阿里云ASK集群类型,'."\n" - .'ExternalKubernetes为外部集群类型。', - 'type' => 'string', - 'example' => 'ManagedKubernetes', - 'enum' => [ - 'ManagedKubernetes', - 'Ask', - ], - ], + 'Id' => ['title' => '模板ID', 'description' => '模板ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '125122'], ], ], ], ], ], ], - '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' => '获取集群信息', - 'summary' => '获取指定集群的信息。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListVpc' => [ - 'path' => '/pop/v5/vpc_list', - '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' => '创建配置模板', + 'changeSet' => [ + ['createdAt' => '2022-01-13T07:39:34.000Z', 'description' => 'OpenAPI 下线'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateConfigTemplate'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'VpcList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VpcEntity' => [ - 'description' => 'VPC列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID', - 'type' => 'string', - 'example' => 'vpc-wz9pcq3jofczwpujq****', - ], - 'VpcName' => [ - 'description' => 'VPC名称', - 'type' => 'string', - 'example' => 'edas-default-vpc4', - ], - 'Expired' => [ - 'description' => 'VPC的状态是否可用'."\n" - .'- true:可用'."\n" - .'- false:不可用', - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => '用户ID', - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'EcsNum' => [ - 'description' => '关联的ECS实例数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => '所在地域', - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - ], - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - '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' => '获取 VPC 列表', - 'summary' => '获取VPC列表,该接口适用于ECS集群和K8s集群。', - 'requestParamsDescription' => '无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'QueryRegionConfig' => [ - 'summary' => '获取不同地域的配置内容。', - 'path' => '/pop/v5/region_config', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateIDCImportCommand' => [ + 'summary' => '调用CreateIDCImportCommand接口生成非阿里云ECS集群的导入命令。', + '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' => '目标集群ID,可调用ListCluster接口获取,详情请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx'], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'RegionConfig' => [ - 'description' => '地域配置信息', - 'type' => 'object', - 'properties' => [ - 'No' => [ - 'description' => '地域序号,该参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AddressServerHost' => [ - 'description' => '地址服务器域名', - 'type' => 'string', - 'example' => '****.edas.aliyun.com', - ], - 'Tag' => [ - 'description' => '地域标识。固定值,即`ALIYUN_SHARE`。', - 'type' => 'string', - 'example' => 'ALIYUN_SHARE', - ], - 'AgentInstallScript' => [ - 'description' => 'Agent脚本安装路径', - 'type' => 'string', - 'example' => 'http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh', - ], - 'FileServerType' => [ - 'description' => '文件服务器类型', - 'type' => 'string', - 'example' => 'oss', - ], - 'Name' => [ - 'description' => '地域配置名称', - 'type' => 'string', - 'example' => '华北2', - ], - 'ImageId' => [ - 'description' => '官方镜像ID', - 'type' => 'string', - 'example' => 'm-2zea4hx8f9zxqah2****', - ], - 'Id' => [ - 'description' => '地域配置ID', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'FileServerConfig' => [ - 'description' => '文件服务信息', - 'type' => 'object', - 'properties' => [ - 'InternalUrl' => [ - 'description' => '文件服务器内部URL', - 'type' => 'string', - 'example' => 'oss-cn-beijing-****.aliyuncs.com', - ], - 'PublicUrl' => [ - 'description' => '文件服务器公网URL', - 'type' => 'string', - 'example' => 'oss-cn-beijing.aliyuncs.com', - ], - 'VpcUrl' => [ - 'description' => '文件服务器VPC URL', - 'type' => 'string', - 'example' => 'v*****-oss-cn-beijing.aliyuncs.com', - ], - 'Bucket' => [ - 'description' => '文件服务器OSS Bucket', - 'type' => 'string', - 'example' => 'edas-bj', - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '导入命令。', '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' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], ], + 'description' => '', ], ], ], - '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' => '获取不同地域的配置内容', - 'requestParamsDescription' => ' 无请求参数。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误。请重试该操作,若再出现该错误请提交工单。'], + ], + ], + 'title' => '生成非阿里云ECS集群的导入命令', + 'description' => '## 导入非阿里云ECS至非阿里云ECS集群的步骤说明'."\n" + .'您需先调用CreateIDCImportCommand接口生成非阿里云ECS集群的导入命令,然后在非阿里云的实例中执行该导入命令,即可将非阿里云的实例导入至非阿里云ECS集群中。', + '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' => '[{"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":""}]', + ], + 'CreateK8sConfigMap' => [ + 'summary' => '调用CreateK8sConfigMap接口创建K8s配置项。', + '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' => '应用ID。获取AppId,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'b07c8192-****-adf4f7447720'], ], [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '微服务空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:***wei', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default'], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-configmap'], + ], + [ + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => '配置项数据, 为JSON数组字符串。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], ], ], 'responses' => [ @@ -2777,780 +1547,173 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'EcuInfoList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => 'ECU信息列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID。', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8**********', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1599803995894', - ], - 'IpAddr' => [ - 'description' => 'ECU的内网IP。', - 'type' => 'string', - 'example' => '192.168.XXX.XXX', - ], - 'AvailableCpu' => [ - 'description' => '可用CPU数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1542692376066', - ], - 'UserId' => [ - 'description' => '关联用户的UID。', - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'Mem' => [ - 'description' => '总内存,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'RegionId' => [ - 'description' => '所在地域。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`命令获取。', - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker:'."\n" - ."\n" - .'- true:已安装。'."\n" - .'- false:未安装。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => '是否在线:'."\n" - ."\n" - .'- true:在线。'."\n" - .'- false:不在线。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => '可用内存,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ZoneId' => [ - 'description' => '所在可用区ID。', - 'type' => 'string', - 'example' => 'cn-beijing-h', - ], - 'Name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => '上一次心跳检测的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-**************'], ], + 'description' => '', ], ], ], - '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' => '获取ECU列表', - 'summary' => '获取ECU列表。', - 'requestParamsDescription' => '- 如果设置了AppId,则查询指定应用中的ECU列表。'."\n" - .'- 如果未设置AppId,则查询当前地域中的ECU列表。', - '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' => '无权限操作'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', + 'title' => '创建K8s配置项', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sConfigMap'], + ], ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '接口响应。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ResourceGroupList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ResGroupEntity' => [ - 'description' => '详见ResGroupEntity定义资源组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '资源组对象。', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'Description' => [ - 'description' => '资源组描述。', - 'type' => 'string', - 'example' => 'QqLZDA3pBZ', - ], - 'AdminUserId' => [ - 'description' => '用户UID。', - 'type' => 'string', - 'example' => '****@aliyun.com', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1557890594376', - ], - 'Name' => [ - 'description' => '资源组名称。', - 'type' => 'string', - 'example' => 'TIa2LGixyD', - ], - 'Id' => [ - 'description' => '资源组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8592', - ], - 'RegionId' => [ - 'description' => '所属地域ID。', - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - 'ecsList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcsEntity' => [ - 'description' => '实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => '实例对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC唯一标识。', - 'type' => 'string', - 'example' => 'vpc-bp13evu4aayj2t1er****', - ], - 'SgId' => [ - 'description' => '安全组ID。', - 'type' => 'string', - 'example' => 'sg-m5eajgzn6b8sg9mv****', - ], - 'Status' => [ - 'description' => '实例状态,取值如下:'."\n" - ."\n" - .'- Pending:创建中。'."\n" - .'- Running:运行中。'."\n" - .'- Starting:启动中。'."\n" - .'- Stopping:停止中。'."\n" - .'- Stopped:已停止。', - 'type' => 'string', - 'example' => 'Running', - ], - 'PrivateIp' => [ - 'description' => '私网IP。', - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'Expired' => [ - 'description' => '是否过期:'."\n" - .'- true:已过期。'."\n" - .'- false:未过期。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'UserId' => [ - 'description' => '用户账号。', - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'HostName' => [ - 'description' => '主机名。', - 'type' => 'string', - 'example' => 'iZm5e853hvvrodnvqus****', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-m5e853hvvrodnvqu****', - ], - 'Mem' => [ - 'description' => '内存总量,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'ch-hangzhou', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => '内网IP。', - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'GroupId' => [ - 'description' => 'EDAS资源组ID。', - 'type' => 'string', - 'example' => '64189****', - ], - 'Eip' => [ - 'description' => '弹性IP。', - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'Description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceName' => [ - 'description' => '实例名称。', - 'type' => 'string', - 'example' => 'betabjmixcoud_01', - ], - 'ZoneId' => [ - 'description' => '所在地域ID。', - 'type' => 'string', - 'example' => 'cn-qingdao-h', - ], - 'SerialNum' => [ - 'description' => '序列号。', - 'type' => 'string', - 'example' => '98b480b8-458b-4ff3-84b9-cf7097c5****', - ], - 'PublicIp' => [ - 'description' => '公网IP。', - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'EcuEntity' => [ - 'description' => 'ECU实体。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-2ze1ram356umxs598****', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'IpAddr' => [ - 'description' => 'ECU的内网IP。', - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'AvailableCpu' => [ - 'description' => '可用CPU。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1557890594376', - ], - 'UserId' => [ - 'description' => '关联用户ID。', - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'Mem' => [ - 'description' => '内存总量,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing ', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker:'."\n" - .'- true:安装了Docker。'."\n" - .'- false:未安装Docker。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => '是否在线:'."\n" - .'- true:在线。'."\n" - .'- false:不在线。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => '可用内存。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ZoneId' => [ - 'description' => '所在地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing-b', - ], - 'Name' => [ - 'description' => 'ECU名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => '上一次心跳检测的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - 'VpcEntity' => [ - 'description' => 'VPC实例。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '实例状态。', - 'type' => 'string', - 'example' => 'Running', - ], - 'VpcName' => [ - 'description' => 'VPC名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'VpcId' => [ - 'description' => 'VPC唯一标识。', - 'type' => 'string', - 'example' => 'vpc-bp13evu42t1er****', - ], - 'Description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '""', - ], - 'Expired' => [ - 'description' => '是否过期:'."\n" - ."\n" - .'- true:已过期。'."\n" - .'- false:未过期。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cidrblock' => [ - 'description' => '交换机的IPv4网段。', - 'type' => 'string', - 'example' => '192.168.xx.xxx', - ], - 'UserId' => [ - 'description' => '用户ID。', - 'type' => 'string', - 'example' => '****_common_****@aliyun.com', - ], - 'EcsNum' => [ - 'description' => '实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RegionId' => [ - 'description' => '所在地域。', - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - ], - ], - ], - ], - ], - ], - ], - 'SlbList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlbEntity' => [ - 'description' => 'SLB列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'SLB对象。', - 'type' => 'object', - 'properties' => [ - 'SlbId' => [ - 'description' => 'SLB唯一标识。', - 'type' => 'string', - 'example' => 'lb-2zebf1fpbpkc7dnro****', - ], - 'VpcId' => [ - 'description' => 'VPC ID。', - 'type' => 'string', - 'example' => 'vpc-m5e666n89m2bx8jar****', - ], - 'VswitchId' => [ - 'description' => '交换机ID。', - 'type' => 'string', - 'example' => 'vsw-mktkxkhah14****', - ], - 'Expired' => [ - 'description' => '是否过期:'."\n" - ."\n" - .'- true:已过期。'."\n" - .'- false:未过期。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'UserId' => [ - 'description' => '用户UID。', - 'type' => 'string', - 'example' => '****@aliyun.com', - ], - 'AddressType' => [ - 'description' => '地址类型:'."\n" - .'- Internet:公网地址。'."\n" - .'- Intranet:私网地址。', - 'type' => 'string', - 'example' => 'Intranet', - ], - 'NetworkType' => [ - 'description' => '网络类型:'."\n" - .'- 经典网络。'."\n" - .'- VPC。', - 'type' => 'string', - 'example' => 'vpc', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'GroupId' => [ - 'description' => '分组ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '64189****', - ], - 'Address' => [ - 'description' => 'IP地址。', - 'type' => 'string', - 'example' => '192.168.xxx.xx', - ], - 'SlbName' => [ - 'description' => 'SLB名称。', - 'type' => 'string', - 'example' => 'a9315af59b4cd11e9a18c00163e1****', - ], - 'SlbStatus' => [ - 'description' => 'SLB状态。', - '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' => '查询资源组信息', - 'summary' => '获取资源组列表。', - 'requestParamsDescription' => ' 无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-**************\\"\\n}","type":"json"}]', ], - 'ListTagResources' => [ - 'summary' => '查询云资源已经绑定的标签列表。', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateK8sIngressRule' => [ + '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' => '资源类型,取值:'."\n" - ."\n" - .'- **application**:EDAS应用。'."\n" - ."\n" - .'- **cluster**:EDAS集群。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'schema' => ['description' => '集群ID。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], [ - 'name' => 'ResourceIds', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '资源ID列表, 列表的长度范围为1~20,JSON数组格式。', - 'type' => 'string', - 'required' => false, - 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'Tags', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '标签键值对。'."\n" - .'- 单个资源最多贴20个标签。'."\n" - .'- key不能以**aliyun**和**acs:**开头,不能包含**http://**或者**https://**。'."\n" - .'- key和value最大不超过128字符,仅支持英文字母、数字和短划线(-)、半角逗号(,)、星号(*)、正斜线(/)、半角问号(?)和半角冒号(:)的组合。'."\n" - .'- JSON数组格式。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', - ], + 'schema' => ['description' => '路由规则名称。只能为小写字母、数字和短划线(-),必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-ingress-rule'], ], [ - 'name' => 'ResourceRegionId', + 'name' => 'IngressConf', 'in' => 'query', - 'schema' => [ - 'description' => '资源所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'JSON对象字符串表示的应用路由规则,格式如下所示:'."\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" + .'代码字段解释如下:'."\n" + ."\n" + .'- rules:路由规则列表。'."\n" + ."\n" + .'- host:路由规则域名。'."\n" + ."\n" + .'- secretName:TLS证书类型的Secret,当需要支持HTTPS协议时需要配置该证书。'."\n" + ."\n" + .'- paths:匹配路径列表。'."\n" + ."\n" + .'- path:匹配路径。'."\n" + ."\n" + .'- backend:后端服务,支持配置由EDAS控制台创建的Service。'."\n" + ."\n" + .'- serviceName:后端服务名称。'."\n" + ."\n" + .'- servicePort:后端服务端口。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}'], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => '注解。', 'type' => 'string', 'required' => false, 'example' => '{\\"alb.ingress.kubernetes.io/rewrite-target\\":\\"/consumer-echo/test\\"}'], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => '标签。', 'type' => 'string', 'required' => false, 'example' => '{\\"test-labels\\":\\"test-value\\"}'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => '资源标签列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'value1', - ], - 'ResourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'ALIYUN::EDAS::APPLICATION', - ], - 'ResourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], - 'TagKey' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'key1', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], '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' => '无权限操作'], ], ], - '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' => '查询资源绑定的标签列表', + 'staticInfo' => [], + 'title' => '创建应用路由规则', + 'summary' => '调用CreateK8sIngressRule接口创建应用路由规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'TagResources' => [ - 'summary' => '调用TagResources为指定的资源统一创建并绑定标签。', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-10-27T06:18:56.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sIngressRule'], + ], ], + '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' => '调用CreateK8sSecret接口创建K8s保密配置。', + 'path' => '/pop/v5/k8s/acs/k8s_secret', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3558,61 +1721,53 @@ ], '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' => '资源类型,取值:'."\n" - .'- **application:EDAS**应用。 '."\n" - .'- **cluster**:EDAS集群。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => '集群ID', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee'], ], [ - 'name' => 'ResourceIds', - 'in' => 'query', - 'schema' => [ - 'description' => '资源ID列表, 列表的长度范围为1~20,JSON数组格式。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-secret'], ], [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '标签键值对。设置时,请注意以下限制:'."\n" - .'- 单个资源最多贴20个标签。'."\n" - .'- key不能以**aliyun**和**acs:**开头,不能包含**http://**或者**https://**。'."\n" - .'- key和value最大不超过128字符,仅支持英文字母、数字和短划线(-)、半角逗号(,)、星号(*)、正斜线(/)、半角问号(?)和半角冒号(:)的组合。'."\n" - .'- JSON格式字符串。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]', - ], + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'ResourceRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'Type', + 'in' => 'formData', + 'schema' => ['description' => '保密配置类型,支持以下两种类型:'."\n" + ."\n" + .'- Opaque:用户自定义数据类型'."\n" + ."\n" + .'- kubernetes.io/tls:TLS证书类型', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Opaque'], + ], + [ + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => '保密配置数据,使用JSON数组表示,数组对象包括以下内容:'."\n" + .'- Key:保密配置键'."\n" + .'- Value:保密配置值', 'type' => 'string', 'required' => false, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], + ], + [ + 'name' => 'CertId', + 'in' => 'formData', + 'schema' => ['description' => '阿里云证书服务的证书ID。', 'type' => 'string', 'required' => false, 'example' => '6651483'], + ], + [ + 'name' => 'CertRegionId', + 'in' => 'formData', + 'schema' => ['description' => '证书所属的区域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'Base64Encoded', + 'in' => 'formData', + 'schema' => ['description' => '数据是否进过base64编码,true - 已编码, false - 未编码。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -3620,50 +1775,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4D9F-DR94-FD****************'], ], + 'description' => '', ], ], ], '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' => '无权限操作'], ], ], - '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' => '为资源绑定标签', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => '调用UntagResources接口为指定的资源列表统一解绑标签。', - 'path' => '/pop/v5/tag/tags', - 'methods' => [ - 'delete', + 'title' => '创建K8s保密配置', + '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' => [], @@ -3671,203 +1821,159 @@ ], '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' => '资源所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], [ - 'name' => 'ResourceType', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型,取值:'."\n" - .'- **application**:EDAS应用。 '."\n" - .'- **cluster**:EDAS集群。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'application', - ], + 'schema' => ['description' => 'K8s Service名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http'], ], [ - 'name' => 'ResourceIds', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '资源ID列表,列表范围为1~20。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["f5ad6ff7-xxxx-xxxx-xxxx-2axxxx82xxxx"]', - ], + 'schema' => ['description' => 'K8s服务类型,当前只支持ClusterIP类型。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ClusterIP'], ], [ - 'name' => 'TagKeys', + 'name' => 'ServicePorts', 'in' => 'query', - 'schema' => [ - 'description' => '要解绑的标签键列表,列表的取值范围1~20,json数组格式。', - 'type' => 'string', - 'required' => false, - 'example' => '["tagKey1","tagKey2"]', - ], + 'schema' => ['description' => 'K8s Service端口映射表,需要符合JsonArray格式,支持的参数如下:'."\n" + ."\n" + .'- **protocol**:必填,服务协议,支持TCP和UDP。'."\n" + .'- **port**:必填,前端服务端口,取值范围1~65535。'."\n" + .'- **targetPort**:必填,后端容器端口,取值范围1~65535。'."\n" + ."\n" + .'参考示例:'."\n" + .'`[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]'], ], [ - 'name' => 'DeleteAll', + 'name' => 'ExternalTrafficPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '是否删除选定资源下所有的用户标签,默认为false。'."\n" - ."\n" - .'- **true**:删除资源的标签。'."\n" - ."\n" - .'- **false**:不删除资源的标签。'."\n" - ."\n" - .'> 仅当**tagKeys**为空,**deleteAll=true**时,才可以删除所有的客户标签。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '设置外部流量管理策略:'."\n" + .'- Local:Local模式。'."\n" + .'- Cluster:Cluster模式。'."\n" + ."\n" + .'默认为Local模式。', 'type' => 'string', 'required' => false, 'example' => 'Local'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], ], ], ], ], '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' => '无权限操作'], ], ], - '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' => '删除资源标签', - 'requestParamsDescription' => ' ', + 'title' => '创建K8s服务', + 'summary' => '为K8s集群中的应用创建K8s服务Service。', + 'requestParamsDescription' => '> - 在同一个集群中不能存在相同的nodePort。'."\n" + .'> - 在同一个K8s Service中,不能存在protocol和port都相同的端口映射。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateIDCImportCommand' => [ - 'summary' => '调用CreateIDCImportCommand接口生成非阿里云ECS集群的导入命令。', - 'path' => '/pop/v5/create_idc_import_command', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-06-16T02:42:31.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateK8sService'], + ], ], + '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' => [ + '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' => '目标集群ID,可调用ListCluster接口获取,详情请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-*********'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '导入命令。', - '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' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => '0b8e3c0b-5818-430*************'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '34DFE9FDV****************'], ], ], ], ], - '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' => '生成非阿里云ECS集群的导入命令', - 'description' => '## 导入非阿里云ECS至非阿里云ECS集群的步骤说明'."\n" - .'您需先调用CreateIDCImportCommand接口生成非阿里云ECS集群的导入命令,然后在非阿里云的实例中执行该导入命令,即可将非阿里云的实例导入至非阿里云ECS集群中。', + 'title' => '删除应用实例', + 'summary' => '调用DeleteApplication接口删除应用实例。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteClusterMember' => [ - 'summary' => '调用DeleteClusterMember接口删除集群实例。', - 'path' => '/pop/v5/resource/cluster_member', - 'methods' => [ - 'delete', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplication'], + ], ], + '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' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"0b8e3c0b-5818-430*************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34DFE9FDV****************\\"\\n}","type":"json"}]', + ], + 'DeleteApplicationScalingRule' => [ + 'path' => '/pop/v1/eam/scale/application_scaling_rule', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3875,33 +1981,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' => '集群ID', - 'type' => 'string', - 'required' => true, - 'example' => '52984524-****-****-85f2-a34b0e5bb521', - 'docRequired' => true, - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], ], [ - 'name' => 'ClusterMemberId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => '集群机器ID', - 'type' => 'string', - 'required' => true, - 'example' => 'i-2zej4i2jdf3****jigng', - 'docRequired' => true, - ], + 'schema' => ['description' => '弹性伸缩策略的名称。', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger'], ], ], 'responses' => [ @@ -3909,71 +1999,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码 ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息 ', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求唯一ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => '5d6fa0bc-cc3**********'], + 'Code' => ['type' => 'integer', 'format' => 'int32', 'description' => ''], + 'Message' => ['type' => 'string', 'description' => ''], ], + 'description' => '', ], ], ], - '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' => '删除集群实例', + 'title' => '删除应用弹性伸缩规则', + 'summary' => '调用DeleteApplicationScalingRule接口删除应用的弹性伸缩规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteEcu' => [ - 'summary' => '删除指定的 ECU。', - 'path' => '/pop/v5/resource/delete_ecu', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-06-23T02:47:59.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-11-18T06:53:33.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5d6fa0bc-cc3**********</RequestId>","errorExample":""}]', + ], + 'DeleteCluster' => [ + 'summary' => '用于删除ECS集群或取消导入K8s集群。', + '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' => 'ECU唯一标识。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5c0b8c82-4ba9-****-****-130a34ffa534', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8b96ade0-0a07-****-af9d-5ed83640d076'], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => ['description' => '集群ID类型,取值如下:'."\n" + .'* 0 - EDAS集群ID。'."\n" + .'* 1 - 容器服务集群ID。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], ], 'responses' => [ @@ -3981,619 +2065,260 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '成功返回`OK`。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'fb08fd29-b197-40ab-****-****', - ], + 'Code' => ['description' => '接口响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加消息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '处理结果:'."\n" + .'* true - 删除成功。'."\n" + .'* false - 删除失败。', 'type' => 'boolean', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '856D4438-****-4EA9-****-894628C0434E'], ], + 'description' => '', ], ], ], - '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' => '删除指定的 ECU', + 'title' => '删除集群', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListClusterMembers' => [ - 'path' => '/pop/v5/resource/cluster_member_list', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ], ], + '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' => '[{"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":""}]', + ], + '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' => '集群ID。可以调用ListCluster来获取,具体操作,请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时,当前显示的页面数,不设置的情况下默认显示第1页。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时,若不设置,则显示该集群的所有ECS列表;若设置,则按照设置的pagesize来分页显示ECS列表。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => '集群ID', 'type' => 'string', 'required' => true, 'example' => '52984524-****-****-85f2-a34b0e5bb521', 'docRequired' => true], ], [ - 'name' => 'EcsList', + 'name' => 'ClusterMemberId', 'in' => 'query', - 'schema' => [ - 'description' => 'ECS列表实例数。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '集群机器ID', 'type' => 'string', 'required' => true, 'example' => 'i-2zej4i2jdf3****jigng', 'docRequired' => true], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ClusterMemberPage' => [ - 'description' => '集群中包含的ECS实例页面。', - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => '分页查询时,当前显示的页面数,不设置的情况下默认显示第1页。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '所有实例分页显示的页面数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => '所有的ECS实例按照PageSize的大小进行分页显示时,总的显示页数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ClusterMemberList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ClusterMember' => [ - 'description' => '集群中包含的实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => '集群实例对象。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '实例状态:'."\n" - ."\n" - .'- 1:表示运行中。'."\n" - .'- 0:表示转化中。'."\n" - .'- -1:表示转化失败。'."\n" - .'- -2:表示离线。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041113', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => '70ed3f59-b476-49aa-be09-9e6c375d****', - ], - 'EcsId' => [ - 'description' => 'ECS ID。', - 'type' => 'string', - 'example' => 'i-2zej4i2jdf3ntwhj****', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281038175', - ], - 'ClusterMemberId' => [ - 'description' => '实例集群ID。', - 'type' => 'string', - 'example' => 'adb03eeb-3adf-4d7e-afe1-03d1ad45****', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****', - ], - 'PrivateIp' => [ - 'title' => 'ECS私网IP', - 'description' => 'ECS私网IP', - 'type' => 'string', - 'example' => '172.16.XXX.XXX', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'Code码 ', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息 ', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '是否成功', 'type' => 'boolean', 'example' => 'true'], + 'RequestId' => ['description' => '请求唯一ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], ], + 'description' => '', ], ], ], - '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' => '获取ECS实例列表', - 'summary' => '获取ECS实例列表。', + 'title' => '删除集群实例', + 'summary' => '调用DeleteClusterMember接口删除集群实例。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListEcuByRegion' => [ - 'path' => '/pop/v5/resource/ecu_list', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteClusterMember'], + ], ], + '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' => '[{"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":""}]', + ], + 'DeleteConfigTemplate' => [ + 'summary' => '调用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' => '命名空间ID:'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing 或 cn-beijing:tdy218', - ], - ], - [ - 'name' => 'Act', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => '固定值为`pop-query`。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'pop-query', - ], + 'schema' => ['title' => '配置模板ID', 'description' => '配置模板ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '555'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '00000000-0000-0000-****', - ], - 'EcuEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => 'ECU列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'ECU列表对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'ECU所在的VPC ID。', - 'type' => 'string', - 'example' => 'vpc-2zew8mi6gqbo5wf****', - ], - 'UpdateTime' => [ - 'description' => '最后变更时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572867895575', - ], - 'IpAddr' => [ - 'description' => 'ECU的私网IP。', - 'type' => 'string', - 'example' => '192.168.xxx.xxx', - ], - 'AvailableCpu' => [ - 'description' => 'ECU的可用CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572539283168', - ], - 'UserId' => [ - 'description' => '主账号ID。', - 'type' => 'string', - 'example' => 'edas@aliyun-****.com', - ], - 'InstanceId' => [ - 'description' => 'ECU ID。', - 'type' => 'string', - 'example' => 'i-2ze82h8f4zcn449y****', - ], - 'Mem' => [ - 'description' => '总内存,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => 'ECU所在地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标示ID,可以在ECS上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => 'c96c494c-1b91-4456-bbb3-b5afcd16****', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker:'."\n" - .'- true:已安装Docker。'."\n" - .'- false:未安装Docker。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Online' => [ - 'description' => '是否在线:'."\n" - .'- true:在线。'."\n" - .'- false:不在线。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AvailableMem' => [ - 'description' => 'ECU的可用内存数,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8192', - ], - 'ZoneId' => [ - 'description' => 'ECU所在可用区ID。', - 'type' => 'string', - 'example' => 'cn-beijing-a', - ], - 'Name' => [ - 'description' => 'ECU名称。', - 'type' => 'string', - 'example' => 'worker-k8s-for', - ], - 'HeartbeatTime' => [ - 'description' => '上一次心跳检测的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572867865221', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '请求ID', 'description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-************'], + 'Code' => ['title' => '响应码', 'description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '响应码文本描述', 'description' => '附加信息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - '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' => '获取指定命名空间下可用的ECU列表', - 'summary' => '获取指定命名空间下可用的ECU列表。', - 'description' => '## 基本概念'."\n" - ."\n" - .'- **命名空间**:指的是EDAS中设计的用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" - .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" - .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', - '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' => ''], + ], + ], + 'title' => '删除配置模板', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-01-13T07:39:34.000Z', 'description' => 'OpenAPI 下线'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteConfigTemplate'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteDeployGroup' => [ + 'summary' => '调用DeleteDeployGroup来删除分组。', + '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' => '集群ID。获取集群ID,请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a****', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-b31*************'], + ], + [ + 'name' => 'GroupName', + 'in' => 'query', + 'schema' => ['description' => '分组名称', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'InstanceList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instance' => [ - 'description' => '可导入该集群的ECS实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'ECS实例对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8m************', - ], - 'Status' => [ - 'description' => '实例状态:'."\n" - .'- Pending:创建中。'."\n" - .'- Running:运行中。'."\n" - .'- Starting:启动中。'."\n" - .'- Stopping:停止中。'."\n" - .'- Stopped:已停止。', - 'type' => 'string', - 'example' => ' Running', - ], - 'PrivateIp' => [ - 'description' => 'ECS实例私网IP,当ECS网络类型为VPC专有网络类型时。 ', - 'type' => 'string', - 'example' => '192.XX.XX.123', - ], - 'Expired' => [ - 'description' => '是否过期。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceId' => [ - 'description' => 'ECS实例ID。', - 'type' => 'string', - 'example' => 'i-2ze7s2v0b***********', - ], - 'Mem' => [ - 'description' => 'ECS实例MEM。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'RegionId' => [ - 'description' => '所在地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VpcName' => [ - 'description' => 'VPC网络名称。', - 'type' => 'string', - 'example' => 'jianwei-test', - ], - 'EcuId' => [ - 'description' => 'ECU ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'Cpu' => [ - 'description' => 'ECS实例CPU。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => 'ECS实例内网IP,当ECS网络类型为专有网络类型时。', - 'type' => 'string', - 'example' => '192.168.13.xx', - ], - 'Eip' => [ - 'description' => 'ECS弹性公网IP,可更换绑定目标。', - 'type' => 'string', - 'example' => '13.xx.xxx.xx', - ], - 'InstanceName' => [ - 'description' => 'ECS实例名称。', - 'type' => 'string', - 'example' => 'worker-k8s', - ], - 'PublicIp' => [ - 'description' => 'ECS实例公网IP,固定给该ECS实例使用。 ', - 'type' => 'string', - 'example' => '13.xx.xx.xxx', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'Code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '数据', 'type' => 'string', 'example' => '1'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4D9F-DR94-FD****************'], ], + 'description' => '', ], ], ], - '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' => '列出可导入到指定集群的ECS实例列表', - 'summary' => '调用ListConvertableEcu接口列出可导入到指定集群的ECS实例列表。本API适用于ECS集群。', + 'title' => '删除分组', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListEcsNotInCluster' => [ - 'path' => '/pop/v5/resource/ecs_not_in_cluster', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], + ], + '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' => '[{"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":""}]', + ], + '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' => '网络类型。'."\n" - .'- 1:经典网络'."\n" - .'- 2:VPC网络', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], - ], - [ - 'name' => 'VpcId', + 'name' => 'EcuId', 'in' => 'query', - 'schema' => [ - 'description' => 'VPC ID,当NetworkMode为2时,该参数为必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-2zef6ob8****v8x3q46kp', - ], + 'schema' => ['description' => 'ECU唯一标识。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5c0b8c82-4ba9-****-****-130a34ffa534'], ], ], 'responses' => [ @@ -4601,730 +2326,329 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'EcsEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcsEntity' => [ - 'description' => 'ECS列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC实例的ID。', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', - ], - 'Status' => [ - 'description' => '实例状态。'."\n" - .'- **Pending**:创建中'."\n" - .'- **Running**:运行中'."\n" - .'- **Starting**:启动中'."\n" - .'- **Stopping**:停止中'."\n" - .'- **Stopped**:已停止', - 'type' => 'string', - 'example' => ' Running', - ], - 'PrivateIp' => [ - 'description' => 'ECS实例的私网IP。', - 'type' => 'string', - 'example' => '192.168.*.**', - ], - 'Expired' => [ - 'description' => 'ECS是否过期。'."\n" - ."\n" - .'- **true**:已过期'."\n" - ."\n" - .'- **false**:未过期', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceId' => [ - 'description' => 'ECS实例的ID。', - 'type' => 'string', - 'example' => 'i-2ze7s2v0b***********', - ], - 'Mem' => [ - 'description' => '内存大小(B)。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'RegionId' => [ - 'description' => 'ECS实例所在地域的ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VpcName' => [ - 'description' => 'VPC实例名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Cpu' => [ - 'description' => 'CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InnerIp' => [ - 'description' => 'ECS实例内网IP。', - 'type' => 'string', - 'example' => '192.168.20.113', - ], - 'Eip' => [ - 'description' => 'ECS实例的弹性公网IP', - 'type' => 'string', - 'example' => '139.30.xxx.xx', - ], - 'InstanceName' => [ - 'description' => 'ECS实例名称。', - 'type' => 'string', - 'example' => 'worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****', - ], - 'PublicIp' => [ - 'description' => 'ECS实例的公网IP。', - 'type' => 'string', - 'example' => '131.30.xxx.xx', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '成功返回`OK`。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'fb08fd29-b197-40ab-****-****'], ], + 'description' => '', ], ], ], - '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' => '获取所有未导入集群的 ECS', - 'summary' => '调用ListEcsNotInCluster接口获取所有未导入集群的ECS实例。', + 'title' => '删除指定的 ECU', + 'summary' => '删除指定的 ECU。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryMigrateEcuList' => [ - 'path' => '/pop/v5/resource/migrate_ecu_list', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-07T04:26:37.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEcu'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteEcu', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'DeleteK8sApplication' => [ + 'summary' => '调用DeleteK8sApplication接口删除容器服务K8s应用。', + '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' => '命名空间ID。'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:`cn-beijing:test`。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:`cn-beijing`。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou或cn-hangzhou:test', - ], + 'schema' => ['description' => '应用ID(查询ListApplication接口获取)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dbac7e3c-****-49bc-b6de-ffc550018b45'], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => ['description' => '是否强制删除应用,跳过应用删除保护。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'EcuEntityList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuEntity' => [ - 'description' => '可供迁移的实例列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8m************', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041109', - ], - 'IpAddr' => [ - 'description' => 'ECU的私网IP', - 'type' => 'string', - 'example' => '192.168.0.150', - ], - 'AvailableCpu' => [ - 'description' => '可用CPU,单位为核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041101', - ], - 'UserId' => [ - 'description' => '主账号ID', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'InstanceId' => [ - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-2zej4i2jd***********', - ], - 'Mem' => [ - 'description' => '总内存', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RegionId' => [ - 'description' => '所在地域ID', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标识ID,可以通过在ECS上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => '70ed3f59-b476-49aa-****-************', - ], - 'Cpu' => [ - 'description' => 'CPU限制配额,单位为核数。0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker:'."\n" - .'- true:已安装Docker'."\n" - .'- false:未安装Docker', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Online' => [ - 'description' => '是否在线。'."\n" - .'- true:在线'."\n" - .'- false:不在线', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => '可用内存,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'ZoneId' => [ - 'description' => '可用区ID', - 'type' => 'string', - 'example' => 'cn-bei****-*', - ], - 'Name' => [ - 'description' => '实例名称', - 'type' => 'string', - 'example' => 'product_test003', - ], - 'HeartbeatTime' => [ - 'description' => '心跳时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281041101', - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => '如果被删除应用有机器没有下线,或者SLB未解绑,此时会生成变更流程ID,并进行删除。调用GetChangeOrderInfo接口获取这次删除具体执行进展。根据Code判断是否删除成功。', 'type' => 'string', 'example' => '0a34531a-****-49dc-8e7f-0cbbbfa12cf0'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******'], ], ], ], ], - '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' => '查询可迁移的实例列表', - 'summary' => '调用QueryMigrateEcuList来查询可迁移的实例列表。', + 'title' => '删除容器服务K8s应用', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListScaleOutEcu' => [ - 'path' => '/pop/v5/resource/scale_out_ecu_list', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-08-17T07:15:41.000Z', 'description' => '请求参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sApplication'], + ], + ], + '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' => '调用DeleteK8sConfigMap接口删除K8s配置项。', + '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' => '命名空间ID。'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:test。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '51e37e91-6403-423a-9913-f236aa7a6a50'], ], [ - 'name' => 'ClusterId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '以集群为查询条件,查询该集群内可用的ECU列表。'."\n" - ."\n" - .'> ClusterId与AppId需要至少填入一个作为查询参数。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '52984524-6d48-4bbd-******************', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'AppId', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-configmap'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '以应用为查询条件,查询该应用所在集群内可用的ECU列表。'."\n" - ."\n" - .'> ClusterId与AppId需要至少填入一个作为查询参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'b93024fd-8a9d-4ef7-99f1-5f0d65cc****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-************'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'title' => '删除K8s配置项', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sConfigMap'], + ], + ], + 'ramActions' => [ [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '查询该应用分组所在集群内可用的ECU列表。', - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-486f-****-****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => [ [ - 'name' => 'Cpu', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '查询满足CPU核数要求的ECU。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], [ - 'name' => 'Mem', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '查询满足剩余可用内存要求的ECU,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'InstanceNum', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '查询并列出指定数量的ECU,如果不设置则代表列出所有满足筛查结果的ECU列表。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '路由规则名称。只能为小写字母、数字和短划线(-)必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-ingress-rule'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AF860D6C-ACE3-4429-9D54-3BD15A******', - ], - 'EcuInfoList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EcuInfo' => [ - 'description' => 'ECU列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'ECU对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'ECU所在的VPC ID。', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8**********', - ], - 'UpdateTime' => [ - 'description' => '最后变更时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040827', - ], - 'IpAddr' => [ - 'description' => 'ECU的私网IP。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'AvailableCpu' => [ - 'description' => 'ECU的可用CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - 'UserId' => [ - 'description' => '主账号ID。', - 'type' => 'string', - 'example' => '1172****6608****', - ], - 'InstanceId' => [ - 'description' => 'ECU实例ID。', - 'type' => 'string', - 'example' => 'i-2zej4i2jdf*********', - ], - 'RegionId' => [ - 'description' => 'ECU所在地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标识ID,可以通过在ECS上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => '0de2ebdb-9490-4fc4-be41***************', - ], - 'Online' => [ - 'description' => '是否在线,且实例当前是否受EDAS管控:'."\n" - .'- true:在线。'."\n" - .'- false:不在线。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker:'."\n" - .'- true:已安装Docker。'."\n" - .'- false:未安装Docker。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AvailableMem' => [ - 'description' => 'ECU的可用内存数,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '111', - ], - 'ZoneId' => [ - 'description' => 'ECU所在可用区。', - 'type' => 'string', - 'example' => 'cn-beijing-h', - ], - 'Name' => [ - 'description' => 'ECU名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'HeartbeatTime' => [ - 'description' => '上一次心跳检测的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573281040819', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], ], + 'description' => '', ], ], ], - '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' => '获取用于应用扩容的ECU列表', - 'summary' => '从指定集群或应用关联集群获取可用于应用扩容的ECU列表。该接口仅适用于ECS集群。', - 'description' => '## 基本概念'."\n" - ."\n" - .'- **命名空间**:指的是EDAS中用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" - .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" - .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'staticInfo' => [], + 'title' => '删除应用路由规则', + 'summary' => '调用DeleteK8sIngressRule接口删除应用路由规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListSlb' => [ - 'path' => '/pop/v5/slb_list', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sIngressRule'], + ], ], + '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' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + ], + 'DeleteK8sSecret' => [ + 'summary' => '调用DeleteK8sSecret接口删除K8s保密配置。', + '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' => 'VPC网络ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1f90rfybszjogyw****', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2b3a1013-31c7-433b-8fe7-3895d838b824'], ], [ - 'name' => 'AddressType', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '地址类型:'."\n" - .'- Internet:公网地址。'."\n" - .'- Intranet:私网地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - ], + 'schema' => ['description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-secret'], ], [ - 'name' => 'SlbType', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB类型:'."\n" - .'- clb:传统型负载均衡。'."\n" - .'- alb:应用型负载均衡。', - 'type' => 'string', - 'required' => false, - 'example' => 'clb', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'default'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'SlbList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlbEntity' => [ - 'description' => 'SLB列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'SLB对象。', - 'type' => 'object', - 'properties' => [ - 'SlbId' => [ - 'description' => 'SLB实例ID。', - 'type' => 'string', - 'example' => 'lb-2ze055t3xv7s8****', - ], - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-bp1f90rfybszjogyw****', - ], - 'VswitchId' => [ - 'description' => 'VPC交换机ID。', - 'type' => 'string', - 'example' => 'vsw-bp156w1gpbv0o50hs****', - ], - 'Expired' => [ - 'description' => 'SLB是否过期:'."\n" - .'- true:已过期。'."\n" - .'- false:未过期。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => '用户ID。', - 'type' => 'string', - 'example' => 'edas_****_**st@aliyun-****.com', - ], - 'AddressType' => [ - 'description' => '地址类型:'."\n" - .'- internet:公网地址。'."\n" - .'- intranet:私网地址。', - 'type' => 'string', - 'example' => 'internet', - ], - 'NetworkType' => [ - 'description' => '网络类型。', - 'type' => 'string', - 'example' => 'classic', - ], - 'RegionId' => [ - 'description' => '地区ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'GroupId' => [ - 'description' => 'EDAS资源组ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Address' => [ - 'description' => 'IP地址。', - 'type' => 'string', - 'example' => '39.176.XX.XX', - ], - 'SlbName' => [ - 'description' => 'SLB名称。', - 'type' => 'string', - 'example' => 'adce', - ], - 'SlbStatus' => [ - 'description' => 'SLB状态。', - 'type' => 'string', - 'example' => 'active', - ], - 'Tags' => [ - 'description' => '标签。', - 'type' => 'string', - 'example' => '[{"tagKey":"tag","tagValue":"value"}]', - ], - 'Reusable' => [ - 'description' => '是否允许K8s应用复用:'."\n" - .'- true: 允许复用。'."\n" - .'- false: 不允许复用。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-*************'], ], + 'description' => '', ], ], ], - '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' => '获取SLB列表', - 'summary' => '获取SLB列表。', - 'requestParamsDescription' => '无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'BindSlb' => [ - 'summary' => '调用BindSlb接口绑定SLB到指定应用。', - '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' => '无权限操作'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => '删除K8s保密配置', + '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' => '删除K8s集群中应用的K8s服务Service。', + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5332,81 +2656,91 @@ ], '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' => 'EDAS应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-*********', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd***a286-781659d9f54c'], ], [ - 'name' => 'SlbId', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => '服务名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'SLB实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-wz96ph63r************', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'b4b37bde-a125-43fc-****-741f7f4a9ae3'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9041389c-*****-459c-8253-724bca7f51f0'], + ], ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'title' => '删除K8s服务', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteK8sService'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SlbIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB IP地址。', - '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' => '适用于在阿里云和非阿里云ECS集群中部署的应用。', + 'path' => '/pop/v5/log/popListLogDirs', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB网络类型,取值如下:'."\n" - .'* internet:外网实例。'."\n" - .'* intranet:内网实例。', - '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' => '监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - 'default' => '0', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'Path', 'in' => 'query', - 'schema' => [ - 'description' => '内网 SLB 虚拟服务器组 ID', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6******', - ], + 'schema' => ['description' => '待取消收藏的应用日志的绝对路径。应用日志路径必须以`/`开头和结尾,并且路径中必须包含`/log`或者`/logs`。EDAS默认目录如下:'."\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' => [ @@ -5414,94 +2748,44 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口响应码。 ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'bind slb success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '23DR4FDXXXXXXXXXX', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => '私网虚拟服务组ID。', - 'type' => 'string', - 'example' => '“”', - ], - 'SlbId' => [ - 'description' => '私网SLB实例ID。', - 'type' => 'string', - 'example' => 'lb-wz96ph63r************', - ], - 'ExtSlbIp' => [ - 'description' => '公网SLB IP地址。', - 'type' => 'string', - 'example' => '“”', - ], - 'SlbPort' => [ - 'description' => 'SLB监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ExtSlbName' => [ - 'description' => '公网SLB名称。', - 'type' => 'string', - 'example' => '“”', - ], - 'ExtSlbId' => [ - 'description' => '公网SLB实例ID。', - 'type' => 'string', - 'example' => '“”', - ], - 'ExtVServerGroupId' => [ - 'description' => '公网SLB虚拟服务器组ID。', - 'type' => 'string', - 'example' => '“”', - ], - 'SlbName' => [ - 'description' => '私网SLB名称。', - 'type' => 'string', - 'example' => 'test**********', - ], - 'SlbIp' => [ - 'description' => '私网SLB IP地址。', - 'type' => 'string', - 'example' => '192.16*.*.*', - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '3616cdca-4f92-4413**********'], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '绑定SLB到指定应用', + 'errorCodes' => [], + 'title' => '删除日志目录', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertCluster' => [ - 'summary' => '调用InsertCluster接口创建集群。', - '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' => '[{"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":""}]', + ], + 'DeleteRole' => [ + 'path' => '/pop/v5/account/delete_role', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5509,106 +2793,73 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'RoleId', 'in' => 'query', - 'schema' => [ - 'description' => '自定义命名空间的RegionId。'."\n" - .'格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:td****', - ], + 'schema' => ['description' => '角色ID。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '99999999'], ], - [ - 'name' => 'ClusterName', - 'in' => 'query', - 'schema' => [ - 'description' => '集群名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '****_product_test2', - ], - ], - [ - 'name' => 'ClusterType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '集群类型。'."\n" - ."\n" - .'- 2:ECS集群'."\n" - .'- 3:EDAS自带K8s集群'."\n" - .'- 5:Kubernetes集群', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '042F329B-F518-4CC1-****-**********'], + ], ], ], - [ - 'name' => 'NetworkMode', - 'in' => 'query', - 'schema' => [ - 'description' => '网络类型。'."\n" - ."\n" - .'- 1:经典网络'."\n" - .'- 2:VPC', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], + ], + 'title' => '删除角色', + 'summary' => '删除角色。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T06:25:51.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRole'], ], + ], + 'ramActions' => [ [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VPC网络ID。若选择VPC网络,此参数为必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '调用DeleteServiceGroup删除服务分组。', + 'path' => '/pop/v5/service/serviceGroups', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OversoldFactor', - 'in' => 'query', - 'schema' => [ - 'description' => '(**参数已不适用**)'."\n" - .'Docker集群CPU超卖:'."\n" - .'- 2:1:2比例'."\n" - .'- 4:1:4比例'."\n" - .'- 8:1:8比例', - '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' => 'IaaS资源供应商。'."\n" - ."\n" - .'<note>选择阿里云时,需要使用全大写的拼音,例如`ALIYUN`。</note>'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN', - 'default' => 'ALIYUN', - 'enum' => [ - 'ALIYUN', - 'IDC', - ], - ], + 'schema' => ['description' => '服务分组 ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '789d9cda-74b1-****-****-05e21a0a7661'], ], ], 'responses' => [ @@ -5616,106 +2867,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Cluster' => [ - 'description' => '创建的集群实体。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-2zef6ob8mrlzv8x3q****', - ], - 'OversoldFactor' => [ - 'description' => '(**参数已不适用**)'."\n" - .'Docker集群CPU超卖。'."\n" - ."\n" - .'- 2:1:2比例'."\n" - ."\n" - .'- 4:1:4比例'."\n" - ."\n" - .'- 8:1:8比例', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NetworkMode' => [ - 'description' => '网络类型。'."\n" - ."\n" - .'- 1:经典网络'."\n" - ."\n" - .'- 2:专有网络VPC', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'IaasProvider' => [ - 'description' => '供应商。', - 'type' => 'string', - 'example' => 'ALIYUN', - ], - 'ClusterType' => [ - 'description' => '集群类型。'."\n" - ."\n" - .'- 2:ECS集群。'."\n" - .'- 3:EDAS自带K8s集群。'."\n" - .'- 5:Kubernetes集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => '****_product_test2', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '8705ad13-5d86-47fc-b68f-257b59ed****', - ], - 'RegionId' => [ - 'description' => '集群所属地域。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], + 'Code' => ['description' => 'Code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F38****'], ], + 'description' => '', ], ], ], - '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' => '创建集群', + 'title' => '删除服务分组', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertClusterMember' => [ - 'summary' => '向ECS集群中导入ECS实例。', - 'path' => '/pop/v5/resource/cluster_member', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2024-02-07T06:25:51.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServiceGroup'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:DeleteServiceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'DeleteSwimmingLane' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5723,98 +2913,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' => '需导入ECS实例的目标集群ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', - ], - ], - [ - 'name' => 'instanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => '要导入集群的ECS实例ID,多个ECS实例请用英文逗号(,)分隔。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2ze7s2v0b789k60p****', - ], - ], - [ - 'name' => 'password', + 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => '要导入集群的ECS实例的登录密码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'YourPassword', - ], + 'schema' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '241'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '请求接口返回的数据。', - 'type' => 'string', - 'example' => 'Transform submit success!', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '01B49A88-B06F-423B-A5EF-E5C0A89******', - ], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '是否成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4264F69C-686C-4107-B493-0599C8d1****'], ], ], ], ], - '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' => '向ECS集群中导入ECS实例', - 'description' => '## 限制说明'."\n" - ."\n" - .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。'."\n" - ."\n" - .'> 本接口已不推荐使用,建议使用InstallAgent接口代替,详情请参见[InstallAgent](~~127023~~)。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InstallAgent' => [ - 'summary' => '使用ECS自带的云助手安装EDAS Agent(将ECS导入EDAS)。', - 'path' => '/pop/v5/ecss/install_agent', - 'methods' => [ - 'post', + 'title' => '删除泳道', + 'summary' => '删除全链路流量控制流控泳道。', + 'changeSet' => [ + ['createdAt' => '2023-07-18T12:29:20.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSwimmingLane'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1,\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8d1****\\"\\n}","type":"json"}]', + ], + 'DeleteUserDefineRegion' => [ + 'path' => '/pop/v5/user_region_def', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5822,171 +2970,78 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => '集群 ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8', - ], + 'schema' => ['description' => '定义命名空间的唯一标识序号,可调用ListUserDefineRegion接口获取,详情请参见[ListUserDefineRegion](~~149377~~)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '2564'], ], [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => '实例 ID,如instanceId1,instanceId2', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2ze7s2v0b789k60pk1af', - ], - ], - [ - 'name' => 'DoAsync', + 'name' => 'RegionTag', 'in' => 'query', - 'schema' => [ - 'description' => '已不再使用', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => '命名空间标签。', 'type' => 'string', 'required' => false, 'example' => 'regiontag'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code 码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-7ca7', - ], - 'ExecutionResultList' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1234-1sda-321d-****'], + 'RegionDefine' => [ + 'description' => '自定义命名空间。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'ExecutionResult' => [ - 'description' => '执行结果', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '命令执行状态信息', - 'type' => 'string', - 'example' => 'OK', - ], - 'FinishedTime' => [ - 'description' => '安装结束时间', - 'type' => 'string', - 'example' => '20**-11-10T07:02:17Z', - ], - 'InstanceId' => [ - 'description' => '实例 ID', - 'type' => 'string', - 'example' => 'i-2ze7s2v0b789k*******', - ], - 'InvokeRecordStatus' => [ - 'description' => '命令执行状态。取值范围:'."\n" - ."\n" - .'- Running:运行中。'."\n" - ."\n" - .' - 定时执行:未手动停止定时执行命令前,执行状态一直为进行中。'."\n" - .' - 单次执行:一旦有进行中的命令进程,总的执行状态就为进行中。'."\n" - ."\n" - .'- Finished:已完成。'."\n" - ."\n" - .' - 定时执行:命令进程不可能为执行完成。'."\n" - .' - 单次执行:所有实例全部完成执行。或者手动停止部分实例的命令进程,其余实例全部执行完成。'."\n" - ."\n" - .'- Success:'."\n" - ."\n" - .' - 单次执行的命令:命令执行完成,且退出码为 0。'."\n" - .' - 定时执行的命令:上一次执行成功且退出码为 0,且指定的执行时间已结束。'."\n" - ."\n" - .'- Failed:执行失败。'."\n" - ."\n" - .' - 定时执行:命令进程不可能为执行失败。'."\n" - .' - 单次执行:所有实例全部执行失败。'."\n" - ."\n" - .'- PartialFailed:部分执行失败。'."\n" - ."\n" - .' - 定时执行:命令进程不可能为部分失败。'."\n" - .' - 单次执行:部分实例有执行失败的命令进程,则总执行状态为部分失败。'."\n" - ."\n" - .'- Stopped:命令执行已停止。'."\n" - ."\n" - .'- Stopping:正在停止执行的命令。', - 'type' => 'string', - 'example' => 'Finished', - ], - 'Success' => [ - 'description' => '是否安装成功', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], + 'BelongRegion' => ['description' => '隶属的地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'RegionName' => ['description' => '命名空间名称。', 'type' => 'string', 'example' => 'test_region'], + 'Description' => ['description' => '命名空间描述信息。', 'type' => 'string', 'example' => 'logic region'], + 'UserId' => ['description' => '用户主账号ID。', 'type' => 'string', 'example' => '11727****22398'], + 'Id' => ['description' => '唯一标识。', 'type' => 'integer', 'format' => 'int64', 'example' => '8848'], + 'RegionId' => ['description' => '命名空间标识,创建后不可更改。格式为`地域ID:命名空间标识符`。', 'type' => 'string', 'example' => 'cn-beijing:test'], ], ], ], ], ], ], - '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' => '安装 Agent', - 'description' => '使用该接口将ECS导入EDAS时,不会重装系统,推荐使用该接口将ECS导入EDAS。', + 'title' => '删除指定的自定义命名空间', + 'summary' => '删除指定的自定义命名空间。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## 注意事项'."\n" - .'该接口在实际执行中,会遇到在 API 接口 Client 程序端在连接 API 网关超时(默认 10 秒)的情况,所以,用户在使用该接口时,须手工设置调用该接口时读取 POP API 网关返回的数据的超时时间(推荐设置为 30 秒,因 POP API 网关到接口 Server 端的服务处理时间最长即为 30 秒):'."\n" - .'- 使用 Java SDK 时,Client 端代码中使用该接口时设置读取超时时间方法:'."\n" - .'```java'."\n" - .'InstallAgentRequest request = new InstallAgentRequest();'."\n" - .'request.setSysReadTimeout(30000); //单位毫秒,客户端 API 接口程序等待 POP API网关返回数据的超时时间.'."\n" - .'request.setClusterId(clusterId);'."\n" - .'........'."\n" - .'```'."\n" - .'- 使用 Python SDK 时,Client 端代码中使用该接口时设置读取超时时间方法:'."\n" - .'```python'."\n" - .'request = InstallAgentRequest()'."\n" - .'request.set_read_timeout(30000)'."\n" - .'request.set_ClusterId(clusterId)'."\n" - .'```', - ], - 'TransformClusterMember' => [ - 'summary' => '接口导入或转移ECS实例。', - 'path' => '/pop/v5/resource/transform_cluster_member', - 'methods' => [ - 'post', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ], + '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' => '调用DeployApplication接口在ECS集群中部署应用。', + 'path' => '/pop/v5/changeorder/co_deploy', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5994,98 +3049,174 @@ ], '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' => '实例ID集合 ,用半角逗号(,)分割:'."\n" - .'- 实例可以不属于任何集群,但一个实例最多只能归属于一个集群。'."\n" - .'- ECS实例和目标集群需在同一个VPC内。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2ze7s2v0b789k60p****', - ], + 'schema' => ['description' => '应用ID。可通过查询ListApplication接口获取,请参见[ListApplication](~~423162~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-********************'], ], [ - 'name' => 'TargetClusterId', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => '目标集群ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b3e3f77b-462e-****-****-bec8727a****', - ], + 'schema' => ['description' => '部署的应用部署包版本,最长64个字符,建议使用时间戳。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1.0'], ], [ - 'name' => 'Password', + 'name' => 'Desc', 'in' => 'query', - 'schema' => [ - 'description' => '加入目标集群的实例需要设置的登录密码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Hello****', - ], + 'schema' => ['description' => '应用部署描述信息。', 'type' => 'string', 'required' => false, 'example' => 'Deploy by edas pop api'], + ], + [ + 'name' => 'DeployType', + 'in' => 'query', + 'schema' => ['description' => '部署类型。包含`URL`和`image`(废弃参数值),其中只有Swarm集群应用支持镜像(`image`)部署。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'URL'], + ], + [ + 'name' => 'WarUrl', + 'in' => 'query', + 'schema' => ['description' => '应用部署包(WAR或JAR)的URL地址。**DeployType**为`url`时必填,建议使用OSS存储的应用部署包路径。', 'type' => 'string', 'required' => false, 'example' => 'https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war'], + ], + [ + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => '**(废弃参数)**Swarm集群应用部署时可指定的应用镜像URL,推荐使用阿里云镜像仓库地址。', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest'], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '部署分组ID。可通过查询ListDeployGroup接口获取,请参见[ListDeployGroup](~~423184~~)。'."\n" + ."\n" + .'<note>如果要部署到所有分组,参数设置为`all`。</note>'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'all'], + ], + [ + 'name' => 'Batch', + 'in' => 'query', + 'schema' => ['description' => '每组批次。'."\n" + ."\n" + .'- 当指定了应用分组的GroupId为具体的某个应用分组ID时,表示向指定应用分组部署。此时可指定的最小批次数为1,最大批次数为该应用分组下正常状态的ECS实例数最大值,实际分批数结果范围:\\[1,指定的分批数\\] (指定的分批数=指定的分组下面ECS总数)。'."\n" + .'- 当指定了应用分组的GroupId为all时,表示向所有应用分组部署,此时可指定的最小批次数为1,最大批次数为正常状态的ECS数量最多的分组下的ECS实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => '分批等待时间,单位:分钟。'."\n" + .'- 默认为0,表示不等待。'."\n" + .'- 最大为5。'."\n" + ."\n" + .'当实际批次数较多时,需要设置一个合理值,否则会导致本次应用部署的变更持续时间比较长。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'AppEnv', + 'in' => 'query', + 'schema' => ['description' => '部署环境变量,格式必须符合`{"name":"x","value":"y"},{"name":"x2","value":"y2"} `,`key`固定为`name`和`value`。', 'type' => 'string', 'required' => false, 'example' => '[{\\"name\\":\\"env_name_1\\", \\"value\\":\\"env_value_1\\"}, {\\"name\\":\\"env_name_2\\",\\"value\\":\\"env_value_2\\"}]'], + ], + [ + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'EDAS-Container构建包号。'."\n" + ."\n" + .'- 如果部署时不需要更改EDAS-Container版本,则该参数可不设置。'."\n" + .'- 如果需要在本次部署时,更新目标应用的EDAS-Container版本,则需要设置。'."\n" + ."\n" + .'有以下两种获取方式:'."\n" + ."\n" + .'- 可通过查询容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~149391~~)。'."\n" + .'- 在[容器版本说明](~~92614~~)表格中的**构建包序号**列获取。例如`59`表示`EDAS-Container 3.5.8 版本`。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '59'], + ], + [ + 'name' => 'ComponentIds', + 'in' => 'query', + 'schema' => ['description' => '应用组件ID,参数不适用于HSF应用。可通过查询组件列表接口ListComponents接口获取,请参见[ListComponents](~~423223~~)。'."\n" + ."\n" + .'- 当创建应用时已经设置,则本次部署不需要再设置。'."\n" + .'- 如果在本次部署时需要更新目标应用的应用组件版本则需要设置。'."\n" + ."\n" + .'常用的应用组件ID及含义如下:'."\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" + .'更多信息,请参见[InsertApplication](~~423185~~)接口的常见应用的主要参数说明。', 'type' => 'string', 'required' => false, 'example' => '7'], + ], + [ + 'name' => 'ReleaseType', + 'in' => 'query', + 'schema' => ['description' => '分批方式。'."\n" + .'- 0为自动。'."\n" + .'- 1为各批次间需要手动确认。可在控制台目标应用的变更流程详情中单击**继续下一批**,也可通过调用ContinuePipeline继续下一批(由于使用API部署,建议使用自动分批),请参见[ContinuePipeline](~~126990~~)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'Gray', + 'in' => 'query', + 'schema' => ['description' => '是否为金丝雀发布。'."\n" + ."\n" + .'- true:金丝雀发布。'."\n" + ."\n" + .' - 灰度发布时,必须指定灰度发布的分组ID,即GroupId。'."\n" + ."\n" + .' - 灰度发布作为一个批次发布。'."\n" + ."\n" + .' - 灰度结束后,正常发布,分组批次由Batch控制。'."\n" + ."\n" + .'- false:非金丝雀发布(单批或分批发布)。'."\n" + ."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'TrafficControlStrategy', + 'in' => 'query', + 'schema' => ['description' => '灰度发布策略内容,请参见[DeployK8sApplication](~~423212~~)。', 'type' => 'string', 'required' => false, 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '提交成功返回`Transform submit success!`。', - 'type' => 'string', - 'example' => 'Transform submit success!', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], + 'Code' => ['description' => '接口请求的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '应用部署的变更流程ID。', 'type' => 'string', 'example' => 'adf86823-055b-48a4-a59f-fa5582******'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '接口请求唯一标识符。', 'type' => 'string', 'example' => 'd6834ee9-5045-*************'], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '导入或转移ECS实例', - 'description' => '## 限制说明'."\n" - .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。', + 'title' => '用于向 ECS 集群部署应用', + 'description' => '> 如果需要在导入EDAS的容器服务K8s集群部署应用,请使用EDAS提供的DeployK8sApplication接口,更多信息,请参见[DeployK8sApplication](~~149420~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'MigrateEcu' => [ - 'summary' => '转移ECU到指定命名空间的默认集群。', - 'path' => '/pop/v5/resource/migrate_ecu', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T04:00:24.000Z', 'description' => '错误码发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'DeployK8sApplication' => [ + 'summary' => '在容器服务K8s集群或Serverless K8s集群中部署应用。', + 'path' => '/pop/v5/k8s/acs/k8s_apps', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6093,36 +3224,530 @@ ], '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' => '实例ID,多个实例之间可用英文逗号(,)分隔。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-2zej4i2jdf3ntwhj****', - ], + 'schema' => ['description' => '停止前执行脚本,示例格式:`{"tcpSocket":{"host":"", "port":8080}}`。'."\n" + .'如果设置为`{}`代表删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "exec":{'."\n" + .' "command":['."\n" + .' "ls",'."\n" + .' "/"'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID:'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:test_region', - ], + 'schema' => ['description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x2",'."\n" + .' "valueFrom": {'."\n" + .' "configMapKeyRef": {'."\n" + .' "name": "my-config",'."\n" + .' "key": "y2"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x3",'."\n" + .' "valueFrom": {'."\n" + .' "secretKeyRef": {'."\n" + .' "name": "my-secret",'."\n" + .' "key": "y3"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', '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' => '镜像Tag。', 'type' => 'string', 'required' => false, 'example' => 'latest'], + ], + [ + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => 'Pod分批发布的最小间隔时间,详细信息请参见[minReadySeconds](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => '容器启动命令。'."\n" + ."\n" + .'> 如果要取消该配置,需设置一个空字符串`""`来表示不做配置。', 'type' => 'string', 'required' => false, 'example' => 'ls'], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc'], + ], + [ + 'name' => 'PostStart', + 'in' => 'query', + 'schema' => ['description' => '启动后执行脚本,格式如:`{"exec":{"command":\\["cat","/etc/group"\\]}}`。如果设置为`{}`表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "exec":{'."\n" + .' "command":['."\n" + .' "ls",'."\n" + .' "/"'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], + ], + [ + 'name' => 'Readiness', + 'in' => 'query', + 'schema' => ['description' => '容器业务状态检查,如果检查失败,经过K8s service的流量将不转入到该容器,格式如:`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}`。如果设置为`""`或者`{}`表示删除,不设置表示忽略。', '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"}]}}'], + ], + [ + 'name' => 'Liveness', + 'in' => 'query', + 'schema' => ['description' => '容器存活状态监测,格式如`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`。如果设置为`""`或者`{}`表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + ], + [ + 'name' => 'Args', + 'in' => 'query', + 'schema' => ['description' => '容器启动Args命令参数,格式必须符合JSON数组`\\["参数1","参数2"\\]`,其中key固定为字符串,清空需设置为空JSON数组`"\\[\\]"`。', 'type' => 'string', 'required' => false, 'example' => '["args1","args2"]'], + ], + [ + 'name' => 'Replicas', + 'in' => 'query', + 'schema' => ['description' => '应用实例数,最小为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'Image', + 'in' => 'query', + 'schema' => ['description' => '镜像完整URL,覆盖镜像Tag参数。', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1'], + ], + [ + 'name' => 'CpuLimit', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例的CPU限制。 单位:核数,设置为0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'MemoryLimit', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例的内存限制。单位:MB,设置为0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'CpuRequest', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例需要申请的CPU配额,推荐设置。'."\n" + .'单位:核数,设置为0表示不限制。'."\n" + ."\n" + .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'MemoryRequest', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例需要申请的内存配额,推荐设置。单位:MB。设置为0表示不申请。'."\n" + ."\n" + .'> 设置该参数时,还需要设置MemoryLimit参数,且需要小于等于MemoryLimit的参数值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'NasId', + 'in' => 'query', + 'schema' => ['description' => '挂载的NAS的ID,必须与集群在同一个地域。它必须有可用的挂载点创建额度,或者它的挂载点已经在VPC内的交换机上。如果不填,且存在mountDescs字段,则默认将自动购买一个NAS并挂载到VPC内的交换机上。', 'type' => 'string', 'required' => false, 'example' => 'dfs23****'], + ], + [ + 'name' => 'MountDescs', + 'in' => 'query', + 'schema' => ['description' => '挂载配置描述,为一个序列化的JSON。例如:`\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`。其中,nasPath是指文件储存路径;mountPath是指挂载到容器内的路径。', 'type' => 'string', 'required' => false, 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]'], + ], + [ + 'name' => 'StorageType', + 'in' => 'query', + 'schema' => ['description' => 'NAS存储类型,包括:'."\n" + .'* 通用型NAS:Capacity(容量型)、Performance(性能型)'."\n" + .'* 极速型NAS:standard(标准型)、advance(高级型)'."\n" + ."\n" + .'目前只支持Performance类型。', 'type' => 'string', 'required' => false, 'example' => 'Performance'], + ], + [ + 'name' => 'LocalVolume', + 'in' => 'query', + 'schema' => ['description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中,nodePath为宿主机路径;mountPath为容器内的路径;type为挂载类型。', 'type' => 'string', 'required' => false, 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]'], + ], + [ + 'name' => 'PackageUrl', + 'in' => 'query', + 'schema' => ['description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。'."\n" + ."\n" + .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', 'type' => 'string', 'required' => false, 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + ], + [ + 'name' => 'PackageVersion', + 'in' => 'query', + 'schema' => ['description' => '部署包的版本号,WAR和FatJar类型必填。请自定义它的含义。'."\n" + ."\n" + .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', 'type' => 'string', 'required' => false, 'example' => '20200720'], + ], + [ + 'name' => 'JDK', + 'in' => 'query', + 'schema' => ['description' => '部署的包依赖的JDK版本。可选的参数值为Open JDK 7、Open JDK 8或Custom OpenJDK。镜像部署方式不支持此参数。当使用Custom OpenJDK时,还需配置UserBaseImageUrl字段。', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8'], + ], + [ + 'name' => 'WebContainer', + 'in' => 'query', + 'schema' => ['description' => '部署包依赖的Tomcat版本。适用于通过WAR包部署的Spring Cloud和Dubbo应用,镜像不支持此参数。', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91'], + ], + [ + 'name' => 'EdasContainerVersion', + 'in' => 'query', + 'schema' => ['description' => '部署包依赖的EDAS Container版本。适用于通过WAR包部署的HSF应用,镜像不支持此参数。', 'type' => 'string', 'required' => false, 'example' => '3.5.9'], + ], + [ + 'name' => 'UriEncoding', + 'in' => 'query', + 'schema' => ['description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" + ."\n" + .'> 应用配置不设置该参数,使用Tomcat默认值。', 'type' => 'string', 'required' => false, 'example' => 'GBK'], + ], + [ + 'name' => 'UseBodyEncoding', + 'in' => 'query', + 'schema' => ['description' => 'useBodyEncodingForURI是否启用。'."\n" + ."\n" + .'> 应用配置不设置该参数,使用默认值false。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'UpdateStrategy', + 'in' => 'query', + 'schema' => ['description' => '分批发布策略'."\n" + ."\n" + .'- 例1:灰度1台+后续分2批+自动分批+分批间隔1分钟。'."\n" + .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- 例2:灰度1台+后续分2批+手动分批。'."\n" + .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- 例3:分2批+自动分批+分批间隔0分钟。'."\n" + .'`{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`', 'type' => 'string', 'required' => false, 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}'], + ], + [ + 'name' => 'McpuRequest', + 'in' => 'query', + 'schema' => ['description' => 'CPU最小资源需求,单位:核数。设置为0表示不限制。'."\n" + ."\n" + .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'McpuLimit', + 'in' => 'query', + 'schema' => ['description' => 'CPU能使用的最大值,单位:核数。设置为0表示不做限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'VolumesStr', + 'in' => 'query', + 'schema' => ['description' => '数据卷。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'PackageVersionId', + 'in' => 'query', + 'schema' => ['description' => '部署包版本ID。', 'type' => 'string', 'required' => false, 'example' => '2bcc********'], + ], + [ + 'name' => 'ChangeOrderDesc', + 'in' => 'query', + 'schema' => ['description' => '变更记录描述。', 'type' => 'string', 'required' => false, 'example' => 'Upgrade'], + ], + [ + 'name' => 'RuntimeClassName', + 'in' => 'query', + 'schema' => ['description' => '容器运行时类型:'."\n" + ."\n" + .'* runc:普通容器运行时。'."\n" + .'* runv:安全沙箱容器。'."\n" + ."\n" + .'该参数仅适用于使用安全沙箱容器的集群。', 'type' => 'string', 'required' => false, 'example' => 'runc'], + ], + [ + 'name' => 'DeployAcrossZones', + 'in' => 'query', + 'schema' => ['description' => '是否将应用实例分布到多可用区。true为是,其他值为否。', 'type' => 'string', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'BatchTimeout', + 'in' => 'query', + 'schema' => ['description' => '单批发布超时时间,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'EnableAhas', + 'in' => 'query', + 'schema' => ['description' => '是否接入AHAS。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'WebContainerConfig', + 'in' => 'query', + 'schema' => ['description' => 'Tomcat容器配置,设置为`""`或`"{}"`表示删除配置:'."\n" + .'- useDefaultConfig:是否使用自定义配置,若为true,则表示不使用自定义配置,若为false,则表示使用自定义配置。若不使用自定义配置,则下面的参数配置将不会生效。'."\n" + .'- contextInputType:选择应用的访问路径。'."\n" + .' - war:无需填写自定义路径,应用的访问路径是WAR包名称。'."\n" + .' - root:无需填写自定义路径,应用的访问路径是/。'."\n" + .' - custom:需要在下面的自定义路径中填写自定义的路径。'."\n" + .'- contextPath:自定义路径,当contextInputType类型为custom时,才需要配置此参数。'."\n" + .'- httpPort:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。'."\n" + .'- maxThreads:配置连接池的连接数大小,默认大小是400。'."\n" + .' '."\n" + .' > 此项配置对应用性能有很大影响,请由专业人士配置。'."\n" + ."\n" + .'- uriEncoding:Tomcat的编码格式,包括UTF-8、ISO-8859-1、GBK和GB2312。如果不设置则默认为ISO-8859-1。'."\n" + .'- useBodyEncoding:是否使用BodyEncoding for URL。'."\n" + .'- useAdvancedServerXml:是否使用高级配置自定义设置`server.xml`文件,当上述参数类型和具体参数无法满足您的需求时,可以选中使用高级设置,直接编辑Tomcat的`Server.xml`文件。'."\n" + .'- serverXml:高级配置中自定义设置的`server.xml`文本文件内容,当useAdvancedServerXml为true时生效。'."\n", 'type' => 'string', 'required' => false, 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}'], + ], + [ + 'name' => 'JavaStartUpConfig', + 'in' => 'query', + 'schema' => ['description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。', 'type' => 'string', 'required' => false, 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}'], + ], + [ + 'name' => 'SlsConfigs', + 'in' => 'query', + 'schema' => ['description' => 'Logstore配置,设置为`""`或`"{}"`表示删除配置:'."\n" + ."\n" + .'- Configs:'."\n" + ."\n" + .' - type:采集类型,文件类型为file,标准输出类型为stdout。'."\n" + ."\n" + .' - Logstore:logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则:'."\n" + .' - Logstore名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" + .' - 必须以小写字母和数字开头和结尾。'."\n" + .' - 名称长度为3~63个字符。若为空,则由系统自动生成。'."\n" + .' - LogDir:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配,采集路径应符合正则:`^/(.+)/(.*)^/$`。', '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/*"}]'], + ], + [ + 'name' => 'DeployAcrossNodes', + 'in' => 'query', + 'schema' => ['description' => '是否将应用实例分布到多个节点。true为是,其他值为否。', 'type' => 'string', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'TrafficControlStrategy', + 'in' => 'query', + 'schema' => ['description' => '灰度发布流量控制策略。', 'type' => 'string', 'required' => false, 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}'], + ], + [ + 'name' => 'PvcMountDescs', + 'in' => 'query', + 'schema' => ['description' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" + ."\n" + .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" + .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持以下两个配置参数:'."\n" + .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" + .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', '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' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" + .'- name:ConfigMap或Secret的名称。'."\n" + .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" + .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', '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" + .']'], + ], + [ + 'name' => 'EnvFroms', + 'in' => 'query', + 'schema' => ['description' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" + ."\n" + .'EnvFroms的配置参数说明如下。'."\n" + .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" + .' - name:ConfigMap名称。'."\n" + .'- secretRef:Secret引用,该字段包括以下参数:'."\n" + .' - name:Secret名称。'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]'], + ], + [ + 'name' => 'EmptyDirs', + 'in' => 'query', + 'schema' => ['description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" + ."\n" + .'- mountPath:容器挂载路径,必填。'."\n" + .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" + .'- subPathExpr:子目录表达式,可选。', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]'], + ], + [ + 'name' => 'CustomAffinity', + 'in' => 'query', + 'schema' => ['description' => 'Pod亲和性配置,当且仅当DeployAcrossNodes与DeployAcrossZones都为false时生效。', '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}]}}'], + ], + [ + 'name' => 'CustomTolerations', + 'in' => 'query', + 'schema' => ['description' => 'Pod调度容忍配置,当且仅当DeployAcrossNodes与DeployAcrossZones都为false时生效。', '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"}]'], + ], + [ + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'EDAS-Container构建包号:'."\n" + ."\n" + .'- 如果部署时不需要更改EDAS-Container版本,则该参数可不设置。'."\n" + .'- 如果需要在本次部署时,更新目标应用的EDAS-Container版本,则需要设置。'."\n" + ."\n" + .'有以下两种获取方式:'."\n" + ."\n" + .'- 可通过查询容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~423222~~)。'."\n" + .'- 在[容器版本说明](~~92614~~)表格中的**构建包序号**列获取。例如`59`表示`EDAS-Container 3.5.8 版本`。', 'type' => 'string', 'required' => false, 'example' => '59'], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => '应用Pod注解。', 'type' => 'string', 'required' => false, 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}'], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'schema' => ['description' => '应用Pod标签。', 'type' => 'string', 'required' => false, 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}'], + ], + [ + 'name' => 'EnableEmptyPushReject', + 'in' => 'query', + 'schema' => ['title' => '是否开启推空保护', 'description' => '是否开启推空保护:'."\n" + ."\n" + .'- true:开启推空保护。'."\n" + .'- false:不开启推空保护。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'EnableLosslessRule', + 'in' => 'query', + 'schema' => ['title' => '是否启用无损上线规则', 'description' => '是否启用无损上线规则:'."\n" + ."\n" + .'- true:启用无损上线规则。'."\n" + .'- false:不启用无损上线规则。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'LosslessRuleWarmupTime', + 'in' => 'query', + 'schema' => ['title' => '无损上线服务预热时长', 'description' => '服务预热时长,单位:秒。取值范围为0~86400秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120'], + ], + [ + 'name' => 'LosslessRuleDelayTime', + 'in' => 'query', + 'schema' => ['title' => '无损上线延迟注册时长', 'description' => '服务延迟注册时长,单位:秒。取值范围为0~86400秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'LosslessRuleFuncType', + 'in' => 'query', + 'schema' => ['title' => '无损上线服务预热曲线', 'description' => '服务预热曲线。取值范围0~20。默认为2(适合于一般预热场景),表示在预热周期内服务提供者的流量接收曲线形状呈2次曲线形状。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'LosslessRuleAligned', + 'in' => 'query', + 'schema' => ['title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册:'."\n" + ."\n" + .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务注册后,该接口返回200,否则返回500。'."\n" + .'> 若同时配置`LosslessRuleRelated`为true,则该接口检查是否完成服务预热。'."\n" + ."\n" + .'- false:不为应用提供检查是否完成服务注册的接口。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'LosslessRuleRelated', + 'in' => 'query', + 'schema' => ['title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热:'."\n" + ."\n" + .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务预热后,该接口返回200,否则返回500。'."\n" + .'- false:不为应用提供检查是否完成服务预热的接口。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'LimitEphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'RequestsEphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'Sidecars', + 'in' => 'query', + 'schema' => ['description' => '为应用Pod设置Sidecar容器。支持设置容器配置的格式YAML,其值为Sidecar容器YAML配置base64编码后的值。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'InitContainers', + 'in' => 'query', + 'schema' => ['description' => '为应用Pod设置初始化容器。支持设置容器配置的格式YAML,其值为Init容器YAML配置base64编码后的值。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'UserBaseImageUrl', + 'in' => 'query', + 'schema' => ['description' => '使用自定义JDK运行时,需要配置基础镜像地址。该地址需要可公开访问,EDAS服务端会拉取该镜像,用于构建应用镜像。', 'type' => 'string', 'required' => false, 'example' => 'openjdk:8u302'], + ], + [ + 'name' => 'CanaryRuleId', + 'in' => 'query', + 'schema' => ['description' => '金丝雀规则策略ID。', 'type' => 'string', 'required' => false, 'example' => 'a8daf22e-****-968c7ff2ea34'], + ], + [ + 'name' => 'TerminateGracePeriod', + 'in' => 'query', + 'schema' => ['description' => '设置应用优雅停止超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120'], + ], + [ + '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' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:'."\n" + ."\n" + .'- 指定x86 64架构:linux/amd64'."\n" + ."\n" + .'- 指定arm 64架构:linux/arm64'."\n" + ."\n" + .'- 指定构建双架构镜像:linux/amd64,linux/arm64'."\n" + ."\n" + .'- 不输入:默认架构', 'type' => 'string', 'required' => false, 'example' => 'linux/arm64,linux/amd64'], + ], + [ + 'name' => 'Startup', + 'in' => 'query', + 'schema' => ['description' => '启动探针可以用于对慢启动容器进行存活性检测,避免它们在启动运行之前就被杀掉,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}。'."\n" + ."\n" + .'如果设置为""或者{}表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + ], + [ + 'name' => 'CustomAgentVersion', + 'in' => 'query', + 'schema' => ['description' => '设置应用挂载的自定义ArmsAgent探针版本。'."\n" + ."\n" + .'> 该功能为白名单开放。如有需求,请提交工单申请加入白名单。', 'type' => 'string', 'required' => false, 'example' => '3.1.4'], + ], + [ + 'name' => 'SecurityContext', + 'in' => 'query', + 'schema' => ['description' => '为应用 Pod 容器设置 SecurityContext属性。其值为 SecurityContext YAML 配置 base64 编码后的值。', 'type' => 'string', 'required' => false, 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}'], ], ], 'responses' => [ @@ -6131,59 +3756,52 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '返回数据:'."\n" - ."\n" - .'- true:成功。'."\n" - .'- false:失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '04B0ABAF-95F2-42B6-A7B1****', - ], + 'ChangeOrderId' => ['description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****'], ], ], ], ], - '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":""}]', - 'title' => '转移ECU到指定命名空间的默认集群', - 'description' => '## 限制说明'."\n" - .'该接口已不推荐使用,建议使用接口TransformClusterMember代替,详情请参见[TransformClusterMember](~~71514~~)。'."\n" - ."\n" - .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。'."\n" - ."\n" - .'## 基本概念'."\n" - .'- **命名空间**:指的是EDAS中设计的用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" - .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" - .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', + 'title' => '部署K8s应用', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SynchronizeResource' => [ - 'summary' => '同步用户下的阿里云基础资源到EDAS。适用于ECS集群。', - 'path' => '/pop/v5/resource/pop_sync_resource', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-01-30T08:20:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-10-10T06:54:50.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-04-11T05:47:47.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-04-03T07:06:49.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-27T07:13:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-24T02:13:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-10-18T16:44:17.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-01-27T03:48:58.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployK8sApplication'], + ], + ], + '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\\": \\"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":""}]', + ], + 'DescribeAppInstanceList' => [ + 'path' => '/pop/v5/oam/app_instance_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6191,33 +3809,20 @@ ], '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' => '同步的资源类型,该参数可选的参数值为:`ecs、slb、vpc、all`其中的一个,不支持其他格式的参数值。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ecs', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取。更多信息,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d'], ], [ - 'name' => 'ResourceIds', + 'name' => 'WithNodeInfo', 'in' => 'query', - 'schema' => [ - 'description' => '指定的资源ID,仅当Type为`ecs`时支持填写此参数,如有多个ID,需要以逗号分隔,一次最多同步50个资源。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp17c***5q8x,i-bp1**5q8x', - ], + 'schema' => ['description' => '是否返回Pod所在的节点信息。'."\n" + ."\n" + .'- `true`:是'."\n" + .'- `false`:否', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -6225,161 +3830,251 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求返回的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '接口请求返回的数据。', - 'type' => 'string', - 'example' => 'PopSyncResource success', - ], - 'RequestId' => [ - 'description' => '接口请求唯一标识符。', - 'type' => 'string', - 'example' => 'F8DFGED-K98***************', - ], - 'Success' => [ - 'description' => '接口请求结果,取值如下:'."\n" - ."\n" - .'- **true**:请求成功。'."\n" - ."\n" - .'- **false**:请求失败。', - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], + 'InstanceList' => [ + 'description' => '应用实例列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NodeLabels' => ['description' => '节点标签,内容为JSON格式字符串。', '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' => '部署分组ID。', 'type' => 'string', 'example' => '93fdd228-*****-ed2ae98de18d'], + 'GroupName' => ['description' => '部署分组名。', 'type' => 'string', 'example' => '_DEFAULT_GROUP'], + 'Canary' => ['description' => '是否是金丝雀发布实例。'."\n" + .'- `true`:是'."\n" + .'- `false`:否', 'type' => 'boolean', 'example' => 'false'], + 'NodeName' => ['description' => '节点名称。', 'type' => 'string', 'example' => 'cn-hangzhou.192.168.0.*'], + 'PodRaw' => ['description' => 'Pod信息,内容为JSON格式字符串。', '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' => '节点部署的包版本。', 'type' => 'string', 'example' => '2021-04-06 19:37:42'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '93fdd228-*****-ed2ae98de18d'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], - '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' => '同步阿里云基础资源到EDAS', - 'description' => '调用此接口同步ECS资源信息时,将从ECS同步全量的实例数据,当ECS实例数超过100时,不建议频繁调用此接口。', + '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' => '查询K8s应用实例列表', + 'summary' => '调用DescribeAppInstanceList接口查询K8s应用实例列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## 注意事项'."\n" - .'该接口在实际执行中,会遇到在API接口Client程序端在连接API网关超时(默认10秒)的情况,所以,用户在使用该接口时,须手工设置调用该接口时读取POP API网关返回的数据的超时时间(推荐设置为30秒,因POP API网关到接口Server端的服务处理时间最长即为30秒)。'."\n" - ."\n" - .'- 使用Java SDK时,Client端代码中使用该接口时设置读取超时时间方法:'."\n" - .'```'."\n" - .'SynchronizeResourceRequest request = new SynchronizeResourceRequest();'."\n" - .'request.setSysReadTimeout(30000); //单位毫秒,客户端API接口程序等待POP API网关返回数据的超时时间。'."\n" - .'request.setType("ecs");'."\n" - .'........'."\n" - .'```'."\n" - ."\n" - .'- 使用Python SDK时,Client端代码中使用该接口时设置读取超时时间方法:'."\n" - .'```'."\n" - .'request = SynchronizeResourceRequest()'."\n" - .'request.set_read_timeout(30000)'."\n" - .'request.set_Type(\'ecs\')'."\n" - .'```', - ], - 'UpdateK8sResource' => [ - 'summary' => '更新K8s资源。', - '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' => '[{"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":""}]', + ], + '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' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '2e7059e9-2d********5e8ecac64ff', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'K8s命名空间ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'app-namespace', - ], - ], - [ - 'name' => 'ResourceContent', - 'in' => 'formData', - 'schema' => [ - 'description' => 'YAML格式的描述内容。', - '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' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => '7638276F-****-****-884F-54CC0BC84A8D', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'AppScalingRules' => [ + 'description' => '应用的弹性伸缩策略。', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => '当前页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '每页展示的弹性策略数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalSize' => ['description' => '弹性策略总的数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'Result' => [ + 'description' => '应用的弹性策略查询结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '更新弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'CreateTime' => ['description' => '创建弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'AppId' => ['description' => '弹性伸缩策略所属应用的应用ID。', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + 'LastDisableTime' => ['description' => '弹性伸缩策略最近一次被禁用的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleEnabled' => ['description' => '弹性策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'example' => 'true'], + 'ScaleRuleType' => ['description' => '弹性策略类型,仅支持trigger类型。', 'type' => 'string', 'example' => 'trigger'], + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleName' => ['description' => '弹性策略的名称。', 'type' => 'string', 'example' => 'cpu-trigger'], + 'Metric' => [ + 'description' => '此参数已废弃。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Metrics' => [ + 'description' => '此参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MetricType' => ['description' => '此参数已废弃。', 'type' => 'string', 'example' => 'asd'], + ], + 'description' => '', + ], + ], + ], + ], + 'Trigger' => [ + 'description' => '触发器配置列表。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '最小副本数,不能低于0。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '最大副本数,不能超过1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '122'], + 'Triggers' => [ + 'description' => '触发器配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => '触发器配置列表对象。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '触发器类型,只支持cron和app_metric。', 'type' => 'string', 'example' => 'cron'], + 'MetaData' => ['description' => '触发器元信息。', 'type' => 'string', 'example' => '{"dryRun":true}'], + 'Name' => ['description' => '触发器名称。', 'type' => 'string', 'example' => 'cron-trigger'], + ], + ], + ], + ], + ], + 'Behaviour' => [ + 'description' => '弹性行为。', + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'description' => '弹性扩容行为配置。', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => '扩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'SelectPolicy' => ['description' => '弹性扩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', + 'type' => 'array', + 'items' => [ + 'description' => '策略配置对象。', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], + ], + ], + ], + ], + ], + 'ScaleDown' => [ + 'description' => '弹性缩容行为配置。', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => '缩容冷却时间。取值范围[0, 3600],单位为秒。默认为300秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'SelectPolicy' => ['description' => '弹性缩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', + 'type' => 'array', + 'items' => [ + 'description' => '策略配置。', + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], ], ], + 'description' => '', ], ], ], - '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' => '更新容器服务K8s资源', - 'description' => '> 当前仅支持Deployment资源的修改。', + 'title' => '获取应用弹性伸缩规则', + 'summary' => '调用DescribeApplicationScalingRules接口获取应用的弹性伸缩规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sCluster' => [ - 'path' => '/pop/v5/k8s_clusters', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-01-03T03:43:53.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-11-17T05:38:17.000Z', 'description' => '请求参数发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'DescribeLocalitySetting' => [ + 'path' => '/pop/sp/applications/locality/setting', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6387,256 +4082,158 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionTag', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => '地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai'], ], [ - 'name' => 'CurrentPage', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时当前显示第几页,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9999', - 'minimum' => '0', - 'example' => '1', - 'isFileTransferUrl' => false, - 'default' => '0', - ], + 'schema' => ['description' => '微服务空间id', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai:test'], ], [ - 'name' => 'PageSize', + 'name' => 'AppId', 'in' => 'query', + 'schema' => ['description' => '应用ID。可通过查询ListApplication接口获取,请参见[ListApplication](~~423162~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc190221-22b5-491c-a548-82f5fa1e3e26'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '分页查询时每页显示几条,默认值为1000。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '10', - 'isFileTransferUrl' => false, - 'default' => '20', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码。说明 200表示成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'HttpStatusCode' => ['description' => 'http状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => '1053-08e4-47a5-b2ab-5c0323de****'], + 'Success' => ['description' => '返回结果。'."\n" + ."\n" + .'- `true`:返回成功。'."\n" + .'- `false`:返回失败。', 'type' => 'boolean', 'example' => 'True'], + 'Data' => [ + 'description' => '空值,无实际含义。', + 'type' => 'object', + 'properties' => [ + 'Threshold' => ['description' => '阈值', 'type' => 'number', 'format' => 'float', 'example' => '15'], + 'Enabled' => ['description' => '是否启用', 'type' => 'boolean', 'example' => 'true'], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'title' => '获取本地配置', + 'summary' => '获取本地配置', + 'description' => '> 当前仅支持Deployment资源的修改。', + '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 \\"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' => 'ClusterType', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群类型:'."\n" - ."\n" - .'- 5:容器服务K8s集群。'."\n" - .'- 7:自建K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '99', - 'minimum' => '0', - 'example' => '5', - 'default' => '5', - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], ], [ - 'name' => 'SubClusterType', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => '集群子类型:'."\n" - .'* Ask:Serverless K8s 集群。'."\n" - .'* ManagedKubernetes:容器服务 K8s 集群。', - 'type' => 'string', - 'required' => false, - 'example' => 'Ask', - ], + 'schema' => ['description' => '弹性伸缩策略的名称。', 'type' => 'string', 'required' => false, 'example' => 'cron-trigger'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C3CE915C-0C83-4AA5-8D66-E8BEED62939E', - ], - 'ClusterPage' => [ - 'description' => '集群分页显示列表。', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => '5d6fa0bc-cc3**********'], + 'AppScalingRule' => [ + 'description' => '弹性伸缩策略。', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => '分页查询时当前显示第几页,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '分页查询时每页显示几条,默认值为1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => '显示总页数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', + 'UpdateTime' => ['description' => '更新弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'CreateTime' => ['description' => '创建弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'AppId' => ['description' => '弹性伸缩策略所属应用的应用ID。', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + 'LastDisableTime' => ['description' => '弹性伸缩策略最近一次被禁用的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleEnabled' => ['description' => '弹性伸缩策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'example' => 'true'], + 'ScaleRuleType' => ['description' => '弹性伸缩策略类型,只支持trigger。', 'type' => 'string', 'example' => 'trigger'], + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleName' => ['description' => '弹性伸缩策略的名称。', 'type' => 'string', 'example' => 'cron-trigger'], + 'Metric' => [ + 'description' => '此参数已废弃。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '12'], + 'Metrics' => [ + 'description' => '此参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MetricType' => ['description' => '此参数已废弃。', 'type' => 'string', 'example' => '1'], + ], + 'description' => '', + ], + ], + ], ], - 'ClusterList' => [ + 'Trigger' => [ + 'description' => '触发器配置。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Cluster' => [ - 'description' => '集群列表。', + 'MinReplicas' => ['description' => '最小副本数,不能低于0。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '最大副本数,不能超过1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '12'], + 'Triggers' => [ + 'description' => '触发器。', 'type' => 'array', 'items' => [ - 'description' => '集群列表对象。', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID。', - 'type' => 'string', - 'example' => 'vpc-**z1mlwpbjx3e9m**', - ], - 'VswitchId' => [ - 'description' => '交换机ID。', - 'type' => 'string', - 'example' => 'vsw-bp1uf97****xjxgip****', - ], - 'SubNetCidr' => [ - 'description' => '子网的网段。', - 'type' => 'string', - 'example' => '172.20.0.0/16', - ], - 'Mem' => [ - 'description' => '内存总量,单位:MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'RegionId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'test', - ], - 'CsClusterStatus' => [ - 'description' => '容器集群运行状态:'."\n" - .'- initial:初始化中。'."\n" - .'- failed:创建失败。'."\n" - .'- running:运行中。'."\n" - .'- updating:更新中。'."\n" - .'- scaling:扩容中。'."\n" - .'- removing:移除节点中。'."\n" - .'- upgrading:升级中。'."\n" - .'- deleting:删除中。'."\n" - .'- delete_failed:删除失败。'."\n" - .'- deleted:已删除(该状态用户不可见)。', - 'type' => 'string', - 'example' => 'running', - ], - 'Cpu' => [ - 'description' => 'CPU总核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'NetworkMode' => [ - 'description' => '网络类型:'."\n" - .'- 1:经典网络。'."\n" - .'- 2:VPC。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CsClusterId' => [ - 'description' => '容器服务集群ID。', - 'type' => 'string', - 'example' => '2ce62869f4d4466b920312315f05****', - ], - 'Description' => [ - 'description' => '集群描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterType' => [ - 'description' => '集群类型:'."\n" - .'- 2:ECS集群。'."\n" - .'- 5:容器服务K8s集群或Serverless K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'NodeNum' => [ - 'description' => '节点数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '81453e4b-4df0-4592-****-b835a2ee****', - ], - 'ClusterImportStatus' => [ - 'title' => '', - 'description' => '集群的导入状态:'."\n" - .'- 0:没有导入。'."\n" - .'- 1:导入成功。'."\n" - .'- 2:导入失败。'."\n" - .'- 3:正在导入。'."\n" - .'- 4:集群已删除。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SubClusterType' => [ - 'description' => '集群子类型:'."\n" - .'* Ask:Serverless K8s 集群。'."\n" - .'* ManagedKubernetes:容器服务 K8s 集群。', - 'type' => 'string', - 'example' => 'Ask', - ], - 'ClusterStatus' => [ - 'description' => '集群运行状态:'."\n" - .'- 1:正常。'."\n" - .'- 2:异常。'."\n" - .'- 3:离线。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'Type' => ['description' => '触发器类型,只支持cron和app_metric。', 'type' => 'string', 'example' => 'cron'], + 'MetaData' => ['description' => '触发器元信息。', 'type' => 'string', 'example' => '{"dryRun":true}'], + 'Name' => ['description' => '触发器名称。', 'type' => 'string', 'example' => 'cron-trigger'], ], + 'description' => '', ], ], ], @@ -6644,174 +4241,177 @@ ], ], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '获取K8s集群列表', - 'summary' => '获取容器服务K8s集群或Serverless K8s集群列表。', + 'title' => '禁用应用弹性伸缩规则', + 'summary' => '禁用应用弹性伸缩规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sNamespaces' => [ - 'summary' => '调用ListK8sNamespaces接口获取K8s命名空间列表。', - 'path' => '/pop/v5/k8s/acs/k8s_namespace', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-11-17T05:38:18.000Z', 'description' => '请求参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '[{"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":""}]', + ], + 'EnableApplicationScalingRule' => [ + 'summary' => '调用EnableApplicationScalingRule接口启用应用弹性伸缩规则。', + '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' => 'EDAS集群ID', - 'type' => 'string', - 'required' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => '弹性伸缩策略的名称。', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '接口响应数据。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Namespace' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'example' => 'development', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'AppScalingRule' => [ + 'description' => '弹性伸缩策略。', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '更新弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'CreateTime' => ['description' => '创建弹性伸缩策略的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'AppId' => ['description' => '弹性伸缩策略所属应用的应用ID。', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + 'LastDisableTime' => ['description' => '弹性伸缩策略最近一次被禁用的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '23212323123'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleEnabled' => ['description' => '弹性伸缩策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'example' => 'true'], + 'ScaleRuleType' => ['description' => '弹性伸缩策略类型,仅支持trigger类型。', 'type' => 'string', 'example' => 'trigger'], + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleName' => ['description' => '弹性伸缩的策略名称。', 'type' => 'string', 'example' => 'cpu-trigger'], + 'Metric' => [ + 'description' => '此参数已废弃。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Metrics' => [ + 'description' => '此参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '12'], + 'MetricType' => ['description' => '此参数已废弃。', 'type' => 'string', 'example' => 'cpu'], + ], + 'description' => '', + ], + ], + ], + ], + 'Trigger' => [ + 'description' => '触发器配置。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '最小副本数,下限0。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '最大副本数,上限1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '122'], + 'Triggers' => [ + 'description' => '触发器列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '触发器类型,仅支持cron和app_metric。', 'type' => 'string', 'example' => 'cron'], + 'MetaData' => ['description' => '触发器元信息。', 'type' => 'string', 'example' => '{"dryRun":true}'], + 'Name' => ['description' => '触发器名称。', 'type' => 'string', 'example' => 'cpu'], + ], + 'description' => '', + ], + ], ], ], ], ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => '启用应用弹性伸缩规则', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-11-17T05:38:18.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + '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' => '获取K8s命名空间列表', + '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":""}]', ], - 'ImportK8sCluster' => [ - 'summary' => '调用ImportK8sCluster接口导入容器服务K8s集群或Serverless K8s集群。', - 'path' => '/pop/v5/import_k8s_cluster', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAppDeployment' => [ + 'summary' => '调用GetAppDeployment接口获取K8s应用的Deployment信息。', + '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' => '集群ID,可通过调用GetK8sCluster接口获取,请参见[GetK8sCluster](~~181437~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], - ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。格式为“`地域ID:微服务空间标识符`”,例如:`cn-hangzhou:doc`。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:doc', - ], - ], - [ - 'name' => 'Mode', - 'in' => 'query', - 'schema' => [ - 'description' => '此参数无需关注。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'EnableAsm', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启ASM:'."\n" - .'- true:开启'."\n" - .'- false:不开启', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*****-ed2ae98de18d'], ], ], 'responses' => [ @@ -6819,125 +4419,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'EDAS中的集群ID。', - 'type' => 'string', - 'example' => 'cf96d49a-6be2-4b6d-****-75c7fb86****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '应用Deployment信息,格式为JSON格式字符串。', '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' => '请求ID。', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], ], + 'description' => '', ], ], ], - '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' => '导入容器服务K8s集群', + 'errorCodes' => [], + 'title' => '获取K8s应用的Deployment信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateHealthCheckUrl' => [ - 'summary' => '调用UpdateHealthCheckUrl来设置健康检查URL。', - 'path' => '/pop/v5/app/modify_hc_url', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2025-06-25T06:15:57.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAppDeployment'], + ], + ], + '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' => '[{"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":""}]', + ], + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-43ff-***************', - ], - ], - [ - 'name' => 'hcURL', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查URL,需要以`http://`开头,最大长度不超过255字符,例如:`http://127.0.0.1:8080/_ehc.html`。不传该参数,可不修改应用检查URL。', - 'type' => 'string', - 'required' => false, - 'example' => 'http://127.0.0.1:8080/_ehc.html', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '29f0******************'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*****************', - ], - 'HealthCheckURL' => [ - 'description' => '健康检查URL', - 'type' => 'string', - 'example' => 'http://127.0.0.1:8080/_ehc.html', + 'Code' => ['description' => 'code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F8DFGED-K98***************'], + 'Application' => [ + 'description' => '应用信息。', + 'type' => 'object', + 'properties' => [ + 'ExtSlbIp' => ['description' => '应用绑定的公网SLB的IP。', 'type' => 'string', 'example' => '47.114.xxx.xx'], + 'Owner' => ['description' => '应用创建者。', 'type' => 'string', 'example' => 'ouou@117274586608****'], + 'SlbPort' => ['description' => '应用绑定的私网SLB的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'NameSpace' => ['description' => '应用所属的命名空间。', 'type' => 'string', 'example' => 'doc-test'], + 'ExtSlbName' => ['description' => '应用绑定的公网SLB的名称。', 'type' => 'string', 'example' => 'aa8eee383db084f42aebc4d9f52c****'], + 'CreateTime' => ['description' => '应用创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1610550324226'], + 'UserId' => ['description' => '云账号ID。', 'type' => 'string', 'example' => 'test@dd******'], + 'Port' => ['description' => '应用的服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'RunningInstanceCount' => ['description' => '运行的应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SlbIp' => ['description' => '应用绑定的私网SLB的IP。', 'type' => 'string', 'example' => '192.***.***.***'], + 'Dockerize' => ['description' => '是否为Docker应用:'."\n" + .'- false:非Docker应用。'."\n" + .'- true:Docker应用。', 'type' => 'boolean', 'example' => 'false'], + 'Description' => ['description' => '应用描述。', 'type' => 'string', 'example' => 'test'], + 'InstanceCount' => ['description' => '应用包含的实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'cfac****-847e-4325-ad56-b5c2bc54****'], + 'SlbInfo' => ['description' => '应用绑定的私网SLB的信息。', 'type' => 'string', 'example' => 'test'], + 'Memory' => ['description' => '应用实例内存配置大小,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Name' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test'], + 'ClusterId' => ['description' => '应用部署的ECS集群ID。', 'type' => 'string', 'example' => '5ffc5895-****-b03a-c223c6c3****'], + 'SlbId' => ['description' => '应用绑定的私网SLB的ID。', 'type' => 'string', 'example' => 'lb-bp****ck3s3b9xs6x****'], + 'HealthCheckUrl' => ['description' => '应用的健康检查URL', 'type' => 'string', 'example' => 'http://127.0.0.1:8080/xyz.html'], + 'ApplicationType' => ['description' => '应用部署类型:'."\n" + .'- War:WAR包部署。'."\n" + .'- FatJar:JAR包部署。'."\n" + .'- 空:未部署。', 'type' => 'string', 'example' => 'FatJar'], + 'ExtSlbId' => ['description' => '应用绑定的公网SLB的ID。', 'type' => 'string', 'example' => 'lb-bp1vceck3s3b9xs6x****'], + 'RegionId' => ['description' => '应用所属地域的ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'BuildPackageId' => ['description' => '容器版本ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '59'], + 'Email' => ['description' => '电子邮箱地址。', 'type' => 'string', 'example' => '****@***.com'], + 'Cpu' => ['description' => 'CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ClusterType' => ['description' => '应用集群环境类型:'."\n" + .'- 0:普通Docker集群。'."\n" + .'- 1:Swarm 集群。'."\n" + .'- 2:ECS集群。'."\n" + .'- 3:Kubernetes集群。'."\n" + .'- 4:Pandora自动注册应用集群。', 'type' => 'string', 'example' => '2'], + 'SlbName' => ['description' => '应用绑定的私网SLB的名称。', 'type' => 'string', 'example' => 'test'], + 'EnableUrlCheck' => ['description' => '是否开启了URL健康检查:'."\n" + .'- true:启用。'."\n" + .'- false:不启用。'."\n" + ."\n" + .'若启用,则在应用启动过程中,EDAS将尝试探测指定的URL,如果访问正常,则认为应用已经启动。', 'type' => 'boolean', 'example' => 'false'], + 'EnablePortCheck' => ['description' => '是否开启了端口健康检查:'."\n" + .'- true:启用。'."\n" + .'- false:不启用。'."\n" + ."\n" + .'若启用,在应用启动过程中,EDAS将检查端口是否存在,若存在,则认为应用已经启动。', 'type' => 'boolean', 'example' => 'false'], + 'AppPhase' => ['description' => 'K8s应用当前所属状态,用于判断应用是否处于稳定状态,处于不稳定状态时,禁止相关的配置操作:'."\n" + ."\n" + .'* ready:应用处于就绪状态,可以进行应用变更。'."\n" + .'* progressing:应用变更中。'."\n" + .'* pending:应用变更被阻塞。'."\n" + .'* failed:应用变更失败。'."\n" + ."\n" + .'其中ready为稳定状态,其它状态为不稳定状态。', 'type' => 'string', 'example' => 'ready'], + 'HaveManageAccess' => ['description' => '当前用户是否有应用的管理权限(RAM鉴权模式)。', 'type' => 'string', 'example' => 'true'], + 'WorkloadType' => ['description' => '创建应用时Workload的类型,目前支持Deployment和StatefulSet类型。对于ECS应用不生效。', 'type' => 'string', 'example' => 'StatefulSet'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aekz****'], + ], ], ], ], ], ], - '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' => '设置健康检查 URL', + 'title' => '获取应用信息', + 'summary' => '获取ECS集群中指定应用的信息。 。', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseParamsDescription' => "\n", 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-25T12:38:53.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-05-22T11:41:16.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-13T09:33:59.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-10-28T05:54:28.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-06-28T08:08:49.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + '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' => '[{"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":""}]', ], 'GetChangeOrderInfo' => [ 'path' => '/pop/v5/changeorder/change_order_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6945,20 +4596,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1074f3e2-e974-4a0e-****-************', - ], + 'schema' => ['description' => '变更流程ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1074f3e2-e974-4a0e-****-************'], ], ], 'responses' => [ @@ -6966,91 +4609,36 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4JFR-FV9F***************', - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4JFR-FV9F***************'], 'changeOrderInfo' => [ 'description' => '变更流程详情', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '变更状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止'."\n" - .'- 7:部分成功'."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID', - 'type' => 'string', - 'example' => '1074f3e2-e974-4a0e-****-************', - ], - 'BatchType' => [ - 'description' => '分批发布时,下一批变更的执行方式。'."\n" - .'- Automatic:自动'."\n" - .'- Manual:手动', - 'type' => 'string', - 'example' => 'Automatic', - ], - 'CoType' => [ - 'description' => '变更流程分类', - 'type' => 'string', - 'example' => 'Application Scale Out', - ], - 'CreateTime' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2019-11-13 14:23:46', - ], - 'ChangeOrderDescription' => [ - 'description' => '变更流程描述', - 'type' => 'string', - 'example' => '应用扩容', - ], - 'BatchCount' => [ - 'description' => '变更分批数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateUserId' => [ - 'description' => '变更流程的负责人', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'SupportRollback' => [ - 'description' => '是否支持回滚。'."\n" - .'- true:支持回滚'."\n" - .'- false:不支持回滚', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Desc' => [ - 'description' => '变更流程描述', - 'type' => 'string', - 'example' => 'IP of Scale-Out Instance: 47.107.XX.XX', - ], + 'Status' => ['description' => '变更状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止'."\n" + .'- 7:部分成功'."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ChangeOrderId' => ['description' => '变更流程ID', 'type' => 'string', 'example' => '1074f3e2-e974-4a0e-****-************'], + 'BatchType' => ['description' => '分批发布时,下一批变更的执行方式。'."\n" + .'- Automatic:自动'."\n" + .'- Manual:手动', 'type' => 'string', 'example' => 'Automatic'], + 'CoType' => ['description' => '变更流程分类', 'type' => 'string', 'example' => 'Application Scale Out'], + 'CreateTime' => ['description' => '创建时间', 'type' => 'string', 'example' => '2019-11-13 14:23:46'], + 'ChangeOrderDescription' => ['description' => '变更流程描述', 'type' => 'string', 'example' => 'Application scale-up'], + 'BatchCount' => ['description' => '变更分批数', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'CreateUserId' => ['description' => '变更流程的负责人', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'SupportRollback' => ['description' => '是否支持回滚。'."\n" + .'- true:支持回滚'."\n" + .'- false:不支持回滚', 'type' => 'boolean', 'example' => 'false'], + 'Desc' => ['description' => '变更流程描述', 'type' => 'string', 'example' => 'IP of Scale-Out Instance: 47.107.XX.XX'], 'PipelineInfoList' => [ 'type' => 'object', 'itemNode' => true, @@ -7061,41 +4649,20 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'PipelineName' => [ - 'description' => '批次名称', - 'type' => 'string', - 'example' => ' Batch: 1', - ], - 'StartTime' => [ - 'description' => '开始时间的时间戳', - 'type' => 'string', - 'example' => '1583911702158', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳', - 'type' => 'string', - 'example' => '1583911743633', - ], - 'PipelineStatus' => [ - 'description' => '任务状态:'."\n" - ."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PipelineId' => [ - 'description' => '分批变更时各批次流程的ID', - 'type' => 'string', - 'example' => '4c4ee320-5e47-4a48-****-************', - ], + 'PipelineName' => ['description' => '批次名称', 'type' => 'string', 'example' => ' Batch: 1'], + 'StartTime' => ['description' => '开始时间的时间戳', 'type' => 'string', 'example' => '1583911702158'], + 'UpdateTime' => ['description' => '更新时间的时间戳', 'type' => 'string', 'example' => '1583911743633'], + 'PipelineStatus' => ['description' => '任务状态:'."\n" + ."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'PipelineId' => ['description' => '分批变更时各批次流程的ID', 'type' => 'string', 'example' => '4c4ee320-5e47-4a48-****-************'], 'StageList' => [ 'type' => 'object', 'itemNode' => true, @@ -7106,30 +4673,17 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => '阶段ID', - 'type' => 'string', - 'example' => '358a143f-09a0-45e0-****-************@**_*******_*****', - ], - 'Status' => [ - 'description' => '阶段状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageName' => [ - 'description' => '阶段名称', - 'type' => 'string', - 'example' => 'Scale Out', - ], + 'StageId' => ['description' => '阶段ID', 'type' => 'string', 'example' => '358a143f-09a0-45e0-****-************@**_*******_*****'], + 'Status' => ['description' => '阶段状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'StageName' => ['description' => '阶段名称', 'type' => 'string', 'example' => 'Scale Out'], 'StageResultDTO' => [ 'description' => '阶段任务的执行结果', 'type' => 'object', @@ -7144,40 +4698,19 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '运行状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InstanceIp' => [ - 'description' => '实例IP', - 'type' => 'string', - 'example' => '47.XX.XX.12 (Public)<br>***.**.*.*** (*******)', - ], - 'PodName' => [ - 'description' => '节点名称', - 'type' => 'string', - 'example' => 'canary-test', - ], - 'InstanceName' => [ - 'description' => '实例名称', - 'type' => 'string', - 'example' => 'EDAS-scaled', - ], - 'PodStatus' => [ - 'description' => 'Pod状态', - 'type' => 'string', - 'example' => '执行中', - ], + 'Status' => ['description' => '运行状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'InstanceIp' => ['description' => '实例IP', 'type' => 'string', 'example' => '47.XX.XX.12 (Public)<br>***.**.*.*** (*******)'], + 'PodName' => ['description' => '节点名称', 'type' => 'string', 'example' => 'canary-test'], + 'InstanceName' => ['description' => '实例名称', 'type' => 'string', 'example' => 'EDAS-scaled'], + 'PodStatus' => ['description' => 'Pod状态', 'type' => 'string', 'example' => 'Executing'], 'InstanceStageDTOList' => [ 'type' => 'object', 'itemNode' => true, @@ -7188,96 +4721,60 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => '阶段ID', - 'type' => 'string', - 'example' => '5dd4c0f2-d81a-406f-****-************', - ], - 'Status' => [ - 'description' => '阶段状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StartTime' => [ - 'description' => '开始时间', - 'type' => 'string', - 'example' => '2020-03-11T07:28:49Z', - ], - 'StageMessage' => [ - 'description' => '阶段信息', - 'type' => 'string', - 'example' => 'Pulling image \\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\', - ], - 'FinishTime' => [ - 'description' => '结束时间', - 'type' => 'string', - 'example' => '2020-03-11T07:28:52Z', - ], - 'StageName' => [ - 'description' => '阶段名称', - 'type' => 'string', - 'example' => ' scale out ', - ], + 'StageId' => ['description' => '阶段ID', 'type' => 'string', 'example' => '5dd4c0f2-d81a-406f-****-************'], + 'Status' => ['description' => '阶段状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'StartTime' => ['description' => '开始时间', 'type' => 'string', 'example' => '2020-03-11T07:28:49Z'], + 'StageMessage' => ['description' => '阶段信息', 'type' => 'string', 'example' => 'Pulling image \\"registry-vpc.cn-hangzhou.aliyuncs.com****-user/1172745****_shared_repo:428084d6-265f-****-911a-7eb0d2c3****_15839117****\\'], + 'FinishTime' => ['description' => '结束时间', 'type' => 'string', 'example' => '2020-03-11T07:28:52Z'], + 'StageName' => ['description' => '阶段名称', 'type' => 'string', 'example' => ' scale out '], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], + 'description' => '', ], 'ServiceStage' => [ 'description' => '服务型阶段执行结果', 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => '阶段ID', - 'type' => 'string', - 'example' => '358a143f-09a0-45e0-****-************', - ], - 'Status' => [ - 'description' => '运行状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Message' => [ - 'description' => '执行结果信息', - 'type' => 'string', - 'example' => 'Success', - ], - 'StageName' => [ - 'description' => '阶段名称', - 'type' => 'string', - 'example' => 'Enable Tengine', - ], + 'StageId' => ['description' => '阶段ID', 'type' => 'string', 'example' => '358a143f-09a0-45e0-****-************'], + 'Status' => ['description' => '运行状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Message' => ['description' => '执行结果信息', 'type' => 'string', 'example' => 'Success'], + 'StageName' => ['description' => '阶段名称', 'type' => 'string', 'example' => 'Enable Tengine'], ], ], ], ], ], + 'description' => '', ], ], ], + 'description' => '', ], 'StageDetailList' => [ 'type' => 'object', @@ -7289,30 +4786,17 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'StageId' => [ - 'description' => '阶段ID', - 'type' => 'string', - 'example' => 'd7561440-10a6-452f-8a90-62f6e7ec****', - ], - 'StageStatus' => [ - 'description' => '阶段状态:'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageName' => [ - 'description' => '阶段名称', - 'type' => 'string', - 'example' => 'Process Start', - ], + 'StageId' => ['description' => '阶段ID', 'type' => 'string', 'example' => 'd7561440-10a6-452f-8a90-62f6e7ec****'], + 'StageStatus' => ['description' => '阶段状态:'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'StageName' => ['description' => '阶段名称', 'type' => 'string', 'example' => 'Process Start'], 'TaskList' => [ 'type' => 'object', 'itemNode' => true, @@ -7323,79 +4807,47 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'TaskErrorIgnorance' => [ - 'description' => '表示任务本身是否能容忍错误,如果容忍,则发生错误时,变更流程将忽略错误来继续下一个任务。'."\n" - .'- 0:不容忍错误'."\n" - .'- 1:容忍错误', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ShowManualIgnorance' => [ - 'description' => '是否显示`忽略错误按钮`。'."\n" - .'- true:忽略变更流程中出现的错误。目前只有执行URL健康检查时,该参数的取值可为true。'."\n" - .'- false:不忽略变更流程中出现的错误。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskStatus' => [ - 'description' => '任务状态'."\n" - .'- 0:准备 '."\n" - .'- 1:执行中 '."\n" - .'- 2:执行成功 '."\n" - .'- 3:执行失败 '."\n" - .'- 6:终止 '."\n" - .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" - .'- 9:自动分批发布模式下,等待下一批执行中'."\n" - .'- 10:系统异常执行失败', - 'type' => 'string', - 'example' => '2', - ], - 'TaskMessage' => [ - 'description' => '任务信息', - 'type' => 'string', - 'example' => '[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success', - ], - 'TaskName' => [ - 'description' => '任务名称', - 'type' => 'string', - 'example' => 'Build Image', - ], - 'TaskErrorCode' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => '400', - ], - 'RetryType' => [ - 'description' => '重试类型,0 表示不重试,1表示自动重试,2表示手动重试', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TaskId' => [ - 'description' => '任务ID', - 'type' => 'string', - 'example' => 'd6d3b934-90a1-4ae8-8cbd-2446003d****', - ], - 'TaskErrorMessage' => [ - 'description' => '任务错误信息', - 'type' => 'string', - 'example' => '400', - ], + 'TaskErrorIgnorance' => ['description' => '表示任务本身是否能容忍错误,如果容忍,则发生错误时,变更流程将忽略错误来继续下一个任务。'."\n" + .'- 0:不容忍错误'."\n" + .'- 1:容忍错误', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ShowManualIgnorance' => ['description' => '是否显示`忽略错误按钮`。'."\n" + .'- true:忽略变更流程中出现的错误。目前只有执行URL健康检查时,该参数的取值可为true。'."\n" + .'- false:不忽略变更流程中出现的错误。', 'type' => 'boolean', 'example' => 'false'], + 'TaskStatus' => ['description' => '任务状态'."\n" + .'- 0:准备 '."\n" + .'- 1:执行中 '."\n" + .'- 2:执行成功 '."\n" + .'- 3:执行失败 '."\n" + .'- 6:终止 '."\n" + .'- 8:手动分批发布模式下,等待手工确认执行下一批'."\n" + .'- 9:自动分批发布模式下,等待下一批执行中'."\n" + .'- 10:系统异常执行失败', 'type' => 'string', 'example' => '2'], + 'TaskMessage' => ['description' => '任务信息', 'type' => 'string', 'example' => '[CALLBACK] 2020-03-11 15:28:44.781 requestId: c952ab99-8c5b-4ff1-9412-ae3bf9b1****, message: success'], + 'TaskName' => ['description' => '任务名称', 'type' => 'string', 'example' => 'Build Image'], + 'TaskErrorCode' => ['description' => '错误码', 'type' => 'string', 'example' => '400'], + 'RetryType' => ['description' => '重试类型,0 表示不重试,1表示自动重试,2表示手动重试', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'TaskId' => ['description' => '任务ID', 'type' => 'string', 'example' => 'd6d3b934-90a1-4ae8-8cbd-2446003d****'], + 'TaskErrorMessage' => ['description' => '任务错误信息', 'type' => 'string', 'example' => '400'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], + 'description' => '', ], 'Targets' => [ 'type' => 'object', @@ -7403,70 +4855,64 @@ 'properties' => [ 'Items' => [ 'type' => 'array', - 'items' => [ - 'description' => '关联ECS的IP地址列表', - 'type' => 'string', - 'example' => '["123.250.XX.XX","234.123.XX.XX"]', - ], + 'items' => ['description' => '关联ECS的IP地址列表', 'type' => 'string', 'example' => '["123.250.XX.XX","234.123.XX.XX"]'], + 'description' => '', ], ], + 'description' => '', ], 'TrafficControl' => [ 'description' => '流控规则', 'type' => 'object', 'properties' => [ - 'Routes' => [ - 'description' => '路由转发策略', - 'type' => 'string', - 'example' => '[{"app":"9c8247da-91b6-42bb-8f99-92a0b9c6f****","type":"GROUP"}]', - ], - 'Rules' => [ - 'description' => '流量的路由规则', - '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' => '流量规则的提示说明文案', - 'type' => 'string', - 'example' => '灰度批次发布完毕,已确认继续下一批。', - ], + 'Routes' => ['description' => '路由转发策略', 'type' => 'string', 'example' => '[{"app":"9c8247da-91b6-42bb-8f99-92a0b9c6f****","type":"GROUP"}]'], + 'Rules' => ['description' => '流量的路由规则', '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' => '流量规则的提示说明文案', 'type' => 'string', 'example' => 'Canary batch release completed. Confirmed to proceed to the next batch.'], ], ], ], ], ], + 'description' => '', ], ], ], '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' => '[{"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\\": \\"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}","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":""}]', 'title' => '查看变更流程详情', 'summary' => '调用GetChangeOrderInfo接口查看变更流程详情。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetSecureToken' => [ - 'summary' => '调用GetSecureToken获取指定命名空间的SecureToken信息,主要是用来获取指定命名空间的AccessKey ID、AccessKey Secret 、TenantId、地址服务器域名等信息。', - 'path' => '/pop/v5/secure_token', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeOrderInfo'], + ], ], - '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}'], + ], + ], + ], ], + ], + 'GetCluster' => [ + 'path' => '/pop/v5/resource/cluster', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7474,20 +4920,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID,例如:`cn-beijing`或者`cn-beijing:prod`。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen:x*****', - ], + 'schema' => ['description' => '集群ID。可以通过调用ListCluster获取集群ID,具体操作,请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5439271a-015b-433d-****-d76db49****'], ], ], 'responses' => [ @@ -7495,516 +4933,182 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求返回的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '接口请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', - ], - 'SecureToken' => [ - 'description' => '接口请求返回的接口SecureToken对象。', + 'Code' => ['description' => 'code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '详细信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'd76db491'], + 'Cluster' => [ + 'description' => '集群信息。', 'type' => 'object', 'properties' => [ - 'SecretKey' => [ - 'description' => '该命名空间的AccessKey Secret(SK)。', - 'type' => 'string', - 'example' => 'gOSgbgR2R*************', - ], - 'AccessKey' => [ - 'description' => '该命名空间的AccessKey(AK)。', - 'type' => 'string', - 'example' => 'f676f1**************', - ], - 'BelongRegion' => [ - 'description' => '所属的RegionID。', - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'Description' => [ - 'description' => '该命名空间的描述信息。', - 'type' => 'string', - 'example' => '”“', - ], - 'RegionName' => [ - 'description' => '该命名空间所在地域的RegionName。', - 'type' => 'string', - 'example' => 'x******', - ], - 'EdasId' => [ - 'description' => '用户的EdasId,即阿里云UID。', - 'type' => 'string', - 'example' => '11727458********', - ], - 'AddressServerHost' => [ - 'description' => '该命名空间对应的地址服务器地址。', - 'type' => 'string', - 'example' => 'addr-****-****.edas.aliyun.com', - ], - 'UserId' => [ - 'description' => '用户的UID。', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'Id' => [ - 'description' => 'SecureToken的ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7279', - ], - 'TenantId' => [ - 'description' => '该命名空间的租户ID(Tenant ID)。', - 'type' => 'string', - 'example' => '401b7bc8-9441-4693-****-************', - ], - 'RegionId' => [ - 'description' => '该命名空间所在地域的RegionID。', - 'type' => 'string', - 'example' => 'cn-shenzhen:x*******', - ], - 'MseRegistryType' => [ - 'description' => 'MSE注册中心类型:'."\n" - ."\n" - .'* default:EDAS共享注册中心。'."\n" - .'* exclusive_mse:MSE Nacos注册中心。'."\n", - 'type' => 'string', - 'example' => 'exclusive_mse', - ], - 'MseInstanceId' => [ - 'description' => 'MSE注册中心实例ID。', - 'type' => 'string', - 'example' => 'mse_prepaid_public_cn-tl32p******', - ], - 'MseInternetAddress' => [ - 'description' => 'MSE注册中心公网地址。', - 'type' => 'string', - 'example' => 'mse-aa2******-p.nacos-ans.mse.aliyuncs.com', - ], - 'MseIntranetAddress' => [ - 'description' => 'MSE注册中心私网地址。', + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-xxxxz1mlwpb****'], + 'OversoldFactor' => ['description' => 'Docker集群CPU超卖:'."\n" + .'- 1:1:1比例,不超卖。'."\n" + .'- 2:1:2比例超卖'."\n" + .'- 4:1:4比例超卖'."\n" + .'- 8:1:8比例超卖', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'UpdateTime' => ['description' => '最后变更时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1570708232145'], + 'MemUsed' => ['description' => '已使用内存量,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'IaasProvider' => ['description' => 'IaaS资源提供者。', 'type' => 'string', 'example' => 'ALIYUN'], + 'CreateTime' => ['description' => '集群创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1570708232145'], + 'CpuUsed' => ['description' => '已使用CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Mem' => ['description' => '内存总量,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '2048'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'CsClusterId' => ['description' => '容器服务集群ID。', 'type' => 'string', 'example' => 'c2ce62869f4d4466b920312315f05****'], + 'NetworkMode' => ['description' => '网络类型:'."\n" + .'- 1:经典网络。'."\n" + .'- 2:VPC。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Description' => ['description' => '描述。', 'type' => 'string', 'example' => 'Test'], + 'ClusterType' => ['description' => '集群类型。'."\n" + .'- 0:普通Docker集群'."\n" + .'- 1:Swarm集群'."\n" + .'- 2:ECS集群'."\n" + .'- 3:EDAS自建K8s集群'."\n" + .'- 4:Pandora自动注册应用集群类型'."\n" + .'- 5:容器服务K8s集群', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'ClusterTest'], + 'NodeNum' => ['description' => 'ECS数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ClusterImportStatus' => ['description' => '导入集群状态。'."\n" + .'- 1:导入成功'."\n" + .'- 2:导入失败'."\n" + .'- 3:正在导入'."\n" + .'- 4:集群已删除'."\n" + .'- 0:未导入', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '5439271a-015b-433d-befb-d76d****'], + 'SubClusterType' => [ + 'title' => 'K8S类型集群的子类型:ManagedKubernetes为阿里云ACK集群类型,'."\n" + .'Ask为阿里云ASK集群类型,'."\n" + .'ExternalKubernetes为外部集群类型', + 'description' => 'K8s类型集群的子类型:ManagedKubernetes为阿里云ACK集群类型,'."\n" + .'Ask为阿里云ASK集群类型,'."\n" + .'ExternalKubernetes为外部集群类型。', 'type' => 'string', - 'example' => 'mse-72******-nacos-ans.mse.aliyuncs.com', + 'example' => 'ManagedKubernetes', + 'enum' => ['ManagedKubernetes', 'Ask'], ], ], ], ], + 'description' => '', ], ], ], - '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' => '获取命名空间SecureToken信息', + '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\\": \\"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}","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' => '获取集群信息', + 'summary' => '获取指定集群的信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryEccInfo' => [ - 'path' => '/pop/v5/ecc', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-06-16T02:13:15.000Z', 'description' => '响应参数发生变更、错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCluster'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'EccId', - 'in' => 'query', - 'schema' => [ - 'description' => 'ECC ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b197-40ab-9155-****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'EccInfo' => [ - 'description' => 'ECC信息', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID', - 'type' => 'string', - 'example' => 'vpc-23727****', - ], - 'EccId' => [ - 'description' => 'ECC ID', - 'type' => 'string', - 'example' => 'a5b9****-40b4-4d7b-9c2a-55d6c1c0****', - ], - 'EcuId' => [ - 'description' => 'ECU ID', - 'type' => 'string', - 'example' => '0d4e****-6d87-401f-ba81-13df9877****', - ], - 'GroupId' => [ - 'description' => '分组ID', - 'type' => 'string', - 'example' => '57cd****-2d3b-496f-bcce-646d0a4d****', - ], - 'GroupName' => [ - 'description' => '分组名', - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'PackageMd5' => [ - 'description' => '包版本的MD5码', - 'type' => 'string', - 'example' => 'bab6****7a090e41ca9445c9b3cd****', - ], - 'AppId' => [ - 'description' => '应用ID', - 'type' => 'string', - 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****', - ], - 'PackageVersion' => [ - 'description' => '包版本', - 'type' => 'string', - 'example' => '20210209.153400', - ], - ], - ], + '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' => '[{"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' => '查询ECC信息', - 'summary' => '适用于容器服务K8s集群。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'GetScalingRules' => [ - 'path' => '/pop/v5/app/scalingRules', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '33e39be9-3e5f-*********', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-**************'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '部署分组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'd8bb9d60-9**************', - ], - ], - [ - 'name' => 'Mode', - 'in' => 'query', - 'schema' => [ - 'description' => '可不传或指定规则类型:'."\n" - .'- SCALE\\_IN表示缩容。'."\n" - .'- SCALE\\_OUT表示扩容。', - 'type' => 'string', - 'required' => false, - 'example' => ' SCALE_IN', - 'enum' => [ - 'SCALE_IN', - 'SCALE_OUT', - ], - ], + 'schema' => ['description' => '分组ID。'."\n" + .'- 如果ID不为空,则获取应用分组的Tomcat配置。'."\n" + .'- 如果ID为“”,则获取应用的Tomcat配置。', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-**************'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-***********', - ], - 'Data' => [ - 'description' => '数据详情。', + 'Code' => ['description' => '接口请求返回的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => ' 请求ID。', 'type' => 'string', 'example' => '34F8-FDG9-*****************'], + 'ContainerConfiguration' => [ + 'description' => 'Tomcat配置。', 'type' => 'object', 'properties' => [ - 'OversoldFactor' => [ - 'description' => 'Docker集群支持超卖比例:'."\n" - .'- 1:1:1比例,不超卖。'."\n" - .'- 2:1:2比例超卖。'."\n" - .'- 4:1:4比例超卖。'."\n" - .'- 8:1:8比例超卖。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'VpcId' => [ - 'description' => 'VPC ID。', - 'type' => 'string', - 'example' => 'vpc-wz9b246z******', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'ClusterType' => [ - 'description' => '集群类型:'."\n" - ."\n" - .'- 0:普通Docker集群。'."\n" - .'- 1:Swarm集群(已废弃)。'."\n" - .'- 2:ECS集群。'."\n" - .'- 3:EDAS自建K8s集群。'."\n" - .'- 4:Pandora自动注册应用集群类型。'."\n" - .'- 5:容器服务K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RuleList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => '规则列表。', - 'type' => 'array', - 'items' => [ - 'description' => '规则对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC ID。', - 'type' => 'string', - 'example' => 'vpc-wz9b246z******', - ], - 'UpdateTime' => [ - 'description' => '修改时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601801', - ], - 'Rt' => [ - 'description' => '触发指标:服务时延,单位为ms。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SpecId' => [ - 'description' => 'Spec ID。', - 'type' => 'string', - 'example' => '03f493c0-xxxx-xxxx-xxxx-12e85cadeb41', - ], - 'MultiAzPolicy' => [ - 'description' => '多可用区扩缩容策略:'."\n" - .'- PRIORITY:优先级策略。'."\n" - .'- BALANCE:均衡分布策略。', - 'type' => 'string', - 'example' => 'PRIORITY', - ], - 'ResourceFrom' => [ - 'description' => '实例来源:'."\n" - .'- NEW:弹性资源。'."\n" - .'- AVAILABLE:已有资源。'."\n" - .'- AVAILABLE_FIRST:已有资源优先。', - 'type' => 'string', - 'example' => 'AVAILABLE', - ], - 'Mode' => [ - 'description' => '规则类型:'."\n" - .'- SCALE_IN:缩容。'."\n" - .'- SCALE_OUT:扩容。', - 'type' => 'string', - 'example' => 'SCALE_OUT', - ], - 'LoadNum' => [ - 'description' => '触发指标:系统负载,即指当前正在被CPU执行和等待被CPU执行的进程数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TemplateVersion' => [ - 'description' => '启动模版的版本号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1143542', - ], - 'Step' => [ - 'description' => '每次扩容或缩容的实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Cond' => [ - 'description' => '触发条件:'."\n" - .'- OR:满足任一条件即触发。'."\n" - .'- AND:满足所有条件才触发。', - 'type' => 'string', - 'example' => 'OR', - ], - 'Cpu' => [ - 'description' => '触发指标CPU使用率。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'GroupId' => [ - 'description' => '应用实例分组ID。', - 'type' => 'string', - 'example' => 'd8bb9d60-91b5-4cdf-****-************', - ], - 'InstNum' => [ - 'description' => '扩容时表示分组内的最大实例数,缩容时表示分组内最小实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '33e39be9-3e5f-*********', - ], - 'Duration' => [ - 'description' => '持续时间的时间戳。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1574251601', - ], - 'VSwitchIds' => [ - 'description' => 'vSwitch ID列表。如果设置了多个,以半角逗号(,)分割。', - 'type' => 'string', - 'example' => 'vsw-mxxxxkxxxx4xxxxwbionj', - ], - 'MetricType' => [ - 'description' => 'Metric类型。', - 'type' => 'string', - 'example' => 'HSF', - ], - 'TemplateId' => [ - 'description' => '启动模版ID。', - 'type' => 'string', - 'example' => 'lt-bp1xxxxn73pxxxxf83l', - ], - 'Enable' => [ - 'description' => '是否启用弹性扩容或缩容:'."\n" - ."\n" - .'- true:启用。'."\n" - .'- false:不启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'HttpPort' => ['description' => '应用端口。返回设置的值和应用配置。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'ContextPath' => ['description' => 'Tomcat的Context Path。', 'type' => 'string', 'example' => '/'], + 'UseBodyEncoding' => ['description' => 'useBodyEncodingForURI是否启用,返回设置的值。'."\n" + .'- 如果应用分组未设置,则返回应用的配置。'."\n" + .'- 如果应用未设置,则返回默认值。', 'type' => 'boolean', 'example' => 'true'], + 'MaxThreads' => ['description' => '最大线程数,返回设置的值。'."\n" + .'- 如果应用分组未设置,则返回应用的配置。'."\n" + .'- 如果应用未设置,则返回默认值。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '400'], + 'URIEncoding' => ['description' => 'URI编码方式,包含ISO-8859-1、GBK、GB2312和UTF-8,返回设置的值。'."\n" + .'- 如果应用分组未设置,则返回应用的配置。'."\n" + .'- 如果应用未设置,则返回默认值。', 'type' => 'string', 'example' => 'ISO-8859-1'], ], ], ], + 'description' => '', ], ], ], - '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' => '获取扩缩容规则', - 'summary' => '调用GetScalingRules接口获取扩缩容规则。', + 'title' => '获取应用或分组的 Tomcat 设置', + 'summary' => '调用GetContainerConfiguration接口获取应用或应用分组的Tomcat配置。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUserDefineRegion' => [ - 'path' => '/pop/v5/user_region_defs', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'GetJavaStartUpConfig' => [ + 'path' => '/pop/v5/oam/java_start_up_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8012,161 +5116,90 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DebugEnable', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '是否允许远程调试。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5fdf50e8-*'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'UserDefineRegionList' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], + 'JavaStartUpConfig' => [ + 'description' => 'Java启动参数配置。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'UserDefineRegionEntity' => [ - 'description' => '命名空间列表。', - 'type' => 'array', - 'items' => [ - 'description' => '命名空间对象。', - 'type' => 'object', - 'properties' => [ - 'BelongRegion' => [ - 'description' => '隶属的物理地域ID。', - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'RegionName' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'example' => 'betaappManager', - ], - 'Description' => [ - 'description' => '命名空间描述信息。', - 'type' => 'string', - 'example' => 'betaappManager', - ], - 'DebugEnable' => [ - 'description' => '是否允许远程调试。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => '用户主账号ID。', - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'Id' => [ - 'description' => '唯一标识。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1330', - ], - 'RegionId' => [ - 'description' => '命名空间ID。'."\n" - ."\n" - .'> 创建后不可变,格式为`物理地域ID:逻辑地域标识符`。', - 'type' => 'string', - 'example' => 'cn-shenzhen:betaappManager', - ], - 'MseInstanceId' => [ - 'description' => '注册中心类型:'."\n" - ."\n" - .'* default:EDAS共享注册中心。'."\n" - .'* exclusive_mse:MSE Nacos注册中心。', - 'type' => 'string', - 'example' => 'default:EDAS', - ], - 'RegistryType' => [ - 'description' => 'MSE注册中心实例ID。', - 'type' => 'string', - 'example' => 'mse_prepaid_public_cn-tl32n******', - ], - ], - ], - ], + 'StartUpArgs' => ['description' => '生效的启动参数配置。', 'type' => 'string', 'example' => '-Xms512m'], + 'OriginalConfigs' => ['description' => '显示的启动参数配置。', 'type' => 'string', 'example' => '-Xms512m'], ], ], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '获取用户自定义命名空间列表', - 'summary' => '获取用户自定义命名空间列表。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误。请重试该操作,若再出现该错误请提交工单。'], + ], + ], + 'title' => '获取应用的Java启动参数配置', + 'summary' => '调用GetJavaStartUpConfig接口获取应用的Java启动参数配置。', '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-**************', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4***************'], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '分组ID。'."\n" - .'- 如果ID不为空,则获取应用分组的Tomcat配置。'."\n" - .'- 如果ID为“”,则获取应用的Tomcat配置。', - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-**************', - ], + 'schema' => ['description' => '应用分组ID。'."\n" + .'- 如果ID不为空,则获取应用分组的JVM。'."\n" + .'- 如果ID为“”,则获取应用的JVM。', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-48**************'], ], ], 'responses' => [ @@ -8174,81 +5207,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求返回的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => ' 请求ID。', - 'type' => 'string', - 'example' => '34F8-FDG9-*****************', - ], - 'ContainerConfiguration' => [ - 'description' => 'Tomcat配置。', + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '3F43-F34V-0VCD***********'], + 'JvmConfiguration' => [ + 'description' => '应用或应用分组的JVM配置。', 'type' => 'object', 'properties' => [ - 'HttpPort' => [ - 'description' => '应用端口。返回设置的值和应用配置。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextPath' => [ - 'description' => 'Tomcat的Context Path。', - 'type' => 'string', - 'example' => '/', - ], - 'UseBodyEncoding' => [ - 'description' => 'useBodyEncodingForURI是否启用,返回设置的值。'."\n" - .'- 如果应用分组未设置,则返回应用的配置。'."\n" - .'- 如果应用未设置,则返回默认值。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MaxThreads' => [ - 'description' => '最大线程数,返回设置的值。'."\n" - .'- 如果应用分组未设置,则返回应用的配置。'."\n" - .'- 如果应用未设置,则返回默认值。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'URIEncoding' => [ - 'description' => 'URI编码方式,包含ISO-8859-1、GBK、GB2312和UTF-8,返回设置的值。'."\n" - .'- 如果应用分组未设置,则返回应用的配置。'."\n" - .'- 如果应用未设置,则返回默认值。', - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], + 'MaxPermSize' => ['description' => '持久代内存大小,单位为M。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'MaxHeapSize' => ['description' => '最大堆内存大小,单位为M。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'Options' => ['description' => '自定义参数。', 'type' => 'string', 'example' => '-XX:+UseConcMarkSweepGC -XX:-UseParNewGC'], + 'MinHeapSize' => ['description' => '初始化堆内存大小,单位为M。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], ], ], ], + 'description' => '', ], ], ], - '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' => '获取应用或分组的 Tomcat 设置', - 'summary' => '调用GetContainerConfiguration接口获取应用或应用分组的Tomcat配置。', + 'errorCodes' => [], + 'title' => '获取应用或分组的 JVM 设置', + 'summary' => '调用GetJvmConfiguration接口获取应用或应用分组的JVM设置。', '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' => '[{"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":""}]', + ], + 'GetK8sAppPrecheckResult' => [ + 'summary' => '调用GetK8sAppPrecheckResult接口获取K8s应用预检结果。', + 'path' => '/pop/v5/k8s/app_precheck', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8256,247 +5264,60 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '以集群维度筛选应用列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'EDAS集群ID。', 'type' => 'string', 'required' => true, 'example' => 'c37aec2a-bcca-4ec1-****-************'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '以微服务空间维度匹配筛选应用列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => true, 'example' => 'default'], ], [ 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => '以appName维度筛选应用列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'testapp', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '以资源组维度筛选应用列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek24j4s4b*****', - ], - ], - [ - 'name' => 'LogicalRegionIdFilter', - 'in' => 'query', - 'schema' => [ - 'description' => '按精确匹配微服务空间的方式筛选应用。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID列表。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' "5657d271-****-4f03-9bb2-431f942886bb",'."\n" - .' "5657d271-****-4f03-9bb2-431f942bbddd"'."\n" - .']', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询,当前第几页,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询,每页显示的条数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '应用名称。', 'type' => 'string', 'required' => true, 'example' => 'testapp'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', + 'title' => 'Schema of Response', + 'description' => '应用变更预检响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'ApplicationList' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => [ + 'description' => '接口响应数据。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Application' => [ - 'description' => '应用列表。', + 'Status' => ['description' => '应用变更预检状态:'."\n" + .'- checking:检查中。'."\n" + .'- pass:通过检查。'."\n" + .'- failed:未通过检查。', 'type' => 'string', 'example' => 'checking'], + 'Reason' => ['description' => '应用变更预检未通过的原因说明。预检通过时该字段为空。', 'type' => 'string', 'example' => 'K8s cluster disconnected.'], + 'JobResults' => [ + 'description' => '应用变更预检结果。', 'type' => 'array', 'items' => [ - 'description' => '应用列表对象。', + 'description' => '应用变更预检结果对象。', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '00ee517d-dd7d-4d4e-****-************', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing:docTes', - ], - 'Name' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'doc-test-consumer', - ], - 'Instances' => [ - 'description' => '应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Port' => [ - 'description' => '应用的服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'State' => [ - 'description' => '应用状态:'."\n" - .'* RUNNING:运行中。'."\n" - .'* STOPPED:已停止。'."\n" - .'* DEPLOYING:正在部署。'."\n" - .'* DELETING:正在删除。', - 'type' => 'string', - 'example' => 'RUNNING', - ], - 'CreateTime' => [ - 'description' => '应用创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1664208000000', - ], - 'SlbIp' => [ - 'description' => '私网SLB IP地址。', - 'type' => 'string', - 'example' => '192.168.0.***', - ], - 'SlbPort' => [ - 'description' => '私网SLB端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'SlbListenerPort' => [ - 'description' => '私网SLB监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8088', - ], - 'ExtSlbListenerPort' => [ - 'description' => '公网SLB监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'BuildPackageId' => [ - 'description' => '容器版本ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '58', - ], - 'ExtSlbIp' => [ - 'description' => '公网SLB IP地址。', - 'type' => 'string', - 'example' => '100.100.70.***', - ], - 'ApplicationType' => [ - 'description' => '应用部署类型:'."\n" - .'- War代表WAR包部署。'."\n" - .'- FatJar代表JAR包部署。'."\n" - .'- Image代表镜像部署。'."\n" - .'- 为空代表未部署。', - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ClusterType' => [ - 'description' => '应用集群环境类型:'."\n" - .'- **2**:ECS集群。'."\n" - .'- **3**:EDAS自带K8s集群。'."\n" - .'- **5**:容器服务K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RunningInstanceCount' => [ - 'description' => '正在运行的应用实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aek24j4s4b*****', - ], - 'K8sNamespace' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'NamespaceId' => [ - 'description' => '微服务命名空间ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], + 'Name' => ['description' => '预检任务项名称。', 'type' => 'string', 'example' => 'Cluster Health Check'], + 'Pass' => ['description' => '预检任务项是否通过预检:'."\n" + ."\n" + .'- true:通过预检。'."\n" + .'- false:未通过预检。', 'type' => 'boolean', 'example' => 'true'], + 'Interrupted' => ['description' => '预检任务项是否被中断:'."\n" + ."\n" + .'- true:任务被中断。'."\n" + .'- false:任务未被中断。', 'type' => 'boolean', 'example' => 'false'], + 'Reason' => ['description' => '应用变更预检项未通过或被中断的原因说明。预检通过时该字段为空。', 'type' => 'string', 'example' => 'K8s集群失联。'], ], ], ], @@ -8506,23 +5327,39 @@ ], ], ], - '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' => '获取应用列表', - 'summary' => '获取应用列表。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListDeployGroup' => [ - 'summary' => '调用ListDeployGroup接口获取部署分组列表。', - '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' => '无权限操作'], + ], + ], + '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' => '获取K8s应用预检结果', + 'changeSet' => [ + ['createdAt' => '2022-07-04T06:12:43.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'GetK8sApplication' => [ + 'path' => '/pop/v5/changeorder/co_application', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8530,22 +5367,19 @@ ], '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' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-4f98-a286-781659d9****'], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => ['description' => '查询来源:'."\n" + .'- 为空表示普通查询。'."\n" + .'- deploy表示从部署页面进入查询。', 'type' => 'string', 'required' => false, 'example' => 'deploy'], ], ], 'responses' => [ @@ -8554,217 +5388,198 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3FDE-DS9R-*********************', - ], - 'DeployGroupList' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1053-08e4-47a5-b2ab-5c0323de7b5a'], + 'Applcation' => [ + 'description' => '应用信息。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'DeployGroup' => [ - 'description' => '部署分组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '部署分组对象。', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => '部署分组关联的私网SLB的虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'Status' => [ - 'description' => '分组状态:'."\n" - .'- 0:准备。'."\n" - .'- 1:执行中。'."\n" - .'- 2:执行成功。'."\n" - .'- 3:执行失败 。'."\n" - .'- 6:终止 。'."\n" - .'- 10:系统异常执行失败。', - 'type' => 'string', - 'example' => '2', - ], - 'CpuRequest' => [ - 'description' => '应用运行过程中,应用实例需要申请的CPU配额,单位:核数,设置为0表示不限制。', - 'type' => 'string', - 'example' => '1', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'MemoryRequest' => [ - 'description' => '应用运行过程中,应用实例的内存配额。单位:MB,设置为0表示不限制。', - 'type' => 'string', - 'example' => '512', - ], - 'NameSpace' => [ - 'description' => '命名空间。', - 'type' => 'string', - 'example' => 'ping****est', - ], - 'AppVersionId' => [ - 'description' => '分组部署记录ID。', - 'type' => 'string', - 'example' => 'changeorder_a**_*******_**', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'DeploymentName' => [ - 'description' => '部署名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'PreStop' => [ - 'description' => '停止前脚本。', - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'PackageUrl' => [ - 'description' => '部署包地址。', - 'type' => 'string', - 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', - ], - 'PackageVersion' => [ - 'description' => '部署包版本。', - 'type' => 'string', - 'example' => 'E', - ], - 'BaseComponentMetaName' => [ - 'description' => '基础组件名称。', - 'type' => 'string', - 'example' => 'k8s-sc-consumer-****', - ], - 'CsClusterId' => [ - 'description' => '容器集群ID。', - 'type' => 'string', - 'example' => 'c66e65950db****cba92f17434df1****', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'LastUpdateTime' => [ - 'description' => '最近更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1587888503825', - ], - 'Env' => [ - 'description' => '容器服务集群ID。', - 'type' => 'string', - 'example' => '497806cb-****-6a7', - ], - 'CpuLimit' => [ - 'description' => '应用运行过程中,应用实例的CPU限制,单位:核数。', - 'type' => 'string', - 'example' => '400', - ], - 'GroupType' => [ - 'description' => '分组类型:'."\n" - .'- 0:默认分组。'."\n" - .'- 1:流量管理没有启用灰度。'."\n" - .'- 2:流量管理启用灰度。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - 'PostStart' => [ - 'description' => '启动后脚本。', - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'Labels' => [ - 'description' => '标签。', - 'type' => 'string', - 'example' => 'test', - ], - 'MemoryLimit' => [ - 'description' => '应用运行过程中,应用实例的内存限制。单位:MB,设置为0表示不限制。', - 'type' => 'string', - 'example' => '0', - ], - 'Strategy' => [ - 'description' => '限流策略(保留字段)。', - 'type' => 'string', - 'example' => 'RollingUpdate', - ], - 'Selector' => [ - 'description' => 'EDAS容器服务K8s集群中部署的应用的ID。', - 'type' => 'string', - 'example' => '53dd85cc-25b4-4d0e-****-6bf5465****4', - ], - 'GroupId' => [ - 'description' => '分组ID。', - 'type' => 'string', - 'example' => '577f4c50-16ee-43d8-****-************', - ], - 'GroupName' => [ - 'description' => '分组名称。', - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'doc-test', - ], - 'PackageVersionId' => [ - 'description' => '该分组部署的版本ID。', - 'type' => 'string', - 'example' => 'a7d48fe8-ad8f-****-89bd-74cc1ee6****', - ], - 'Reversion' => [ - 'description' => '应用版本,取值在0~7之间逐次递增。', - 'type' => 'string', - 'example' => '2', - ], - 'VExtServerGroupId' => [ - 'description' => '部署分组关联的公网SLB的虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'PackagePublicUrl' => [ - 'description' => '部署包对外下载地址。', - 'type' => 'string', - 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar', + 'AppId' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'example' => 'a5281053-****-47a5-b2ab-5c0323de****'], + 'DeployGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployGroup' => [ + 'description' => '部署分组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '部署分组对象。', + 'type' => 'object', + 'properties' => [ + 'Components' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Components' => [ + 'description' => '组件信息。', + 'type' => 'array', + 'items' => [ + 'description' => '组件对象。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '组件类型。', 'type' => 'string', 'example' => 'JDK'], + 'ComponentKey' => ['description' => '组件关键字。', 'type' => 'string', 'example' => 'Open JDK 8'], + 'ComponentId' => ['description' => '组件ID。', 'type' => 'string', 'example' => '5'], + ], + ], + ], + ], + ], + 'Env' => ['description' => '环境变量,相对于EnvList字段,本字段透出对ConfigMap/Secret引用的相关配置信息。', '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' => '环境变量来源。', 'type' => 'string', 'example' => '[{"configMapRef":{"name":"test-cm"}}]'], + ], ], - 'EphemeralStorageRequest' => [ - 'description' => '临时存储最小资源需求,单位:GB。值为0表示不限制。', - 'type' => 'string', - 'example' => '4', + ], + ], + ], + 'ImageInfo' => [ + 'description' => '镜像信息。', + 'type' => 'object', + 'properties' => [ + 'RepoId' => ['description' => '镜像仓库ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ImageUrl' => ['description' => '镜像URL。', 'type' => 'string', 'example' => 'registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282'], + 'RepoOriginType' => ['description' => '镜像仓库来源类型。', 'type' => 'string', 'example' => 'ALI_HUB'], + 'Tag' => ['description' => '镜像Tag。', 'type' => 'string', 'example' => '5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282'], + 'RepoName' => ['description' => '镜像仓库名称。', 'type' => 'string', 'example' => '131****067006888_shared_repo'], + 'RepoNamespace' => ['description' => '镜像仓库命名空间。', 'type' => 'string', 'example' => 'edas-server****-user'], + 'RegionId' => ['description' => '镜像地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + ], + ], + 'App' => [ + 'description' => '应用基础信息。', + 'type' => 'object', + 'properties' => [ + 'RequestMem' => ['description' => '内存资源预留,单位MiB。', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'InstancesBeforeScaling' => ['description' => '上次伸缩前的应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'DeployType' => ['description' => '部署类型,可选值为:Image。', 'type' => 'string', 'example' => 'Image'], + 'ApplicationName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test'], + 'ApplicationType' => ['description' => '应用类型。', 'type' => 'string', 'example' => 'War'], + 'Instances' => ['description' => '应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'LimitMem' => ['description' => '内存资源限制,单位MiB。', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'Cmd' => ['description' => '启动命令。', 'type' => 'string', 'example' => 'ls'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'BuildpackId' => ['description' => '应用构建类型ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '57'], + 'TomcatVersion' => ['description' => 'Apache Tomcat版本。', 'type' => 'string', 'example' => '8.5.55'], + 'CsClusterId' => ['description' => '容器集群ID。', 'type' => 'string', 'example' => 'c383bc813c1974e****451b50c0c8****'], + 'RequestCpuM' => ['description' => 'CPU资源请求,单位为毫核,1000为1核CPU。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'AppId' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'example' => '00ee517d-dd7d-4d4e-****-****'], + 'K8sNamespace' => ['description' => 'K8s命名空间。', 'type' => 'string', 'example' => 'default'], + 'EdasContainerVersion' => ['description' => 'EDAS容器版本。', 'type' => 'string', 'example' => '3.60.0'], + 'LimitCpuM' => ['description' => 'CPU资源限制,单位为毫核,1000为1核CPU。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'c37aec2a-bcca-4ec1-****-****'], + 'EnvList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Env' => [ + 'description' => '环境变量列表。', + 'type' => 'array', + 'items' => [ + 'description' => '环境变量对象。', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => '环境变量名称。', 'type' => 'string', 'example' => 'CATALINA_OPTS'], + 'Value' => ['description' => '环境变量值。', 'type' => 'string', 'example' => '-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)'], + ], + ], + ], ], - 'EphemeralStorageLimit' => [ - 'description' => '临时存储资源需求上限,单位:GB。值为0表示不限制。', - 'type' => 'string', - 'example' => '8', + ], + 'CmdArgs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CmdArg' => [ + 'description' => '命令列表。', + 'type' => 'array', + 'items' => ['description' => '命令参数。', 'type' => 'string', 'example' => '-lh'], + ], ], ], + 'DevelopType' => ['description' => '应用类型:'."\n" + .'* General: 原生Java应用。'."\n" + .'* Pandora: Pandora应用。'."\n" + .'* Multilingual: 多语言应用。', 'type' => 'string', 'example' => 'General'], + 'SlbInfo' => ['description' => 'SLB配置信息。', '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' => '应用Pod注解。', 'type' => 'string', 'example' => '{"test-annokey":"test-annovalue"}'], + 'Labels' => ['description' => '应用Pod标签。', 'type' => 'string', 'example' => '{"test-labelkey":"test-labelvalue"}'], + 'LimitEphemeralStorage' => ['description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", 'type' => 'string', 'example' => '4'], + 'RequestEphemeralStorage' => ['description' => '临时存储资源需求预留,单位:GB。设置0表示不限制。', 'type' => 'string', 'example' => '2'], + 'EnableEmptyPushReject' => ['description' => '应用是否开启了推空保护。', 'type' => 'boolean', 'example' => 'true'], + 'EnableLosslessRule' => ['description' => '应用是否开启了无损上线。', 'type' => 'boolean', 'example' => 'true'], + 'LosslessRuleAligned' => ['description' => '应用是否启用了无损滚动发布模式配置通过就绪检查前完成服务注册。', 'type' => 'boolean', 'example' => 'true'], + 'LosslessRuleDelayTime' => ['description' => '应用配置的服务延迟注册时长,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '120'], + 'LosslessRuleFuncType' => ['description' => '应用设置的服务预热曲线。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'LosslessRuleRelated' => ['description' => '应用是否启用了无损滚动发布模式配置通过就绪检查前完成服务预热。', 'type' => 'boolean', 'example' => 'true'], + 'LosslessRuleWarmupTime' => ['description' => '应用设置的服务预热时长,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '120'], + 'FeatureAnnotations' => ['description' => '当前应用的高级配置标签,展示启用了哪些特性功能。可能的枚举值如下:'."\n" + .'- base.combination.edas: EDAS一体化管控方案。'."\n" + .'- base.combination.arms: 启用ARMS监控。'."\n" + .'- base.combination.mse: 启用MSE微服务之力。'."\n" + .'- base.combination.none: 仅启用生命周期管理。', 'type' => 'string', 'example' => 'base.combination.edas'], + 'WorkloadType' => ['description' => '创建应用时Workload的类型,目前支持Deployment和StatefulSet类型。留空时默认Deployment。', 'type' => 'string', 'example' => 'Deployment'], + 'SecurityContext' => ['description' => '应用 Pod 容器 SecurityContext属性。', 'type' => 'string', 'example' => '{\\"runAsUser\\":0,\\"runAsGroup\\":0}'], + ], + ], + 'Conf' => [ + 'description' => '配置信息。', + 'type' => 'object', + 'properties' => [ + 'PostStart' => ['description' => 'K8s容器启动后执行信息。', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'Readiness' => ['description' => 'K8s容器业务状态检查信息。', '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' => '应用是否已接入AHAS。', 'type' => 'boolean', 'example' => 'true'], + 'K8sCmdArgs' => ['description' => '启动命令参数。', 'type' => 'string', 'example' => '-lh'], + 'Liveness' => ['description' => 'K8s容器存活状态监测信息。', 'type' => 'string', 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + 'DeployAcrossNodes' => ['description' => '是否将应用实例分布到多节点:'."\n" + .'- `true`代表是。'."\n" + .'- 其他值代表否。', 'type' => 'string', 'example' => 'true'], + 'K8sCmd' => ['description' => '启动命令。', 'type' => 'string', 'example' => 'ls'], + 'PreStop' => ['description' => 'K8s容器停止前执行信息。', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'DeployAcrossZones' => ['description' => '是否将应用实例分布到多可用区:'."\n" + .'- `true`代表是。'."\n" + .'- 其他值代表否。', 'type' => 'string', 'example' => 'true'], + 'JarStartArgs' => ['description' => 'JAR启动参数,已废弃。', 'type' => 'string', 'example' => '-lh'], + 'K8sNasInfo' => ['description' => 'NAS存储信息。', 'type' => 'string', 'example' => '[{"nasPath":"/mnt/","mountPath":"/mnt/"}]'], + 'JarStartOptions' => ['description' => 'JAR启动选项,已废弃。', 'type' => 'string', 'example' => '-h'], + 'RuntimeClassName' => ['description' => '容器运行时类型,仅适用于使用安全沙箱容器的集群。', 'type' => 'string', 'example' => 'runc'], + 'K8sLocalvolumeInfo' => ['description' => '本地存储信息。', 'type' => 'string', 'example' => '[{"type":"","nodePath":"/mnt/","mountPath":"/mnt/"}]'], + 'K8sVolumeInfo' => ['description' => '存储信息。', 'type' => 'string', 'example' => '"{\\"hostPaths\\":\\"[]\\",\\"emptyDirs\\":\\"[]\\"}"'], + 'Affinity' => ['description' => 'Pod亲和性配置。', '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' => 'Pod调度容忍配置。', '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' => '使用自定义OpenJDK运行时,配置的基础镜像地址。', 'type' => 'string', 'example' => 'openjdk:8u302'], + ], + ], + 'LatestVersion' => [ + 'description' => '最新版本信息。', + 'type' => 'object', + 'properties' => [ + 'Url' => ['description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。', 'type' => 'string', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + 'WarUrl' => ['description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。', 'type' => 'string', 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], + 'PackageVersion' => ['description' => '部署包的版本号。', 'type' => 'string', 'example' => '20200720'], ], ], ], @@ -8773,21 +5588,44 @@ ], ], ], - '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":""}]', - 'title' => '获取部署分组列表', + 'title' => '获取K8s应用信息', + 'summary' => '获取容器服务K8s集群或Serverless K8s集群中部署的应用信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListHistoryDeployVersion' => [ - 'path' => '/pop/v5/app/deploy_history_version_list', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-11-13T02:32:23.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-03-27T07:13:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-01-09T08:02:32.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-10-19T15:35:49.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-07-28T08:42:34.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-30T08:24:26.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-01-27T03:48:58.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetK8sApplication'], + ], + ], + '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' => '[{"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":""}]', + ], + 'GetK8sCluster' => [ + 'path' => '/pop/v5/k8s_clusters', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8795,104 +5633,112 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionTag', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', - ], + 'schema' => ['description' => '地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => '分页查询时当前显示第几页,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '9999', 'minimum' => '0', 'example' => '1', 'isFileTransferUrl' => false, 'default' => '0'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '分页查询时每页显示几条,默认值为1000。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '10', 'isFileTransferUrl' => false, 'default' => '20'], + ], + [ + 'name' => 'ClusterType', + 'in' => 'query', + 'schema' => ['description' => 'K8s集群类型:'."\n" + ."\n" + .'- 5:容器服务K8s集群。'."\n" + .'- 7:自建K8s集群。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '99', 'minimum' => '0', 'example' => '5', 'default' => '5'], + ], + [ + 'name' => 'SubClusterType', + 'in' => 'query', + 'schema' => ['description' => '集群子类型:'."\n" + .'* Ask:Serverless K8s 集群。'."\n" + .'* ManagedKubernetes:容器服务 K8s 集群。', 'type' => 'string', 'required' => false, 'example' => 'Ask'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 ', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'PackageVersionList' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C3CE915C-0C83-4AA5-8D66-E8BEED62939E'], + 'ClusterPage' => [ + 'description' => '集群分页显示列表。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'PackageVersion' => [ - 'description' => '部署包版本列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '部署类型。'."\n" - .'- url:通过JAR或WAR包部署'."\n" - .'- image:通过镜像部署', - 'type' => 'string', - 'example' => 'url', - ], - 'PublicUrl' => [ - 'description' => '部署包的URL', - 'type' => 'string', - 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627440892', - ], - 'Description' => [ - 'description' => '历史版本的描述信息', - 'type' => 'string', - 'example' => 'deploy', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627440892', - ], - 'AppId' => [ - 'description' => '应用ID', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'WarUrl' => [ - 'description' => '部署包的URL', - 'type' => 'string', - 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar', - ], - 'Id' => [ - 'description' => '历史版本的唯一标识', - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'PackageVersion' => [ - 'description' => '发布版本(提供给回滚接口使用)', - 'type' => 'string', - 'example' => '1.0', + 'CurrentPage' => ['description' => '分页查询时当前显示第几页,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '分页查询时每页显示几条,默认值为1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalSize' => ['description' => '显示总页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ClusterList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cluster' => [ + 'description' => '集群列表。', + 'type' => 'array', + 'items' => [ + 'description' => '集群列表对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-**z1mlwpbjx3e9m**'], + 'VswitchId' => ['description' => '交换机ID。', 'type' => 'string', 'example' => 'vsw-bp1uf97****xjxgip****'], + 'SubNetCidr' => ['description' => '子网的网段。', 'type' => 'string', 'example' => '172.20.0.0/16'], + 'Mem' => ['description' => '内存总量,单位:MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '2048'], + 'RegionId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'test'], + 'CsClusterStatus' => ['description' => '容器集群运行状态:'."\n" + .'- initial:初始化中。'."\n" + .'- failed:创建失败。'."\n" + .'- running:运行中。'."\n" + .'- updating:更新中。'."\n" + .'- scaling:扩容中。'."\n" + .'- removing:移除节点中。'."\n" + .'- upgrading:升级中。'."\n" + .'- deleting:删除中。'."\n" + .'- delete_failed:删除失败。'."\n" + .'- deleted:已删除(该状态用户不可见)。', 'type' => 'string', 'example' => 'running'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'NetworkMode' => ['description' => '网络类型:'."\n" + .'- 1:经典网络。'."\n" + .'- 2:VPC。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'CsClusterId' => ['description' => '容器服务集群ID。', 'type' => 'string', 'example' => '2ce62869f4d4466b920312315f05****'], + 'Description' => ['description' => '集群描述。', 'type' => 'string', 'example' => 'test'], + 'ClusterType' => ['description' => '集群类型:'."\n" + .'- 2:ECS集群。'."\n" + .'- 5:容器服务K8s集群或Serverless K8s集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'test'], + 'NodeNum' => ['description' => '节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '81453e4b-4df0-4592-****-b835a2ee****'], + 'ClusterImportStatus' => ['title' => '', 'description' => '集群的导入状态:'."\n" + .'- 0:没有导入。'."\n" + .'- 1:导入成功。'."\n" + .'- 2:导入失败。'."\n" + .'- 3:正在导入。'."\n" + .'- 4:集群已删除。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SubClusterType' => ['description' => '集群子类型:'."\n" + .'* Ask:Serverless K8s 集群。'."\n" + .'* ManagedKubernetes:容器服务 K8s 集群。', 'type' => 'string', 'example' => 'Ask'], + 'ClusterStatus' => ['description' => '集群运行状态:'."\n" + .'- 1:正常。'."\n" + .'- 2:异常。'."\n" + .'- 3:离线。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], ], ], ], + 'description' => '', ], ], ], @@ -8900,23 +5746,41 @@ ], ], ], - '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' => '应用发布历史版本列表', - 'summary' => '调用ListHistoryDeployVersion接口,获取应用部署的历史版本列表。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'title' => '获取K8s集群列表', + 'summary' => '获取容器服务K8s集群或Serverless K8s集群列表。', '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' => '[{"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":""}]', + ], + 'GetK8sServices' => [ + 'path' => '/pop/v5/k8s/acs/k8s_service', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8924,160 +5788,44 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-****-************', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'ChangeOrderList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ChangeOrder' => [ - 'description' => '变更记录列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '变更流程状态。'."\n" - .'- 0:准备开始执行'."\n" - .'- 1:执行中'."\n" - .'- 2:执行成功'."\n" - .'- 3:执行失败'."\n" - .'- 6:执行终止'."\n" - .'- 8:等待手工确认(手工分批的时候能看到)'."\n" - .'- 9:等待自动执行'."\n" - .'- 10:由于系统错误而失败', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FinishTime' => [ - 'description' => '结束时间。', - 'type' => 'string', - 'example' => '2019-11-13 14:24:02', - ], - 'CreateTime' => [ - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2019-11-13 14:23:46', - ], - 'UserId' => [ - 'description' => '创建变更流程用户ID。', - 'type' => 'string', - 'example' => '1432536****', - ], - 'ChangeOrderDescription' => [ - 'description' => '变更流程描述信息。', - 'type' => 'string', - 'example' => '版本:2020-05-14 20:02:33 | 包名:hsf-pandora-boot-provider-1.0.jar | 部署目标:所有分组', - ], - 'Source' => [ - 'description' => '变更来源。'."\n" - .'- console:EDAS控制台'."\n" - .'- pop:POP API或工具', - 'type' => 'string', - 'example' => 'pop', - ], - 'BatchCount' => [ - 'description' => '分批次数。最少1批,最多5批。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateUserId' => [ - 'description' => '创建变更单的用户。', - 'type' => 'string', - 'example' => 'edas_test1@aliyun-test.com', - ], - 'CoTypeCode' => [ - 'description' => '变更流程类型:'."\n" - .'- CoCreateApp:创建应用。'."\n" - .'- CoStartApplication:启动应用。'."\n" - .'- CoStopApplication:停止应用。'."\n" - .'- CoRestartApplication:重启应用。'."\n" - .'- CoDeleteApp:删除应用。'."\n" - .'- CoStart:启动应用实例。'."\n" - .'- CoStop:停止应用实例。'."\n" - .'- CoRestart:重启实例。'."\n" - .'- CoDeploy:部署应用。'."\n" - .'- CoReset:重置应用实例。'."\n" - .'- CoRollback:回滚应用。'."\n" - .'- CoScaleIn:缩容应用实例。'."\n" - .'- CoScaleOut:扩容应用实例。'."\n" - .'- CoChangeGroup:更改应用实例分组。'."\n" - .'- CoUpdateContainer:更新应用部署包版本。'."\n" - .'- CoBindSlb:绑定SLB。'."\n" - .'- CoBindECSSlb:绑定ECS SLB。'."\n" - .'- CoUnbindECSSlb:解绑ECS SLB。'."\n" - .'- CoUnbindSlb:解绑SLB。'."\n" - .'- CoModifySlb:配置SLB。'."\n" - .'- CoModifyConfig:修改应用配置。'."\n" - .'- CoClusterScaleOut:集群扩容。'."\n" - .'- CoRescaleApplicationVertically:垂直扩缩容。', - 'type' => 'string', - 'example' => 'CoDeploy', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程唯一标识ID。', - 'type' => 'string', - 'example' => '1074f3e2-e974-4a0e-****-************', - ], - 'BatchType' => [ - 'description' => '分批发布时下一批变更的执行方式。'."\n" - ."\n" - .'- Automatic:自动'."\n" - .'- Manual:手动', - 'type' => 'string', - 'example' => 'Automatic', - ], - 'GroupId' => [ - 'description' => '变更的应用分组ID。', - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'CoType' => [ - 'description' => '变更流程类型。', - 'type' => 'string', - 'example' => 'Application Scale Out', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', + 'Code' => ['description' => '变更流程ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], + 'Services' => [ + 'description' => 'K8s服务Service列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'K8s服务Service对象。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '服务类型。', 'type' => 'string', 'example' => 'ClusterIP'], + 'Name' => ['description' => '服务名。', 'type' => 'string', 'example' => 'service-http'], + 'ClusterIP' => ['description' => 'K8s服务Service IP地址。', 'type' => 'string', 'example' => '104.23.xx.xx'], + 'ServicePorts' => [ + 'description' => '端口映射列表。', + 'type' => 'array', + 'items' => [ + 'description' => '端口映射对象。', + 'type' => 'object', + 'properties' => [ + 'TargetPort' => ['description' => '后端容器端口。', 'type' => 'string', 'example' => '8080'], + 'NodePort' => ['description' => '节点端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Port' => ['description' => '前端服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Protocol' => ['description' => '服务协议。', 'type' => 'string', 'example' => 'TCP'], ], ], ], @@ -9088,23 +5836,42 @@ ], ], ], - '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' => '列出应用历史变更单列表', - 'summary' => '调用ListRecentChangeOrder列出应用历史变更单列表。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'staticInfo' => [], + 'title' => '获取K8s服务Service列表', + 'summary' => '调用GetK8sServices接口获取K8s集群中应用的服务Service列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListBuildPack' => [ - 'summary' => '调用ListBuildPack接口获取容器版本列表。', - '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' => '[{"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":""}]', + ], + 'GetPackageStorageCredential' => [ + 'path' => '/pop/v5/package_storage_credential', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9112,333 +5879,179 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回对象', + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4FD4-*************', - ], - 'BuildPackList' => [ + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '请求返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'Credential' => [ + 'description' => '认证信息。', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'BuildPack' => [ - 'description' => '容器版本列表', - 'type' => 'array', - 'items' => [ - 'description' => '容器版本列表对象', - 'type' => 'object', - 'properties' => [ - 'PandoraVersion' => [ - 'description' => 'Pandora版本号', - 'type' => 'string', - 'example' => 'edas.public.sar.V3.5.6', - ], - 'ConfigId' => [ - 'description' => '容器版本ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '57', - ], - 'Feature' => [ - 'description' => '公测特性', - 'type' => 'string', - 'example' => '“”', - ], - 'PandoraDesc' => [ - 'description' => 'Pandora描述', - 'type' => 'string', - 'example' => 'test', - ], - 'PluginInfo' => [ - 'description' => '插件描述', - 'type' => 'string', - 'example' => '1', - ], - 'Disabled' => [ - 'description' => '是否被禁用,禁用的不能够设置使用。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TengineDownloadUrl' => [ - 'description' => 'Tengine安装程序的下载地址', - 'type' => 'string', - 'example' => 'http://edas.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh', - ], - 'TomcatPath' => [ - 'description' => 'Tomcat目录名称'."\n", - 'type' => 'string', - 'example' => 'taobao-tomcat-production-7.0.59.3', - ], - 'TomcatDesc' => [ - 'description' => 'Tomcat描述', - 'type' => 'string', - 'example' => '1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。', - ], - 'SupportFeatures' => [ - 'description' => '支持的特性', - 'type' => 'string', - 'example' => 'tengine,fatjar,restful,eip_nodeport,dpath', - ], - 'TomcatDownloadUrl' => [ - 'description' => 'Tomcat安装程序的下载地址', - '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' => 'Tomcat版本号', - 'type' => 'string', - 'example' => '8.5.63', - ], - 'PandoraDownloadUrl' => [ - 'description' => 'Pandora下载地址', - 'type' => 'string', - 'example' => 'http://edas.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz', - ], - 'PackVersion' => [ - 'description' => '应用版本号', - 'type' => 'string', - 'example' => '3.5.6', - ], - 'MultipleTenant' => [ - 'description' => '是否支持多租户', - 'type' => 'boolean', - 'example' => 'true', - ], - 'TengineImageId' => [ - 'description' => '容器对应的Tengine镜像ID', - 'type' => 'string', - 'example' => 'registry.aliyuncs.com/edas/****-*********-*****:*.*.*', - ], - 'WithTengine' => [ - 'description' => '是否支持流量管理', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ImageId' => [ - 'description' => '容器对应的基础镜像ID', - 'type' => 'string', - 'example' => 'registry.aliyuncs.com/ed**/****-*********:*.*.*', - ], - 'ScriptName' => [ - 'description' => 'Shell脚本名称', - 'type' => 'string', - 'example' => 'default', - ], - 'ScriptVersion' => [ - 'description' => 'Shell脚本版本', - 'type' => 'string', - 'example' => '1.0.3', - ], - ], - ], - ], + 'KeyPrefix' => ['description' => 'OSS的存储Key前缀。', 'type' => 'string', 'example' => 'release-pkg/117274586608****'], + 'SecurityToken' => ['description' => 'STS安全令牌。', 'type' => 'string', 'example' => '<yourSecurityToken>'], + 'AccessKeySecret' => ['description' => '用户的AccessKey Secret。', 'type' => 'string', 'example' => '<yourAccessKeySecret>'], + 'Expiration' => ['description' => '超期时间信息,如:2019-11-10T07:20:19Z。', 'type' => 'string', 'example' => '2019-11-10T07:20:19Z'], + 'AccessKeyId' => ['description' => '用户的AccessKey ID。', 'type' => 'string', 'example' => '<yourAccessKeyId>'], + 'Bucket' => ['description' => 'OSS的Bucket。', 'type' => 'string', 'example' => 'edas-bj'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'OssPublicEndpoint' => ['description' => 'OSS的公网访问地址。', 'type' => 'string', 'example' => 'oss-cn-beijing.aliyuncs.com'], + 'OssInternalEndpoint' => ['description' => 'OSS的私网访问地址。', 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com'], + 'OssVpcEndpoint' => ['description' => 'OSS的VPC访问地址。', 'type' => 'string', 'example' => 'oss-cn-beijing-internal.aliyuncs.com'], ], ], ], ], ], ], - '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' => '获取容器版本列表', - 'requestParamsDescription' => ' 无请求参数。', + 'title' => '获取临时存储包所需的STS', + 'summary' => '获取临时存储包所需的STS。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertOrUpdateRegion' => [ - 'summary' => '调用InsertOrUpdateRegion接口创建或编辑自定义命名空间。', - 'path' => '/pop/v5/user_region_def', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-07-12T06:43:21.000Z', 'description' => '响应参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPackageStorageCredential'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:GetPackageStorageCredential', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '命名空间ID:'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'RegionName', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间名称,长度不超过63个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test_region', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间描述,长度不超过128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'Id', - 'in' => 'query', - 'schema' => [ - 'description' => '参数为空或ID为0时表示创建命名空间,其他情况表示编辑。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'DebugEnable', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '是否允许进行远程调试:'."\n" - .'- true:允许。'."\n" - .'- false:不允许。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '33e39be9-3e5f-*********'], ], [ - 'name' => 'RegistryType', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '注册中心类型:'."\n" - .'- default,EDAS共享注册中心'."\n" - .'- exclusive_mse,MSE Nacos注册中心', - 'description' => '注册中心类型:'."\n" - .'- default:EDAS共享注册中心。'."\n" - .'- exclusive_mse:MSE Nacos注册中心。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '部署分组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd8bb9d60-9**************'], ], [ - 'name' => 'MseInstanceId', + 'name' => 'Mode', 'in' => 'query', 'schema' => [ - 'title' => 'MSE注册中心实例ID', - 'description' => 'MSE注册中心实例ID。', + 'description' => '可不传或指定规则类型:'."\n" + .'- SCALE\\_IN表示缩容。'."\n" + .'- SCALE\\_OUT表示扩容。', 'type' => 'string', 'required' => false, - 'example' => 'mse_prepaid_public_cn-tl32n******', + 'example' => ' SCALE_IN', + 'enum' => ['SCALE_IN', 'SCALE_OUT'], ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => '37793352-C568-4A5A-BF69-4DC853******', - ], - 'UserDefineRegionEntity' => [ - 'description' => '用户自定义命名空间。', + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-***********'], + 'Data' => [ + 'description' => '数据详情。', 'type' => 'object', 'properties' => [ - 'BelongRegion' => [ - 'description' => '所属地域。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RegionName' => [ - 'description' => '命名空间名称。', - 'type' => 'string', - 'example' => 'test_region', - ], - 'Description' => [ - 'description' => '命名空间描述。', - 'type' => 'string', - 'example' => '逻辑Region', - ], - 'DebugEnable' => [ - 'description' => '是否允许进行远程调试:'."\n" - .'- true:允许。'."\n" - .'- false:不允许。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'UserId' => [ - 'description' => '用户主账号ID。', - 'type' => 'string', - 'example' => 'edas_****_test@aliyun-****.com', - ], - 'Id' => [ - 'description' => '参数为空或ID为0时表示创建命名空间,其他情况表示编辑。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15160', - ], - 'RegionId' => [ - 'description' => '命名空间ID:'."\n" - .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" - .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', - 'type' => 'string', - 'example' => 'cn-beijing:test', + 'OversoldFactor' => ['description' => 'Docker集群支持超卖比例:'."\n" + .'- 1:1:1比例,不超卖。'."\n" + .'- 2:1:2比例超卖。'."\n" + .'- 4:1:4比例超卖。'."\n" + .'- 8:1:8比例超卖。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-wz9b246z******'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'ClusterType' => ['description' => '集群类型:'."\n" + ."\n" + .'- 0:普通Docker集群。'."\n" + .'- 1:Swarm集群(已废弃)。'."\n" + .'- 2:ECS集群。'."\n" + .'- 3:EDAS自建K8s集群。'."\n" + .'- 4:Pandora自动注册应用集群类型。'."\n" + .'- 5:容器服务K8s集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'RuleList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '规则对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-wz9b246z******'], + 'UpdateTime' => ['description' => '修改时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601801'], + 'Rt' => ['description' => '触发指标:服务时延,单位为ms。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SpecId' => ['description' => 'Spec ID。', 'type' => 'string', 'example' => '03f493c0-xxxx-xxxx-xxxx-12e85cadeb41'], + 'MultiAzPolicy' => ['description' => '多可用区扩缩容策略:'."\n" + .'- PRIORITY:优先级策略。'."\n" + .'- BALANCE:均衡分布策略。', 'type' => 'string', 'example' => 'PRIORITY'], + 'ResourceFrom' => ['description' => '实例来源:'."\n" + .'- NEW:弹性资源。'."\n" + .'- AVAILABLE:已有资源。'."\n" + .'- AVAILABLE_FIRST:已有资源优先。', 'type' => 'string', 'example' => 'AVAILABLE'], + 'Mode' => ['description' => '规则类型:'."\n" + .'- SCALE_IN:缩容。'."\n" + .'- SCALE_OUT:扩容。', 'type' => 'string', 'example' => 'SCALE_OUT'], + 'LoadNum' => ['description' => '触发指标:系统负载,即指当前正在被CPU执行和等待被CPU执行的进程数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TemplateVersion' => ['description' => '启动模版的版本号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1143542'], + 'Step' => ['description' => '每次扩容或缩容的实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Cond' => ['description' => '触发条件:'."\n" + .'- OR:满足任一条件即触发。'."\n" + .'- AND:满足所有条件才触发。', 'type' => 'string', 'example' => 'OR'], + 'Cpu' => ['description' => '触发指标CPU使用率。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'GroupId' => ['description' => '应用实例分组ID。', 'type' => 'string', 'example' => 'd8bb9d60-91b5-4cdf-****-************'], + 'InstNum' => ['description' => '扩容时表示分组内的最大实例数,缩容时表示分组内最小实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '33e39be9-3e5f-*********'], + 'Duration' => ['description' => '持续时间的时间戳。', 'type' => 'integer', 'format' => 'int32', 'example' => '1574251601'], + 'VSwitchIds' => ['description' => 'vSwitch ID列表。如果设置了多个,以半角逗号(,)分割。', 'type' => 'string', 'example' => 'vsw-mxxxxkxxxx4xxxxwbionj'], + 'MetricType' => ['description' => 'Metric类型。', 'type' => 'string', 'example' => 'HSF'], + 'TemplateId' => ['description' => '启动模版ID。', 'type' => 'string', 'example' => 'lt-bp1xxxxn73pxxxxf83l'], + 'Enable' => ['description' => '是否启用弹性扩容或缩容:'."\n" + ."\n" + .'- true:启用。'."\n" + .'- false:不启用。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + ], + ], + 'description' => '', ], ], ], @@ -9446,61 +6059,53 @@ ], ], ], - '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' => '创建或编辑自定义命名空间', + 'title' => '获取扩缩容规则', + 'summary' => '调用GetScalingRules接口获取扩缩容规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SwitchAdvancedMonitoring' => [ - 'summary' => '调用SwitchAdvancedMonitoring接口查询ECS和K8s集群中应用高级监控开关状态及控制接口。', - 'path' => '/pop/v5/monitor/advancedMonitorInfo', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'GetSecureToken' => [ + 'summary' => '调用GetSecureToken获取指定命名空间的SecureToken信息,主要是用来获取指定命名空间的AccessKey ID、AccessKey Secret 、TenantId、地址服务器域名等信息。', + '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', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => '需要查询或者修改应用高级监控功能的应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '9e224bc6-a646-4484-****-e617b7e7****', - ], - ], - [ - 'name' => 'EnableAdvancedMonitoring', - 'in' => 'query', - 'schema' => [ - 'description' => '应用高级监控的开关,可选参数如下:'."\n" - ."\n" - .'- true:打开。'."\n" - .'- false:关闭。'."\n" - ."\n" - .'在查询应用高级监控状态时,此参数不必填写。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '命名空间ID,例如:`cn-beijing`或者`cn-beijing:prod`。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen:x*****'], ], ], 'responses' => [ @@ -9508,292 +6113,178 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '577AED12-32D8-40B6-991F-17D7A601****', - ], - 'AdvancedMonitoringEnabled' => [ - 'description' => '应用高级监控的开关状态:'."\n" - ."\n" - .'- true:打开。'."\n" - .'- false:关闭。', - 'type' => 'boolean', - 'example' => 'false', + 'Code' => ['description' => '接口请求返回的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '接口请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-*************'], + 'SecureToken' => [ + 'description' => '接口请求返回的接口SecureToken对象。', + 'type' => 'object', + 'properties' => [ + 'SecretKey' => ['description' => '该命名空间的AccessKey Secret(SK)。', 'type' => 'string', 'example' => 'gOSgbgR2R*************'], + 'AccessKey' => ['description' => '该命名空间的AccessKey(AK)。', 'type' => 'string', 'example' => 'f676f1**************'], + 'BelongRegion' => ['description' => '所属的RegionID。', 'type' => 'string', 'example' => 'cn-shenzhen'], + 'Description' => ['description' => '该命名空间的描述信息。', 'type' => 'string', 'example' => '”“'], + 'RegionName' => ['description' => '该命名空间所在地域的RegionName。', 'type' => 'string', 'example' => 'x******'], + 'EdasId' => ['description' => '用户的EdasId,即阿里云UID。', 'type' => 'string', 'example' => '11727458********'], + 'AddressServerHost' => ['description' => '该命名空间对应的地址服务器地址。', 'type' => 'string', 'example' => 'addr-****-****.edas.aliyun.com'], + 'UserId' => ['description' => '用户的UID。', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'Id' => ['description' => 'SecureToken的ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '7279'], + 'TenantId' => ['description' => '该命名空间的租户ID(Tenant ID)。', 'type' => 'string', 'example' => '401b7bc8-9441-4693-****-************'], + 'RegionId' => ['description' => '该命名空间所在地域的RegionID。', 'type' => 'string', 'example' => 'cn-shenzhen:x*******'], + 'MseRegistryType' => ['description' => 'MSE注册中心类型:'."\n" + ."\n" + .'* default:EDAS共享注册中心。'."\n" + .'* exclusive_mse:MSE Nacos注册中心。'."\n", 'type' => 'string', 'example' => 'exclusive_mse'], + 'MseInstanceId' => ['description' => 'MSE注册中心实例ID。', 'type' => 'string', 'example' => 'mse_prepaid_public_cn-tl32p******'], + 'MseInternetAddress' => ['description' => 'MSE注册中心公网地址。', 'type' => 'string', 'example' => 'mse-aa2******-p.nacos-ans.mse.aliyuncs.com'], + 'MseIntranetAddress' => ['description' => 'MSE注册中心私网地址。', 'type' => 'string', 'example' => 'mse-72******-nacos-ans.mse.aliyuncs.com'], + ], ], ], + 'description' => '', ], ], ], - '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' => '查询或启停高级监控', - 'description' => '使用SwitchAdvancedMonitoring接口需要保证EDAS POP API Java or Python SDK为3.15.2及以上版本。', + 'title' => '获取命名空间SecureToken信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ContinuePipeline' => [ - 'summary' => '调用ContinuePipeline接口手动确认执行下一批发布。', - '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' => '[{"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":""}]', + ], + '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' => '流程ID。可通过GetChangeOrderInfo接口获取1次变更的相关批次的流程ID,请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5648dbd7-df13********************', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Confirm', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => '是否执行下一批发布。'."\n" - .'- true:执行下一批发布。'."\n" - .'- false:不执行下一批发布。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '命名空间ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - ], - ], + [ + 'name' => 'origin', + 'in' => 'query', + 'schema' => ['description' => '数据来源,取值如下:'."\n" + ."\n" + .'- agent:新版服务查询需要传递。'."\n" + .'- registry:旧版服务查询传递。', 'type' => 'string', 'required' => false, 'example' => 'agent'], ], - ], - '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' => '执行下一批发布', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AbortChangeOrder' => [ - 'summary' => '调用AbortChangeOrder接口终止变更流程。', - 'path' => '/pop/v5/changeorder/change_order_abort', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'serviceType', + 'in' => 'query', + 'schema' => ['description' => '服务类型。', 'type' => 'string', 'required' => false, 'example' => 'dubbo'], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => false, 'example' => 'efbda488-7b33-432f-a40d-****0047****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'TraceId' => [ - 'description' => '调用链ID', - 'type' => 'string', - 'example' => '0b59000b15947****55688656d****', - ], - 'ErrorCode' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '变更流程', - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID', - 'type' => 'string', - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], - ], - ], - ], - ], + [ + 'name' => 'source', + 'in' => 'query', + 'schema' => ['description' => '来源,固定值:edas。', 'type' => 'string', 'required' => false, 'example' => 'edas'], ], - ], - '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' => '终止变更流程', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RollbackChangeOrder' => [ - 'summary' => '调用RollbackChangeOrder终止应用的变更流程,并回滚应用。该接口适用于ECS集群中的应用。', - 'path' => '/pop/v5/oam/changeorder/rollback', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'serviceId', + 'in' => 'query', + 'schema' => ['description' => '服务ID。已废弃,无需设置。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => '变更记录ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dc5133d7-773f-4c81-****-e2103dce****', - ], + 'schema' => ['description' => '服务名。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], + ], + [ + 'name' => 'serviceVersion', + 'in' => 'query', + 'schema' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => '1.0.0'], + ], + [ + 'name' => 'group', + 'in' => 'query', + 'schema' => ['description' => '分组。', 'type' => 'string', 'required' => false, 'example' => 'DUBBO'], + ], + [ + 'name' => 'ip', + 'in' => 'query', + 'schema' => ['description' => '服务提供者IP,支持模糊查询。', 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx'], + ], + [ + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => '注册类型。已废弃,无需设置。', 'type' => 'string', 'required' => false, 'example' => 'nacos'], + ], + [ + 'name' => 'page', + 'in' => 'query', + 'schema' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'size', + 'in' => 'query', + 'schema' => ['description' => '页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****', - ], - 'TraceId' => [ - 'description' => '调用链ID', - 'type' => 'string', - 'example' => '000000000000000000000000000000', - ], - 'ErrorCode' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => '接口请求的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ - 'description' => '变更单信息', + 'description' => '数据结构体。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更单ID', - 'type' => 'string', - 'example' => '4f40e616-cdcd-4250-a018-efd4599c****', + 'TotalPages' => ['description' => '总页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalElements' => ['description' => '总数据量。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'Size' => ['description' => '页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Content' => [ + 'description' => '组数据。', + 'type' => 'array', + 'items' => [ + 'description' => '组数据对象。', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => '服务消费者IP。', 'type' => 'string', 'example' => '10.20.x.xx'], + 'EdasAppName' => ['description' => '服务消费者名称。', 'type' => 'string', 'example' => 'k8s-lq-cartservice'], + 'EdassAppId' => ['description' => '服务消费者ID。', 'type' => 'string', 'example' => 'efbda488-7b33-432f-a40d-****0047****'], + ], + ], ], ], ], @@ -9802,376 +6293,108 @@ ], ], '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' => '回滚变更单', + 'title' => '查询微服务消费者列表', + 'summary' => '获取服务消费者列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateApplicationBaseInfo' => [ - 'summary' => '描述信息、Owner信息。', - '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' => '全部资源', '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d-43ff-****-************', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AppName', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => '应用名称必须以字母开头,允许数字、字母、下划线(_)以及短划线(-)组合,最多支持36个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'hello-edas', - ], + 'schema' => ['description' => '命名空间ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou:doc-test'], ], [ - 'name' => 'Desc', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => '描述信息,最多支持256个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '测试应用', - ], + 'schema' => ['description' => '数据来源,取值如下:'."\n" + .'- agent:新版服务查询需要传递。'."\n" + .'- registry:旧版服务查询传递。', 'type' => 'string', 'required' => false, 'example' => 'agent'], ], [ - 'name' => 'Owner', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => '应用负责人,最大长度为127个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test@aliyun_xxx.com', - ], + 'schema' => ['description' => '服务类型,取值如下:'."\n" + .'- dubbo'."\n" + .'- springCloud'."\n" + .'- hsf'."\n" + .'- istio', 'type' => 'string', 'required' => false, 'example' => 'springCloud'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', - ], - 'Applcation' => [ - 'description' => '应用列表。', - 'type' => 'object', - 'properties' => [ - 'ExtSlbIp' => [ - 'description' => '公网SLB实例的IP。', - 'type' => 'string', - 'example' => '39.97.XX.XX', - ], - 'Owner' => [ - 'description' => '应用负责人。', - 'type' => 'string', - 'example' => 'test@aliyun_XXX.com', - ], - 'SlbPort' => [ - 'description' => '私网SLB端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ExtSlbName' => [ - 'description' => '公网SLB名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1577259573911', - ], - 'UserId' => [ - 'description' => '云账号ID。', - 'type' => 'string', - 'example' => 'edas_com***@****.***', - ], - 'Port' => [ - 'description' => '应用所占用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => '正在运行的应用实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SlbIp' => [ - 'description' => '私网SLB IP。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Dockerize' => [ - 'description' => '是否为Docker应用。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Description' => [ - 'description' => '应用描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceCount' => [ - 'description' => '包含实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'c627c157-560d-43ff-****-************', - ], - 'Memory' => [ - 'description' => '配置的应用实例内存大小,单位为M。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'd7730a49-629a-47bd-****-f45eb01f****', - ], - 'SlbId' => [ - 'description' => '私网SLB实例的ID。', - 'type' => 'string', - 'example' => 'a3d4*******', - ], - 'HealthCheckUrl' => [ - 'description' => '健康检查URL。', - 'type' => 'string', - 'example' => 'http://127.0.XX.XX:8080/_etc.html', - ], - 'ApplicationType' => [ - 'description' => '应用部署类型:'."\n" - .'- War代表WAR包部署。'."\n" - .'- FatJar代表JAR包部署。'."\n" - .'- Image代表镜像部署。'."\n" - .'- 空代表未部署。', - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ExtSlbId' => [ - 'description' => '公网SLB实例的ID。', - 'type' => 'string', - 'example' => 'ace93*******', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing:****', - ], - 'BuildPackageId' => [ - 'description' => '容器版本ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '58', - ], - 'Cpu' => [ - 'description' => 'CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterType' => [ - 'description' => '应用集群环境类型:'."\n" - .'- 0:普通Docker集群。'."\n" - .'- 1:Swarm集群。'."\n" - .'- 2:ECS集群。'."\n" - .'- 3:EDAS自带K8s集群。'."\n" - .'- 4:Pandora自动注册应用集群类型。'."\n" - .'- 5:容器服务K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SlbName' => [ - 'description' => '私网SLB名称。', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], + [ + 'name' => 'appId', + 'in' => 'query', + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'efbda488-7b33-432f-a40d-****0047****'], ], - ], - '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' => '修改应用名称', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AddLogPath' => [ - 'summary' => '适用于在阿里云和非阿里云ECS集群中部署的应用。', - 'path' => '/pop/v5/log/popListLogDirs', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'source', + 'in' => 'query', + 'schema' => ['description' => '来源,固定值:edas。', 'type' => 'string', 'required' => false, 'example' => 'edas'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - ], - 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'formData', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'name' => 'serviceId', + 'in' => 'query', + 'schema' => ['description' => '服务ID。已废弃,无需设置。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], ], [ - 'name' => 'Path', - 'in' => 'formData', - 'schema' => [ - 'description' => '待收藏的应用日志的绝对路径。应用日志路径必须以`/`开头和结尾,并且路径中必须包含`/log`或者`/logs`。EDAS默认目录如下:'."\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' => '服务名称。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413**********', - ], - ], - ], + [ + 'name' => 'serviceVersion', + 'in' => 'query', + 'schema' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => '1.0.0'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3616cdca-4f92-4413**********\\"\\n}","type":"json"}]', - 'title' => '添加日志目录', - 'responseParamsDescription' => '{'."\n" - .' "Code": 200,'."\n" - .' "Message": "success",'."\n" - .' "RequestId": "3616cdca-4f92-4413**********"'."\n" - .'}', - ], - 'DeleteApplication' => [ - 'summary' => '调用DeleteApplication接口删除应用实例。', - 'path' => '/pop/v5/changeorder/co_delete_app', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'group', + 'in' => 'query', + 'schema' => ['description' => '服务分组。', 'type' => 'string', 'required' => false, 'example' => 'DUBBO'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ip', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-*********', - ], + 'schema' => ['description' => '服务提供者IP,支持模糊查询。', 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx'], + ], + [ + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => '注册类型。已废弃,无需设置。', 'type' => 'string', 'required' => false, 'example' => 'nacos'], ], ], 'responses' => [ @@ -10180,47 +6403,87 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => '0b8e3c0b-5818-430*************', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '34DFE9FDV****************', + 'Code' => ['description' => '接口请求的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '数据结构体。', + 'type' => 'object', + 'properties' => [ + 'EdasAppName' => ['description' => 'EDAS应用名称。', 'type' => 'string', 'example' => 'test123'], + 'DubboApplicationName' => ['description' => 'Dubbo应用名称。', 'type' => 'string', 'example' => 'cartservice'], + 'Version' => ['description' => '版本号。', 'type' => 'string', 'example' => '1.0.0'], + 'RegistryType' => ['description' => '注册类型。', 'type' => 'string', 'example' => 'agent'], + 'SpringApplicationName' => ['description' => 'Spring应用名。', 'type' => 'string', 'example' => 'edas.service.consumer'], + 'ServiceType' => ['description' => '服务类型。', 'type' => 'string', 'example' => 'springCloud'], + 'ServiceName' => ['description' => '服务名。', 'type' => 'string', 'example' => 'edas.service.consumer'], + 'Metadata' => ['description' => '元数据。', 'type' => 'string', 'example' => '{}'], + 'Group' => ['description' => '分组。', 'type' => 'string', 'example' => 'dubbo'], + 'Methods' => [ + 'description' => '方法列表。', + 'type' => 'array', + 'items' => [ + 'description' => '方法对象。', + 'type' => 'object', + 'properties' => [ + 'ParameterDetails' => ['description' => '参数详情。', 'type' => 'string', 'example' => '{}'], + 'NameDetail' => ['description' => '具体名称。', 'type' => 'string', 'example' => 'test'], + 'ParameterNames' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'test'], + 'ParameterDefinitions' => ['description' => '参数定义。', 'type' => 'string', 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]'], + 'Paths' => ['description' => '方法路径。', 'type' => 'string', 'example' => '["/consumer-echo/feign/{str}"]'], + 'ParameterTypes' => ['description' => '参数类型。', 'type' => 'string', 'example' => '["java.lang.String"]'], + 'RequestMethods' => ['description' => '请求方法。', 'type' => 'string', 'example' => 'GET'], + 'ReturnDetails' => ['description' => '返回详情。', 'type' => 'string', 'example' => 'test'], + 'Name' => ['description' => '名称。', 'type' => 'string', 'example' => 'feign2'], + 'MethodController' => ['description' => 'controller列表。', 'type' => 'string', 'example' => 'com.aliware.edas.DemoController'], + 'ReturnType' => ['description' => '返回类型。', 'type' => 'string', 'example' => 'java.lang.String'], + 'ReturnDefinition' => [ + 'description' => '返回定义。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '类型。', 'type' => 'string', 'example' => 'foo'], + 'Id' => ['description' => '返回值ID。', 'type' => 'string', 'example' => '1'], + ], + ], + ], + ], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"ChangeOrderId\\": \\"0b8e3c0b-5818-430*************\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"34DFE9FDV****************\\"\\n}","type":"json"}]', - 'title' => '删除应用实例', + 'title' => '获取服务详情', + 'summary' => '获取服务详情。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteLogPath' => [ - 'summary' => '适用于在阿里云和非阿里云ECS集群中部署的应用。', - 'path' => '/pop/v5/log/popListLogDirs', - 'methods' => [ - 'delete', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + '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' => [], @@ -10228,255 +6491,107 @@ ], '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' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'schema' => ['description' => '地域。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Path', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => '待取消收藏的应用日志的绝对路径。应用日志路径必须以`/`开头和结尾,并且路径中必须包含`/log`或者`/logs`。EDAS默认目录如下:'."\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' => '接口状态或POP错误码', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413**********', - ], - ], - ], + 'schema' => ['description' => '命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou:doc-test'], ], - ], - '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' => '删除日志目录', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteDeployGroup' => [ - 'summary' => '调用DeleteDeployGroup来删除分组。', - 'path' => '/pop/v5/deploy_group', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'origin', + 'in' => 'query', + 'schema' => ['description' => '数据来源,取值如下:'."\n" + ."\n" + .'- `agent`:新版服务查询需要传递。'."\n" + .'- `registry`:旧版服务查询传递。', 'type' => 'string', 'required' => false, 'example' => 'Agent'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-b31*************', - ], + 'schema' => ['description' => '服务类型,取值如下:'."\n" + ."\n" + .'- `dubbo`'."\n" + .'- `springCloud`'."\n" + .'- `hsf`'."\n" + .'- `istio`', 'type' => 'string', 'required' => false, 'example' => 'SpringCloud'], ], [ - 'name' => 'GroupName', + 'name' => 'searchType', 'in' => 'query', - 'schema' => [ - 'description' => '分组名称', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '数据', - 'type' => 'string', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', - ], - ], - ], + 'schema' => ['description' => ' '."\n" + .'服务类型,取值如下:'."\n" + ."\n" + .'- `app`:应用维度查询。'."\n" + .'- `service`:服务维度查询。'."\n" + .'- `providerIp`:IP维度查询。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'App'], ], - ], - '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' => '删除分组', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateHookConfiguration' => [ - 'summary' => '调用UpdateHookConfiguration来为应用或分组设置挂载脚本。', - 'path' => '/pop/app/config_app_hook_json', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'searchValue', + 'in' => 'query', + 'schema' => ['description' => '搜索关键字:'."\n" + ."\n" + .'- 如果searchType=app,searchValue填写`appId`。'."\n" + .'- 如果serachType=service,searchValue填写`serviceName`。'."\n" + .'- 如果searchType=providerIp,searchValue填写应用IP地址。', 'type' => 'string', 'required' => false, 'example' => 'com.alibaba.edas.HelloService'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'side', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'd498****-1dd8ec229862', - ], + 'schema' => ['description' => '提供者侧或者消费者侧,取值如下:'."\n" + ."\n" + .'- provider'."\n" + .'- consumer', 'type' => 'string', 'required' => false, 'example' => 'provider'], ], [ - 'name' => 'GroupId', + 'name' => 'page', 'in' => 'query', - 'schema' => [ - 'description' => '分组ID', - 'type' => 'string', - 'required' => false, - 'example' => 'd498****-1dd8ec229862', - ], + 'schema' => ['description' => '列表的页码,从0开始。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], [ - 'name' => 'Hooks', + 'name' => 'size', 'in' => 'query', - 'schema' => [ - 'description' => '挂载脚本配置,为一段JSON格式文本,如:'."\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' => true, - 'docRequired' => true, - 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]', - ], + 'schema' => ['description' => '分页查询时每页的行数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '数据结构。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '响应码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'd498****-1dd8ec229862', - ], - 'HooksConfiguration' => [ - 'description' => '挂载脚本配置', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'IgnoreFail' => [ - 'description' => '是否忽略失败,取值如下:'."\n" - ."\n" - .'- **true**:忽略失败'."\n" - ."\n" - .'- **false**:不忽略失败', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Name' => [ - 'description' => '挂载脚本名', - 'type' => 'string', - 'example' => 'postprepareInstanceEnvironmentOnScaleOut', - ], - 'Script' => [ - 'description' => '挂载脚本内容', - 'type' => 'string', - 'example' => 'ls', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => ' '."\n" + .'数据。', + 'type' => 'object', + 'properties' => [ + 'TotalPages' => ['description' => '总页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalElements' => ['description' => '总数据量。', 'type' => 'integer', 'format' => 'int32', 'example' => '6'], + 'Size' => ['description' => '页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '8'], + 'Content' => [ + 'description' => '组数据。', + 'type' => 'array', + 'items' => [ + 'description' => '数据结构。', + 'type' => 'object', + 'properties' => [ + 'EdasAppName' => ['description' => '应用名。', 'type' => 'string', 'example' => 'k8s-lq-cartservice'], + 'InstanceNum' => ['description' => '实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Version' => ['description' => '版本号。', 'type' => 'string', 'example' => '1.0.0'], + 'ServiceId' => ['description' => '服务ID。', 'type' => 'string', 'example' => 'xx'], + 'EdasAppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'efbda488-7b33-432f-****-36530047****'], + 'ServiceName' => ['description' => '服务名。', 'type' => 'string', 'example' => 'com.alibabacloud.hipstershop.CartService'], + 'RegisterType' => ['description' => '注册类型。', 'type' => 'string', 'example' => 'xx'], + 'Group' => ['description' => '分组。', 'type' => 'string', 'example' => 'DUBBO'], + ], ], ], ], @@ -10485,537 +6600,373 @@ ], ], ], - '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' => '为应用或分组设置挂载脚本', + 'title' => '查询微服务列表', + 'summary' => '调用GetServiceListPage接口获取服务列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyScalingRule' => [ - 'summary' => '调用ModifyScalingRule接口修改弹性扩、缩容规则。', - 'path' => '/pop/v5/app/scaling_rules', - 'methods' => [ - 'post', - 'put', + 'changeSet' => [ + ['createdAt' => '2022-09-28T03:46:47.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '74ee****-db65-4322-a1f6-bcb60e5b****', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'GroupId', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => '部署分组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8123db90-880f-486f-****-************', - ], + 'schema' => ['description' => '命名空间ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test'], ], [ - 'name' => 'InCondition', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => '触发条件。'."\n" - ."\n" - .'- OR:任一条件'."\n" - .'- AND:所有条件', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"OR"', - 'enum' => [ - 'OR', - 'AND', - ], - ], + 'schema' => ['description' => '数据来源。取值如下:'."\n" + .'- agent:新版服务查询需要传递。'."\n" + .'- registry:旧版服务查询传递。', 'type' => 'string', 'required' => false, 'example' => 'agent'], ], [ - 'name' => 'InEnable', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => '是否包含缩容规则。'."\n" - ."\n" - .'- true:包含'."\n" - .'- false:不包含', - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '服务类型,支持以下类型:'."\n" + .'- dubbo:Dubbo服务。'."\n" + .'- springCloud:SpringCloud服务。'."\n" + .'- hsf:HSF服务。', 'type' => 'string', 'required' => false, 'example' => 'springCloud'], ], [ - 'name' => 'InCpu', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:CPU使用率。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => false, 'example' => '310b18c3-1dbe-4807-****-18d7d637****'], ], [ - 'name' => 'InDuration', + 'name' => 'source', 'in' => 'query', - 'schema' => [ - 'description' => '持续时间,单位为分钟。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '来源,固定值:edas。', 'type' => 'string', 'required' => false, 'example' => 'edas'], ], [ - 'name' => 'InInstanceNum', + 'name' => 'serviceId', 'in' => 'query', - 'schema' => [ - 'description' => '分组缩容时需要保留的最小实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '3', - ], + 'schema' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'edas.service.consumer'], ], [ - 'name' => 'InLoad', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:系统负载。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '服务名称。', 'type' => 'string', 'required' => false, 'example' => 'edas.service.consumer'], ], [ - 'name' => 'InRT', + 'name' => 'serviceVersion', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:服务时延。单位为毫秒,最小值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => '1.0.0'], ], [ - 'name' => 'InStep', + 'name' => 'group', 'in' => 'query', - 'schema' => [ - 'description' => '每次缩容的实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => '分组。', 'type' => 'string', 'required' => false, 'example' => 'DUBBO'], ], [ - 'name' => 'OutCondition', + 'name' => 'ip', 'in' => 'query', - 'schema' => [ - 'description' => '触发条件。'."\n" - ."\n" - .'- OR:任一条件'."\n" - .'- AND:所有条件', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"OR"', - 'enum' => [ - 'OR', - 'AND', - ], - ], + 'schema' => ['description' => 'IP地址。', 'type' => 'string', 'required' => false, 'example' => '127.0.0.1'], ], [ - 'name' => 'OutCPU', + 'name' => 'registryType', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:CPU使用率。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '注册中心类型。', 'type' => 'string', 'required' => false, 'example' => 'nacos'], ], [ - 'name' => 'OutDuration', + 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '持续时间,单位为分钟。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '页号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'OutEnable', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '是否包含扩容规则。', - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'OutInstanceNum', + 'name' => 'methodController', 'in' => 'query', - 'schema' => [ - 'description' => '分组扩容时的最大实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'controller方法。', 'type' => 'string', 'required' => false, 'example' => 'com.aliware.edas.DemoController'], ], [ - 'name' => 'OutLoad', + 'name' => 'path', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:系统负载。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => '请求路径。', 'type' => 'string', 'required' => false, 'example' => '/echo/{str}'], ], [ - 'name' => 'OutRT', + 'name' => 'name', 'in' => 'query', - 'schema' => [ - 'description' => '触发指标:服务时延。单位为毫秒,最小值为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '0', - ], + 'schema' => ['description' => '方法名。', 'type' => 'string', 'required' => false, 'example' => 'echo'], ], - [ - 'name' => 'OutStep', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '每次扩容的实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '0', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'HttpCode' => ['description' => 'HTTP响应码。', 'type' => 'string', 'example' => '200'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'BDC0C0FE-D63B-4FC8-****-4081C57E****'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '数据结构体。', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => '页号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalSize' => ['description' => '总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '6'], + 'Result' => [ + 'description' => '方法结构体。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterDetails' => ['description' => '参数详情。', 'type' => 'string', 'example' => '{}'], + 'NameDetail' => ['description' => '方法详情。', 'type' => 'string', 'example' => 'name'], + 'ParameterNames' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'echo'], + 'ParameterDefinitions' => ['description' => '参数定义。', 'type' => 'string', 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]'], + 'Paths' => ['description' => '方法路径。', 'type' => 'string', 'example' => '/consumer/alive'], + 'ParameterTypes' => ['description' => '参数类型。', 'type' => 'string', 'example' => 'java.lang.String'], + 'RequestMethods' => ['description' => '请求方法。', 'type' => 'string', 'example' => 'GET'], + 'ReturnDetails' => ['description' => '返回详情。', 'type' => 'string', 'example' => 'java.lang.String'], + 'Name' => ['description' => '方法名。', 'type' => 'string', 'example' => 'echo'], + 'MethodController' => ['description' => '方法。', 'type' => 'string', 'example' => 'com.aliware.edas.EchoController'], + 'ReturnType' => ['description' => '返回类型。', 'type' => 'string', 'example' => 'java.lang.String'], + 'ReturnDefinition' => [ + 'description' => '返回值。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '返回类型。', 'type' => 'string', 'example' => 'java.lang.String'], + 'Id' => ['description' => '返回值ID。', 'type' => 'string', 'example' => '1'], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', ], ], + ], + 'title' => '查询微服务方法列表', + 'summary' => '调用GetServiceMethodPage接口获取服务接口元数据列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-19T03:46:35.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'ResourceFrom', - 'in' => 'query', - 'schema' => [ - 'description' => '扩容实例来源。'."\n" - .'- NEW:弹性资源。'."\n" - .'- AVAILABLE:已有资源。已有资源优先为AVAILABLE_FIRST。'."\n" - ."\n" - .'NEW或AVAILABLE_FIRST需指定弹性扩容参数,弹性扩容包括两种模式:启动模版和基于现有实例规则。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '"AVAILABLE"', - 'enum' => [ - 'AVAILABLE', - 'NEW', - 'AVAILABLE_FIRST', + '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 \\"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":""}]', + ], + 'GetServiceProvidersPage' => [ + 'path' => '/pop/sp/api/mseForOam/getServiceProvidersPage', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MultiAzPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => '弹性扩容的多可用区扩缩容策略。包含两种策略:'."\n" - .'- PRIORITY:优先级策略。'."\n" - .'- BALANCE:均衡分布策略。', - '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' => '弹性扩容的“启动模版”或“基于现有实例规则”所关联的VPC ID。', - 'type' => 'string', - 'required' => false, - 'example' => '"vpc-bp1j55oz3bg*****"', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VSwitchIds', + 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'VPC相关的vswitch ID列表,多个以半角逗号(,)分割。', - 'type' => 'string', - 'required' => false, - 'example' => '"vsw-bp1ldxs3d4fd*****"', - ], + 'schema' => ['description' => '命名空间ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:doc-test'], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'origin', 'in' => 'query', - 'schema' => [ - 'description' => '弹性缩容的回收模式。'."\n" - .'- release:释放模式'."\n" - .'- recycle:停机回收模式。', - 'type' => 'string', - 'required' => false, - 'example' => '"release"', - 'enum' => [ - 'release', - 'recycle', - ], - ], + 'schema' => ['description' => '数据来源。取值如下:'."\n" + .'- agent:新版服务查询需要传递。'."\n" + .'- registry:旧版服务查询传递。', 'type' => 'string', 'required' => false, 'example' => 'agent'], ], [ - 'name' => 'TemplateInstanceId', + 'name' => 'serviceType', 'in' => 'query', - 'schema' => [ - 'description' => '弹性扩容“基于现有实例规则”的实例ID。OutEnable为true(真)才有效。', - 'type' => 'string', - 'required' => false, - 'example' => '"1"', - ], + 'schema' => ['description' => '服务类型。取值如下:'."\n" + .'- dubbo:Dubbo类型。'."\n" + .'- springCloud:Spring Cloud类型。'."\n" + .'- hsf:HSF类型。', 'type' => 'string', 'required' => false, 'example' => 'dubbo'], ], [ - 'name' => 'TemplateInstanceName', + 'name' => 'appId', 'in' => 'query', - 'schema' => [ - 'description' => '弹性扩容“基于现有实例规则”的实例名称。TemplateInstanceId存在才有效。', - 'type' => 'string', - 'required' => false, - 'example' => '"tpl-tdy218"', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => false, 'example' => 'efbda488-7b33-432f-a40d-****0047****'], ], [ - 'name' => 'Password', + 'name' => 'source', 'in' => 'query', - 'schema' => [ - 'description' => '实例登录密码。当弹性扩容使用“基于现有实例规则”才有效。', - 'type' => 'string', - 'required' => false, - 'example' => '"Pwd*****"', - ], + 'schema' => ['description' => '来源,固定值:edas。', 'type' => 'string', 'required' => false, 'example' => 'edas'], ], [ - 'name' => 'KeyPairName', + 'name' => 'serviceId', 'in' => 'query', - 'schema' => [ - 'description' => '实例登录密钥名称。当弹性扩容使用“基于现有实例规则”才有效。', - 'type' => 'string', - 'required' => false, - 'example' => '"tdy218"', - ], + 'schema' => ['description' => '服务ID。已废弃,无需传值。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], ], [ - 'name' => 'AcceptEULA', + 'name' => 'serviceName', 'in' => 'query', - 'schema' => [ - 'description' => '若使用弹性扩容,则必须设置为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '服务名。', 'type' => 'string', 'required' => false, 'example' => 'com.alibabacloud.hipstershop.CartService'], ], [ - 'name' => 'TemplateId', + 'name' => 'serviceVersion', 'in' => 'query', - 'schema' => [ - 'description' => '弹性扩容“启动模版”ID。OutEnable为true(真)才有效,优先级高于TemplateInstanceId。', - 'type' => 'string', - 'required' => false, - 'example' => '"lt-wz9hkhn8wp*****"', - ], + 'schema' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => '1.0.0'], ], [ - 'name' => 'TemplateVersion', + 'name' => 'group', 'in' => 'query', - 'schema' => [ - 'description' => '弹性扩容“启动模版”版本。OutEnable为true(真)才有效。若使用默认模版,则设置为`-1`,否则设置为相应的版本号。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => '分组。', 'type' => 'string', 'required' => false, 'example' => 'DUBBO'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Code码 ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'CB36E997-FE54-476C-8C0D-********', - ], - ], - ], + [ + 'name' => 'ip', + 'in' => 'query', + 'schema' => ['description' => '服务提供者IP,支持模糊查询。', 'type' => 'string', 'required' => false, 'example' => '10.20.x.xx'], ], - ], - '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' => '设置扩缩容规则', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartApplication' => [ - 'summary' => '调用StartApplication来启动应用。', - 'path' => '/pop/v5/changeorder/co_start', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'registryType', + 'in' => 'query', + 'schema' => ['description' => '注册类型。已废弃,无需传值。', 'type' => 'string', 'required' => false, 'example' => 'nacos'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'page', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过[ListApplication](~~149390~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413**********', - ], + 'schema' => ['description' => '列表的页码,从0开始。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], [ - 'name' => 'EccInfo', + 'name' => 'size', 'in' => 'query', - 'schema' => [ - 'description' => '应用下需要重置机器的eccid,多个用“,”分开,可通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', - 'type' => 'string', - 'required' => false, - 'example' => '""', - ], + 'schema' => ['description' => '分页查询时每页的行数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次启动的执行进展。', - 'type' => 'string', - 'example' => '426d3328-11a***************', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', + 'Code' => ['description' => '接口请求的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '数据结构体。', + 'type' => 'object', + 'properties' => [ + 'TotalPages' => ['description' => '总页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalElements' => ['description' => '总数据量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Size' => ['description' => '页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Content' => [ + 'description' => '组数据。', + 'type' => 'array', + 'items' => [ + 'description' => '组数据对象。', + 'type' => 'object', + 'properties' => [ + 'Timeout' => ['description' => '服务超时时间。', 'type' => 'string', 'example' => '1000'], + 'Ip' => ['description' => '服务提供者的IP地址。', 'type' => 'string', 'example' => '10.20.XX.XX'], + 'Port' => ['description' => '服务提供者的端口号。', 'type' => 'string', 'example' => '12345'], + 'Iannotations' => ['description' => '服务提供者的备注信息。', 'type' => 'string', 'example' => '172.178.XX.XX'], + 'SerializeType' => ['description' => '序列化类型。', 'type' => 'string', 'example' => 'hessian2'], + ], + ], + ], + ], ], ], ], ], ], - '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' => '启动应用', + 'title' => '查询微服务提供者列表', + 'summary' => '调用GetServiceProvidersPage接口获取服务提供者列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopApplication' => [ - 'summary' => '停止应用。', - 'path' => '/pop/v5/changeorder/co_stop', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-01-03T01:52:37.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-08T11:30:53.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-11-21T02:13:38.000Z', 'description' => '错误码发生变更'], + ], + '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' => [], @@ -11023,35 +6974,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d*******', - ], - ], - [ - 'name' => 'EccInfo', - 'in' => 'query', - 'schema' => [ - 'description' => '应用下需要停止的ECS实例的EccId。可以通过调用QueryApplicationStatus接口获取EccId,具体操作,请参见[QueryApplicationStatus](~~149394~~)。'."\n" - ."\n" - .'- 如果包含多个ECS实例,用半角逗号(,)分开。'."\n" - .'- 不设置该参数,表示停止该应用下所有实例。', - 'type' => 'string', - 'required' => false, - 'example' => '74ee9166-****1f6-bcb60e5b****', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****'], ], ], 'responses' => [ @@ -11059,47 +6987,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。可以通过调用GetChangeOrderInfo接口获取变更流程的详细信息,具体操作,请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'example' => 'a9557bac-ddd7-*********************', - ], - 'Code' => [ - 'description' => 'Code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], + 'WebContainerConfig' => [ + 'description' => 'Tomcat配置内容。', + 'type' => 'object', + 'properties' => [ + 'ContextPath' => ['description' => '上下文路径。', 'type' => 'string', 'example' => 'ROOT'], + 'UseAdvancedServerXml' => ['description' => '是否使用高级配置。', 'type' => 'boolean', 'example' => 'true'], + 'UseDefaultConfig' => ['description' => '是否使用默认配置。', 'type' => 'boolean', 'example' => 'true'], + 'HttpPort' => ['description' => 'HTTP服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'ContextInputType' => ['description' => '上下文路径类型。', 'type' => 'string', 'example' => 'root'], + 'UseBodyEncoding' => ['description' => '是否使用Body字符编码。', 'type' => 'boolean', 'example' => 'true'], + 'UriEncoding' => ['description' => 'URI编码类型。', 'type' => 'string', 'example' => 'ISO-8859-1'], + 'MaxThreads' => ['description' => '最大线程数。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'ServerXml' => ['description' => 'Server XML高级配置内容。', 'type' => 'string', 'example' => '<Server port=*****'], + ], ], ], ], ], ], - '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' => '停止应用', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误。请重试该操作,若再出现该错误请提交工单。'], + ], + ], + 'title' => '获取应用的Tomcat配置', + 'summary' => '调用GetWebContainerConfig接口获取应用的Tomcat配置。', + 'description' => '****', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateContainer' => [ - 'summary' => '调用UpdateContainer接口更新HSF应用的EDAS-Container版本。EDAS-Container包含Ali-Tomcat和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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'ImportK8sCluster' => [ + 'path' => '/pop/v5/import_k8s_cluster', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11107,450 +7052,224 @@ ], '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc', - ], + 'schema' => ['description' => '集群ID,可通过调用GetK8sCluster接口获取,请参见[GetK8sCluster](~~181437~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2'], ], [ - 'name' => 'BuildPackId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'EDAS-Container的构建包ID。可以在容器版本说明文档的表格中获取对应版本的构建包ID,更多信息,请参见[容器版本说明](~~92614~~)。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '59', - ], + 'schema' => ['description' => '命名空间ID。格式为“`地域ID:微服务空间标识符`”,例如:`cn-hangzhou:doc`。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:doc'], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => ['description' => '此参数无需关注。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'EnableAsm', + 'in' => 'query', + 'schema' => ['description' => '是否开启ASM:'."\n" + .'- true:开启'."\n" + .'- false:不开启', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'eb1b9862-****-476f-9e78-d6aa0842835a', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', - ], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => 'EDAS中的集群ID。', 'type' => 'string', 'example' => 'cf96d49a-6be2-4b6d-****-75c7fb86****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], ], + 'description' => '', ], ], ], - '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' => '更新HSF应用的EDAS-Container版本', + 'title' => '导入容器服务K8s集群', + 'summary' => '调用ImportK8sCluster接口导入容器服务K8s集群或Serverless K8s集群。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateContainerConfiguration' => [ - 'summary' => '调用UpdateContainerConfiguration接口设置ECS集群中应用或应用分组的Tomcat。', - 'path' => '/pop/v5/app/container_config', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-15T03:17:43.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-15T03:17:43.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ImportK8sCluster'], + ], ], + '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' => '[{"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":""}]', + ], + 'InsertApplication' => [ + 'summary' => '调用InsertApplication接口在ECS集群中创建应用。', + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-43ff-************', - ], + 'schema' => ['description' => 'ECS集群ID。ECS集群ID不为空,则为指定的ECS集群创建应用,为空则为默认集群创建应用(推荐指定)。', 'type' => 'string', 'required' => false, 'example' => '13136119-f384-4f50-b76e-xxxxxxxxxxx'], ], [ - 'name' => 'GroupId', + 'name' => 'BuildPackId', 'in' => 'query', - 'schema' => [ - 'description' => '分组ID。'."\n" - .'- 如果ID不为空,则设置指定应用分组的Tomcat。'."\n" - .'- 如果ID为“”,则设置应用的Tomcat。', - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-**************', - ], + 'schema' => ['description' => 'EDAS-Container构建包号,当创建HSF应用时,该参数必须指定。有以下两种获取方式:'."\n" + ."\n" + .'- 通过容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~149391~~)。'."\n" + ."\n" + .'- 在参见[容器版本](~~92614~~)表格中的**构建包序号**列获取。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '59'], ], [ - 'name' => 'ContextPath', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Tomcat的ContextPath,支持空字符串、null-war包名称、ROOT-根目录或其他非空自定义字符串。'."\n" - .'支持英文字母、数字、 短划线(-)和下划线(_)。'."\n" - .'- 应用分组不设置该参数,则使用应用配置。'."\n" - .'- 应用不设置该参数,则使用根目录`/`。', - 'type' => 'string', - 'required' => false, - 'example' => '/', - ], + 'schema' => ['description' => '应用描述信息。', 'type' => 'string', 'required' => false, 'example' => 'create by edas pop api'], ], [ - 'name' => 'HttpPort', + 'name' => 'ApplicationName', 'in' => 'query', - 'schema' => [ - 'description' => '应用端口。'."\n" - .'- 应用分组不设置该参数,则使用应用配置。'."\n" - .'- 应用不设置该参数,则使用默认值8080。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], + 'schema' => ['description' => '应用名称。仅允许使用数字、英文字母、短划线(-)和下划线(_) ,而且必须以英文字母开头,最长36个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'hello-edas-test-1'], ], [ - 'name' => 'MaxThreads', + 'name' => 'ReservedPortStr', 'in' => 'query', - 'schema' => [ - 'description' => '最大线程数。'."\n" - .'- 应用分组不设置该参数,则使用应用配置。'."\n" - .'- 应用不设置该参数,使用默认值250。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '**(废弃参数)**应用预留端口号。', 'type' => 'string', 'required' => false, 'example' => '8090'], ], [ - 'name' => 'URIEncoding', + 'name' => 'EcuInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" - .'- 应用分组不设置该参数,则使用应用配置。'."\n" - .'- 应用不设置该参数,则使用Tomcat默认值。', - 'type' => 'string', - 'required' => false, - 'example' => 'ISO-8859-1', - ], + 'schema' => ['description' => '需要扩容的ECS实例的`ecu_id`(导入EDAS的ECS实例在EDAS中的唯一身份),多个`ecu_id`用英文逗号(,)分开。`ecu_id`可通过查询ListScaleOutEcu接口获取,请参见[ListScaleOutEcu](~~149371~~)。', 'type' => 'string', 'required' => false, 'example' => '07bd417a-b863-477d-****-************'], ], [ - 'name' => 'UseBodyEncoding', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'useBodyEncodingForURI是否启用。'."\n" - .'- 应用分组不设置该参数,则使用应用配置。'."\n" - .'- 应用不设置该参数,则使用默认值false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '**(废弃参数)**Swarm集群应用容器CPU核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '2'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '接口响应。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-***************', - ], - 'ContainerConfiguration' => [ - 'description' => '容器配置信息。', - 'type' => 'object', - 'properties' => [ - 'HttpPort' => [ - 'description' => '应用端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextPath' => [ - 'description' => 'Tomcat的ContextPath。', - 'type' => 'string', - 'example' => '/', - ], - 'UseBodyEncoding' => [ - 'description' => 'useBodyEncodingForURI是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MaxThreads' => [ - 'description' => '最大线程数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'URIEncoding' => [ - 'description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。', - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], - ], - ], - ], - ], + [ + 'name' => 'Mem', + 'in' => 'query', + 'schema' => ['description' => '**(废弃参数)**Swarm集群应用容器Memory大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '2048'], ], - ], - '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' => '设置应用下的分组设置', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ChangeDeployGroup' => [ - 'summary' => '调用ChangeDeployGroup更换ECS集群应用中的ECS实例的分组。', - 'path' => '/pop/v5/changeorder/co_change_group', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LogicalRegionId', + 'in' => 'query', + 'schema' => ['description' => '微服务空间ID,您可在EDAS控制台左侧菜单栏选择**资源管理** > **微服务空间**,找到目标微服务空间对应的微服务空间ID,也可通过ListUserDefineRegion接口获取到微服务空间ID,请参见[ListUserDefineRegion](~~149377~~)。'."\n" + .' '."\n" + .'- 如果指定的集群不在默认微服务空间下,则需要指定该参数,否则会遇到`application regionId is different with cluster regionId!`的错误提示。'."\n" + .'- 如果在默认微服务空间下,则不需要指定。该参数需要与指定的集群ID所在的微服务空间保持一致。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:prod'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Jdk', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-**********', - ], + 'schema' => ['description' => '**(废弃参数)** 用来指定应用使用的JDK版本。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8'], ], [ - 'name' => 'EccInfo', + 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => '指定要切换应用实例分组的ECS实例的ECC ID。可以调用ListApplicationEcc来查询应用的ECC ID,具体操作,请参见[ListApplicationEcc](~~199277~~)。'."\n" - ."\n" - .'> 一次仅支持切换一个ECS实例到其他应用实例分组。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '0cf49a6c-95a8-4aa8******', - ], + 'schema' => ['description' => '**(废弃参数)** 用于指定Apache Tomcat版本。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4'], ], [ - 'name' => 'GroupName', + 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组名称,例如:group_a、group_b。默认分组的GroupName为`_DEFAULT_GROUP`。长度不操作64个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => '应用部署包格式,可设置为war或者jar。', 'type' => 'string', 'required' => false, 'example' => 'war'], ], [ - 'name' => 'ForceStatus', + 'name' => 'ComponentIds', 'in' => 'query', - 'schema' => [ - 'description' => 'ECC的部署包版本和应用分组的部署包版本不一致时是否强制更换。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '应用组件ID。可通过查询组件列表接口ListComponents接口获取,请参见[ListComponents](~~97502~~)。'."\n" + ."\n" + .'当创建的应用运行环境使用Apache Tomcat(适用于WAR包部署的Dubbo应用)或者标准Java应用运行环境(适用于JAR包部署的Spring Boot或Spring Cloud应用)时需要指定。'."\n" + ."\n" + .'常用的应用组件ID及含义:'."\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" + .'该参数需要更新Java或者Python SDK版本到2.57.3或以上版本才可以设置,未使用EDAS提供的SDK的(例如在使用aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli等)用户可直接设置该参数。'."\n", 'type' => 'string', 'required' => false, 'example' => '7'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => '435f-regfr4********************', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'F9E4-FDS4-****************', - ], - ], - ], + [ + 'name' => 'Hooks', + 'in' => 'query', + 'schema' => ['description' => '挂载脚本配置,为一段JSON格式文本,如:'."\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"}]'], ], - ], - '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":""}]', - 'title' => '更换分组', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateJvmConfiguration' => [ - 'summary' => '调用UpdateJvmConfiguration来配置应用或应用分组的JVM。', - 'path' => '/pop/v5/app/app_jvm_config', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'JvmOptions', + 'in' => 'query', + 'schema' => ['description' => '自定义参数。', 'type' => 'string', 'required' => false, 'example' => '-Dproperty=value'], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'MinHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'example' => 'c627c157-560d-*************', - ], + 'schema' => ['description' => '初始化堆内存大小,单位M。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '500'], ], [ - 'name' => 'GroupId', + 'name' => 'MaxPermSize', 'in' => 'query', - 'schema' => [ - 'description' => '分组ID,您可调用[ListDeployGroup](~~62077~~)来查询。'."\n" - ."\n" - .'> - 如果ID不为空,设置分组信息。'."\n" - .'- ID为空,则设置应用的配置信息。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0afc726e-077e-4357-98b2-db9f7145****', - ], + 'schema' => ['description' => '持久代内存大小,单位M。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '200'], ], [ - 'name' => 'Options', + 'name' => 'MaxHeapSize', 'in' => 'query', - 'schema' => [ - 'description' => '自定义参数:'."\n" - ."\n" - .'> - 分组配置不设置该参数,使用应用配置。'."\n" - .'- 应用配置不设置该参数,使用默认值。', - 'type' => 'string', - 'required' => false, - 'example' => '-Dproperty=value', - ], + 'schema' => ['description' => '最大堆内存大小,单位M。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '1000'], ], [ - 'name' => 'MinHeapSize', + 'name' => 'EnableUrlCheck', 'in' => 'query', - 'schema' => [ - 'description' => '初始化堆内存大小,单位MB:'."\n" - ."\n" - .'> - 分组配置不设置该参数,使用应用配置。'."\n" - .'- 应用配置不设置该参数,使用默认值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => '是否启用健康检查URL,取值如下:'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:不启用', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'MaxPermSize', + 'name' => 'EnablePortCheck', 'in' => 'query', - 'schema' => [ - 'description' => '持久代内存大小,单位MB:'."\n" - .'> - 分组配置不设置该参数,使用应用配置。'."\n" - .'- 应用配置不设置该参数,使用默认值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => '是否启用端口健康检查,取值如下:'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:不启用', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'MaxHeapSize', + 'name' => 'HealthCheckUrl', 'in' => 'query', - 'schema' => [ - 'description' => '最大堆内存大小,单位MB:'."\n" - .'> - 分组配置不设置该参数,使用应用配置。'."\n" - .'- 应用配置不设置该参数,使用默认值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => '应用健康检查URL(等价于HealthCheckURL参数)。', 'type' => 'string', 'required' => false, 'example' => 'http://127.0.0.1:8080/_ehc.html'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek24j4s4b*****'], ], ], 'responses' => [ @@ -11558,573 +7277,258 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'D16979DC-4D42-********************', - ], - 'JvmConfiguration' => [ - 'description' => 'JVM参数', + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'The application name test-hsy-C5039-paas-6 had been created successfully.'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4264F69C-686C-4107-B493-0599C8xxxxxx'], + 'ApplicationInfo' => [ + 'description' => '应用创建成功后返回的应用对象。', 'type' => 'object', 'properties' => [ - 'MaxPermSize' => [ - 'description' => '持久代内存大小,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Options' => [ - 'description' => '可选参数', - 'type' => 'string', - 'example' => '”“', - ], - 'MaxHeapSize' => [ - 'description' => '最大堆内存大小,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'MinHeapSize' => [ - 'description' => '初始化堆内存大小,单位MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'd0cf569e-dce3-4efb-****-08b70021****'], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'hello-edas-test-1'], + 'Owner' => ['description' => '该应用拥有者,即应用创建者。', 'type' => 'string', 'example' => '249763358688********'], + 'Dockerize' => ['description' => '是否为Docker应用,取值如下:'."\n" + ."\n" + .'- **true**:是'."\n" + ."\n" + .'- **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'RegionName' => ['description' => '地域名称。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AppId' => ['description' => '应用ID,EDAS应用的唯一标识。', 'type' => 'string', 'example' => '6c733bcd-6efb-47a1-8226-cf722c******'], + 'UserId' => ['description' => '应用拥有者的USER_ID。', 'type' => 'string', 'example' => 'tdy218@1362469756xxxxxx'], + 'Port' => ['description' => '创建成功的应用默认端口号8080。可以使用UpdateContainerConfiguration接口修改,请参见[UpdateContainerConfiguration](~~149403~~)。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], ], ], ], + 'description' => '', ], ], ], - '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' => '来配置应用分组内的JVM设置', + 'title' => '创建 ECS 集群的应用', + 'description' => '> 如需要创建K8s集群应用,则需要使用EDAS提供的InsertK8sApplication接口。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetJvmConfiguration' => [ - 'path' => '/pop/v5/app/app_jvm_config', - 'methods' => [ - 'get', + 'extraInfo' => '## 常见应用的主要参数说明'."\n" + ."\n" + .'1. 使用EDAS Java SDK创建Apache Tomcat作为应用运行环境的原生Dubbo、 Java Web等类型应用主要参数:'."\n" + .' ```'."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setApplicationName("hello-edas-test-1"); //应用名称。'."\n" + .' request.setPackageType("war"); // 应用包类型,也可以不指定。'."\n" + .' request.setComponentIds("7"); // 7或者4。7表示Apache Tomcat 8.5.42,4表示 Apache Tomcat 7.0.91。'."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" + .' ```'."\n" + ."\n\n" + .'2. 使用EDAS Java SDK创建标准Java应用运行时环境的原生Spring Boot/Spring Cloud等FatJar类型应用主要参数:'."\n" + .' ```'."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setApplicationName("hello-edas-test-2"); //应用名称。'."\n" + .' request.setPackageType("jar"); // 应用包类型,也可以不指定。'."\n" + .' request.setComponentIds("5"); // 5或者6。5表示OpenJDK 1.8.0;6 表示OpenJDK 1.8.0;也可以不指定该参数,默认将使用OpenJDK 1.8.0。'."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" + .' ```'."\n" + ."\n\n" + .'3. 使用EDAS Java SDK创建EDAS-Container作为应用运行时环境的HSF应用主要参数:'."\n" + .' ```'."\n" + .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" + .' request.setBuildPackId(59); // EDAS-Container构建包版本号,59表示使用 edas-container 3.5.8。'."\n" + .' request.setApplicationName("hello-edas-test-3"); //应用名称。'."\n" + .' request.setPackageType("war"); // 应用包类型,war或者jar,也可以不填写。'."\n" + .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" + .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" + .' ```', + 'changeSet' => [ + ['createdAt' => '2022-04-25T06:41:49.000Z', 'description' => '请求参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertApplication'], + ], ], + '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' => '[{"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":""}]', + ], + 'InsertCluster' => [ + 'summary' => '调用InsertCluster接口创建集群。', + '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' => '应用ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4***************', - ], + 'schema' => ['description' => '自定义命名空间的RegionId。'."\n" + .'格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:td****'], ], [ - 'name' => 'GroupId', + 'name' => 'ClusterName', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID。'."\n" - .'- 如果ID不为空,则获取应用分组的JVM。'."\n" - .'- 如果ID为“”,则获取应用的JVM。', - 'type' => 'string', - 'required' => false, - 'example' => '8123db90-880f-48**************', - ], + 'schema' => ['description' => '集群名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '****_product_test2'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3F43-F34V-0VCD***********', - ], - 'JvmConfiguration' => [ - 'description' => '应用或应用分组的JVM配置。', - 'type' => 'object', - 'properties' => [ - 'MaxPermSize' => [ - 'description' => '持久代内存大小,单位为M。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'MaxHeapSize' => [ - 'description' => '最大堆内存大小,单位为M。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Options' => [ - 'description' => '自定义参数。', - 'type' => 'string', - 'example' => '-XX:+UseConcMarkSweepGC -XX:-UseParNewGC', - ], - 'MinHeapSize' => [ - 'description' => '初始化堆内存大小,单位为M。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - ], - ], - ], - ], + [ + 'name' => 'ClusterType', + 'in' => 'query', + 'schema' => ['description' => '集群类型。'."\n" + ."\n" + .'- 2:ECS集群'."\n" + .'- 3:EDAS自带K8s集群'."\n" + .'- 5:Kubernetes集群', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2'], ], - ], - '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' => '获取应用或分组的 JVM 设置', - 'summary' => '调用GetJvmConfiguration接口获取应用或应用分组的JVM设置。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetApplication' => [ - 'summary' => '获取ECS集群中指定应用的信息。 。', - 'path' => '/pop/v5/app/app_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'NetworkMode', + 'in' => 'query', + 'schema' => ['description' => '网络类型。'."\n" + ."\n" + .'- 1:经典网络'."\n" + .'- 2:VPC', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'VPC网络ID。若选择VPC网络,此参数为必选。', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zef6ob8mrlzv8x3q****'], + ], + [ + 'name' => 'OversoldFactor', + 'in' => 'query', + 'schema' => ['description' => '(**参数已不适用**)'."\n" + .'Docker集群CPU超卖:'."\n" + .'- 2:1:2比例'."\n" + .'- 4:1:4比例'."\n" + .'- 8:1:8比例', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'IaasProvider', 'in' => 'query', 'schema' => [ - 'description' => '应用ID。', + 'description' => 'IaaS资源供应商。'."\n" + ."\n" + .'<note>选择阿里云时,需要使用全大写的拼音,例如`ALIYUN`。</note>'."\n", 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '29f0******************', + 'required' => false, + 'example' => 'ALIYUN', + 'default' => 'ALIYUN', + 'enum' => ['ALIYUN', 'IDC'], ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'F8DFGED-K98***************', - ], - 'Application' => [ - 'description' => '应用信息。', + 'Code' => ['description' => '接口状态。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'Cluster' => [ + 'description' => '创建的集群实体。', 'type' => 'object', 'properties' => [ - 'ExtSlbIp' => [ - 'description' => '应用绑定的公网SLB的IP。', - 'type' => 'string', - 'example' => '47.114.xxx.xx', - ], - 'Owner' => [ - 'description' => '应用创建者。', - 'type' => 'string', - 'example' => 'ouou@117274586608****', - ], - 'SlbPort' => [ - 'description' => '应用绑定的私网SLB的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'NameSpace' => [ - 'description' => '应用所属的命名空间。', - 'type' => 'string', - 'example' => 'doc-test', - ], - 'ExtSlbName' => [ - 'description' => '应用绑定的公网SLB的名称。', - 'type' => 'string', - 'example' => 'aa8eee383db084f42aebc4d9f52c****', - ], - 'CreateTime' => [ - 'description' => '应用创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1610550324226', - ], - 'UserId' => [ - 'description' => '云账号ID。', - 'type' => 'string', - 'example' => 'test@dd******', - ], - 'Port' => [ - 'description' => '应用的服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => '运行的应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SlbIp' => [ - 'description' => '应用绑定的私网SLB的IP。', - 'type' => 'string', - 'example' => '192.***.***.***', - ], - 'Dockerize' => [ - 'description' => '是否为Docker应用:'."\n" - .'- false:非Docker应用。'."\n" - .'- true:Docker应用。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Description' => [ - 'description' => '应用描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceCount' => [ - 'description' => '应用包含的实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'cfac****-847e-4325-ad56-b5c2bc54****', - ], - 'SlbInfo' => [ - 'description' => '应用绑定的私网SLB的信息。', - 'type' => 'string', - 'example' => 'test', - ], - 'Memory' => [ - 'description' => '应用实例内存配置大小,单位为MB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'ClusterId' => [ - 'description' => '应用部署的ECS集群ID。', - 'type' => 'string', - 'example' => '5ffc5895-****-b03a-c223c6c3****', - ], - 'SlbId' => [ - 'description' => '应用绑定的私网SLB的ID。', - 'type' => 'string', - 'example' => 'lb-bp****ck3s3b9xs6x****', - ], - 'HealthCheckUrl' => [ - 'description' => '应用的健康检查URL', - 'type' => 'string', - 'example' => 'http://127.0.0.1:8080/xyz.html', - ], - 'ApplicationType' => [ - 'description' => '应用部署类型:'."\n" - .'- War:WAR包部署。'."\n" - .'- FatJar:JAR包部署。'."\n" - .'- 空:未部署。', - 'type' => 'string', - 'example' => 'FatJar', - ], - 'ExtSlbId' => [ - 'description' => '应用绑定的公网SLB的ID。', - 'type' => 'string', - 'example' => 'lb-bp1vceck3s3b9xs6x****', - ], - 'RegionId' => [ - 'description' => '应用所属地域的ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'BuildPackageId' => [ - 'description' => '容器版本ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '59', - ], - 'Email' => [ - 'description' => '电子邮箱地址。', - 'type' => 'string', - 'example' => '****@***.com', - ], - 'Cpu' => [ - 'description' => 'CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ClusterType' => [ - 'description' => '应用集群环境类型:'."\n" - .'- 0:普通Docker集群。'."\n" - .'- 1:Swarm 集群。'."\n" - .'- 2:ECS集群。'."\n" - .'- 3:Kubernetes集群。'."\n" - .'- 4:Pandora自动注册应用集群。', - 'type' => 'string', - 'example' => '2', - ], - 'SlbName' => [ - 'description' => '应用绑定的私网SLB的名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'EnableUrlCheck' => [ - 'description' => '是否开启了URL健康检查:'."\n" - .'- true:启用。'."\n" - .'- false:不启用。'."\n" - ."\n" - .'若启用,则在应用启动过程中,EDAS将尝试探测指定的URL,如果访问正常,则认为应用已经启动。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'EnablePortCheck' => [ - 'description' => '是否开启了端口健康检查:'."\n" - .'- true:启用。'."\n" - .'- false:不启用。'."\n" - ."\n" - .'若启用,在应用启动过程中,EDAS将检查端口是否存在,若存在,则认为应用已经启动。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AppPhase' => [ - 'description' => 'K8s应用当前所属状态,用于判断应用是否处于稳定状态,处于不稳定状态时,禁止相关的配置操作:'."\n" - ."\n" - .'* ready:应用处于就绪状态,可以进行应用变更。'."\n" - .'* progressing:应用变更中。'."\n" - .'* pending:应用变更被阻塞。'."\n" - .'* failed:应用变更失败。'."\n" - ."\n" - .'其中ready为稳定状态,其它状态为不稳定状态。', - 'type' => 'string', - 'example' => 'ready', - ], - 'HaveManageAccess' => [ - 'description' => '当前用户是否有应用的管理权限(RAM鉴权模式)。', - 'type' => 'string', - 'example' => 'true', - ], - 'WorkloadType' => [ - 'description' => '创建应用时Workload的类型,目前支持Deployment和StatefulSet类型。对于ECS应用不生效。', - 'type' => 'string', - 'example' => 'StatefulSet', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aekz****', - ], + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-2zef6ob8mrlzv8x3q****'], + 'OversoldFactor' => ['description' => '(**参数已不适用**)'."\n" + .'Docker集群CPU超卖。'."\n" + ."\n" + .'- 2:1:2比例'."\n" + ."\n" + .'- 4:1:4比例'."\n" + ."\n" + .'- 8:1:8比例', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NetworkMode' => ['description' => '网络类型。'."\n" + ."\n" + .'- 1:经典网络'."\n" + ."\n" + .'- 2:专有网络VPC', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'IaasProvider' => ['description' => '供应商。', 'type' => 'string', 'example' => 'ALIYUN'], + 'ClusterType' => ['description' => '集群类型。'."\n" + ."\n" + .'- 2:ECS集群。'."\n" + .'- 3:EDAS自带K8s集群。'."\n" + .'- 5:Kubernetes集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => '****_product_test2'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '8705ad13-5d86-47fc-b68f-257b59ed****'], + 'RegionId' => ['description' => '集群所属地域。', 'type' => 'string', 'example' => 'cn-beijing'], ], ], ], + 'description' => '', ], ], ], - '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' => '获取应用信息', + 'title' => '创建集群', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => "\n", + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListComponents' => [ - 'summary' => '调用ListComponents接口查询组件列表,本API适用于ECS集群中的应用。', - 'path' => '/pop/v5/resource/components', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-09-14T11:59:52.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T11:59:52.000Z', 'description' => '错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertCluster'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'ComponentList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Component' => [ - 'description' => '组件列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '组件类型:'."\n" - .'- JDK'."\n" - .'- TOMCAT'."\n" - .'- TENGINE', - 'type' => 'string', - 'example' => 'JDK', - ], - 'ComponentKey' => [ - 'description' => '组件Key。', - 'type' => 'string', - 'example' => 'JDK 7', - ], - 'Version' => [ - 'description' => '组件版本。', - 'type' => 'string', - 'example' => 'oraclejdk7', - ], - 'Expired' => [ - 'description' => '是否过期:'."\n" - .'- false:未过期'."\n" - .'- true:已过期', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ComponentId' => [ - 'description' => '组件ID。', - 'type' => 'string', - 'example' => '1', - ], - 'Desc' => [ - 'description' => '组件描述。', - 'type' => 'string', - 'example' => 'JDK 7', - ], - ], - ], - ], - ], - ], + '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 \\"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' => '查询组件列表', - 'requestParamsDescription' => '无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'QueryApplicationStatus' => [ - 'path' => '/pop/v5/app/app_status', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'InsertClusterMember' => [ + 'path' => '/pop/v5/resource/cluster_member', + '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' => 'clusterId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-441**************', - ], + 'schema' => ['description' => '需导入ECS实例的目标集群ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8'], + ], + [ + 'name' => 'instanceIds', + 'in' => 'query', + 'schema' => ['description' => '要导入集群的ECS实例ID,多个ECS实例请用英文逗号(,)分隔。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2ze7s2v0b789k60p****'], + ], + [ + 'name' => 'password', + 'in' => 'query', + 'schema' => ['description' => '要导入集群的ECS实例的登录密码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'YourPassword'], ], ], 'responses' => [ @@ -12133,452 +7537,50 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-********', - ], - 'AppInfo' => [ - 'description' => '应用信息。', - 'type' => 'object', - 'properties' => [ - 'EcuList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ecu' => [ - 'description' => 'ECU信息。', - 'type' => 'array', - 'items' => [ - 'description' => 'ECU信息对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-wz9b246zg************', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - 'IpAddr' => [ - 'description' => 'ECU的内网IP。', - 'type' => 'string', - 'example' => '172.16.*.**', - ], - 'AvailableCpu' => [ - 'description' => '可用CPU。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626207270', - ], - 'UserId' => [ - 'description' => '关联用户ID。', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-wz9fp1ljg***********', - ], - 'RegionId' => [ - 'description' => '所在RegionID。', - 'type' => 'string', - 'example' => 'cn-shen****-*', - ], - 'EcuId' => [ - 'description' => '这台ECU的唯一标示ID,可以通过在ECS实例上执行`dmidecode`获取。', - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'GroupId' => [ - 'description' => '分组ID。', - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'DockerEnv' => [ - 'description' => '是否安装了Docker。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Online' => [ - 'description' => '是否在线。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AvailableMem' => [ - 'description' => '可用内存。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ZoneId' => [ - 'description' => '所在地域ID。', - 'type' => 'string', - 'example' => 'cn-shen****-*', - ], - 'Name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => 'EDAS-scaled-cluster:默认集群', - ], - 'HeartbeatTime' => [ - 'description' => '心跳时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - ], - ], - ], - ], - ], - 'EccList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ecc' => [ - 'description' => 'ECC信息。', - 'type' => 'array', - 'items' => [ - 'description' => 'ECC信息对象。', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-wz9b246zg************', - ], - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573635952012', - ], - 'EcuId' => [ - 'description' => 'ECU唯一标识。', - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'EccId' => [ - 'description' => 'ECC唯一标识。', - 'type' => 'string', - 'example' => '0cf49a6c-95a8-4aa8-****-************', - ], - 'GroupId' => [ - 'description' => '分组ID。', - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'AppState' => [ - 'description' => '应用实例状态:'."\n" - .'- 0:AGENT_OFF:Agent下线。'."\n" - .'- 1:STOPPED:应用已停止。'."\n" - .'- 3:RUNNING\\_BUT\\_URL\\_FAILED:健康检查失败。'."\n" - .'- 7:RUNNING:应用运行中。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'TaskState' => [ - 'description' => '实例上最近的一次任务的任务状态:'."\n" - .'- 0:UNKNOWN:未知状态。'."\n" - .'- 1:PROCESSING:任务处理中。'."\n" - .'- 2:SUCCESS:任务执行成功。'."\n" - .'- 3:FAILED:任务执行失败。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626226691', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'ContainerStatus' => [ - 'description' => '容器状态。', - 'type' => 'string', - 'example' => '“”', - ], - 'Ip' => [ - 'description' => 'ECU的内网IP。', - 'type' => 'string', - 'example' => '172.16.*.***', - ], - ], - ], - ], - ], - ], - 'GroupList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Group' => [ - 'description' => '分组信息。', - 'type' => 'array', - 'items' => [ - 'description' => '分组信息对象。', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627441388', - ], - 'GroupName' => [ - 'description' => '分组名称。', - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'GroupId' => [ - 'description' => '分组ID。', - 'type' => 'string', - 'example' => '8123db90-880f-486f-****-************', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626155185', - ], - 'AppVersionId' => [ - 'description' => '分组部署记录ID。', - 'type' => 'string', - 'example' => 'changeorder_a**_*******_**', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'PackageVersionId' => [ - 'description' => '分组部署的包ID。', - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'GroupType' => [ - 'description' => '表示分组类型:'."\n" - ."\n" - .'- 0:表示默认。'."\n" - .'- 1:表示用户创建。'."\n" - .'- 2:表示灰度分组。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - ], - ], - ], - ], - ], - 'DeployRecordList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DeployRecord' => [ - 'description' => 'DeployRecord信息。', - 'type' => 'array', - 'items' => [ - 'description' => 'DeployRecord信息对象。', - 'type' => 'object', - 'properties' => [ - 'EccId' => [ - 'description' => 'ECC唯一标识。', - 'type' => 'string', - 'example' => '0cf49a6c-95a8-4aa8-****-************', - ], - 'EcuId' => [ - 'description' => 'ECU唯一标识。', - 'type' => 'string', - 'example' => '07bd417a-b863-477d-****-************', - ], - 'PackageMd5' => [ - 'description' => '部署包MD5值。', - 'type' => 'string', - 'example' => 'd0db5bcb442e492104d0f00e10a03dd9', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626226691', - ], - 'PackageVersionId' => [ - 'description' => '分组部署的包ID。', - 'type' => 'string', - 'example' => '441beb18-da42-44dc-****-************', - ], - 'DeployRecordId' => [ - 'description' => '部署记录ID。', - 'type' => 'string', - 'example' => 'bbc6c0d5-d792-4907-****-************', - ], - ], - ], - ], - ], - ], - 'Application' => [ - 'description' => '应用基础信息。', - 'type' => 'object', - 'properties' => [ - 'HealthCheckUrl' => [ - 'description' => '健康检查URL。', - 'type' => 'string', - 'example' => '“”', - ], - 'Owner' => [ - 'description' => '应用创建者。', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573626207270', - ], - 'UserId' => [ - 'description' => '云账号ID。', - 'type' => 'string', - 'example' => 'edas_com***_****@******-*****.***', - ], - 'Port' => [ - 'description' => '应用所占用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RunningInstanceCount' => [ - 'description' => '运行中的应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Phone' => [ - 'description' => '电话。', - 'type' => 'string', - 'example' => '1886666****', - ], - 'RegionId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'cn-shenzhen:test', - ], - 'BuildPackageId' => [ - 'description' => '容器版本ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Dockerize' => [ - 'description' => '是否为Docker应用。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Email' => [ - 'description' => '电子邮箱地址。', - 'type' => 'string', - 'example' => '1234567@qq.com', - ], - 'Cpu' => [ - 'description' => 'CPU数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InstanceCount' => [ - 'description' => '包含的应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LaunchTime' => [ - 'description' => '运行时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Memory' => [ - 'description' => '内存。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Name' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'EDAS-scaled-cluster:默认集群', - ], - 'ApplicationId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-****-************', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34-****-************', - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '请求接口返回的数据。', 'type' => 'string', 'example' => 'Transform submit success!'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '01B49A88-B06F-423B-A5EF-E5C0A89******'], ], ], ], ], - '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' => '查询应用状态', - 'summary' => '调用QueryApplicationStatus接口查询应用状态。', + 'title' => '向ECS集群中导入ECS实例', + 'summary' => '向ECS集群中导入ECS实例。', + 'description' => '## 限制说明'."\n" + ."\n" + .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。'."\n" + ."\n" + .'> 本接口已不推荐使用,建议使用InstallAgent接口代替,详情请参见[InstallAgent](~~127023~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertClusterMember'], + ], + ], + '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 \\"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' => '调用InsertDeployGroup接口创建应用分组。', 'path' => '/pop/v5/deploy_group', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12586,43 +7588,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' => '应用ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413-***********', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-***********'], ], [ 'name' => 'GroupName', 'in' => 'query', - 'schema' => [ - 'description' => '分组名称,支持的最大长度为64字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => '分组名称,支持的最大长度为64字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ 'name' => 'InitPackageVersionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组关联的初始化部署包版本ID。可以调用接口ListHistoryDeployVersion获取,具体操作,请参见[ListHistoryDeployVersion](~~149392~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '441beb18-da42-44dc-****-****', - ], + 'schema' => ['description' => '应用分组关联的初始化部署包版本ID。可以调用接口ListHistoryDeployVersion获取,具体操作,请参见[ListHistoryDeployVersion](~~149392~~)。', 'type' => 'string', 'required' => false, 'example' => '441beb18-da42-44dc-****-****'], ], ], 'responses' => [ @@ -12630,103 +7611,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '3RD9-D3FRE****************', - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '3RD9-D3FRE****************'], 'DeployGroupEntity' => [ 'description' => '创建的分组信息', 'type' => 'object', 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'GroupName' => [ - 'description' => '分组名称', - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1573627695779', - ], - 'AppVersionId' => [ - 'description' => '应用部署版本ID。'."\n" - .'- 如果应用部署过,则返回一串随机数。'."\n" - .'- 如果应用未部署,则返回值为空。', - 'type' => 'string', - 'example' => '****f4c50-16ee-a02b-667*****', - ], - 'AppId' => [ - 'description' => '应用ID', - 'type' => 'string', - 'example' => '3616cdca-4f92-4413-***********', - ], - 'PackageVersionId' => [ - 'description' => '该分组部署包的版本ID。'."\n" - .'- 如果该应用分组部署过应用,则返回一串随机数。'."\n" - .'- 如果该应用分组未部署过应用,则返回值为空。', - 'type' => 'string', - 'example' => '****7b93-8d62-4e34***********', - ], - 'GroupType' => [ - 'description' => '分组类型。'."\n" - .'- 0:默认分组'."\n" - .'- 1:未启用灰度流量管理的分组'."\n" - .'- 2:已启用灰度流程管理的分组', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Id' => [ - 'description' => '分组ID', - 'type' => 'string', - 'example' => '577f4c50-16ee-43d8-a02b-667*********', - ], - 'ClusterId' => [ - 'description' => '集群ID', - 'type' => 'string', - 'example' => '0d247b93-8d62-4e34***********', - ], + 'UpdateTime' => ['description' => '更新时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779'], + 'GroupName' => ['description' => '分组名称', 'type' => 'string', 'example' => 'test'], + 'CreateTime' => ['description' => '创建时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779'], + 'AppVersionId' => ['description' => '应用部署版本ID。'."\n" + .'- 如果应用部署过,则返回一串随机数。'."\n" + .'- 如果应用未部署,则返回值为空。', 'type' => 'string', 'example' => '****f4c50-16ee-a02b-667*****'], + 'AppId' => ['description' => '应用ID', 'type' => 'string', 'example' => '3616cdca-4f92-4413-***********'], + 'PackageVersionId' => ['description' => '该分组部署包的版本ID。'."\n" + .'- 如果该应用分组部署过应用,则返回一串随机数。'."\n" + .'- 如果该应用分组未部署过应用,则返回值为空。', 'type' => 'string', 'example' => '****7b93-8d62-4e34***********'], + 'GroupType' => ['description' => '分组类型。'."\n" + .'- 0:默认分组'."\n" + .'- 1:未启用灰度流量管理的分组'."\n" + .'- 2:已启用灰度流程管理的分组', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Id' => ['description' => '分组ID', 'type' => 'string', 'example' => '577f4c50-16ee-43d8-a02b-667*********'], + 'ClusterId' => ['description' => '集群ID', 'type' => 'string', 'example' => '0d247b93-8d62-4e34***********'], ], ], ], + 'description' => '', ], ], ], - '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' => '创建应用部署分组', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BindEcsSlb' => [ - 'summary' => '调用BindEcsSlb接口来给部署在ECS集群中的应用绑定SLB。', - 'path' => '/pop/v5/app/slb/bind_slb', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-14T05:44:10.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T05:44:10.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertDeployGroup'], + ], ], + '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 \\"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":""}]', + ], + 'InsertK8sApplication' => [ + 'path' => '/pop/v5/k8s/acs/create_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12734,1214 +7680,575 @@ ], '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' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => '内网SLB后端端口,也是应用的服务端口,范围为1~65535。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ - 'name' => 'SlbId', + 'name' => 'IntranetSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB实例ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-uf6j54m3a****cj01jx8', - ], + 'schema' => ['description' => '内网SLB前端端口,范围为1~65535。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ - 'name' => 'ListenerPort', + 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB监听端口', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '80', - ], + 'schema' => ['description' => '镜像地址,当设置`PackageType`为`Image`时,此参数项为必填。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'registry.cn-beijing.aliyuncs.com/****_test/****-cons****:1.0'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'ApplicationDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB虚拟服务器组ID', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-2ze****6l*****', - ], + 'schema' => ['description' => '应用描述信息。', 'type' => 'string', 'required' => false, 'example' => 'Production Environment'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'RepoId', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB监听协议', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tcp', - ], + 'schema' => ['description' => '镜像的仓库ID。', 'type' => 'string', 'required' => false, 'example' => 'ced********'], ], [ - 'name' => 'DeployGroupId', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => '绑定的部署分组ID,可通过调用ListDeployGroup接口来获取,详情请参见[ListDeployGroup](~~62077~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '577f4c50-16ee-43d8-****-****', - ], + 'schema' => ['description' => '应用实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ - 'name' => 'VServerGroupName', + 'name' => 'LimitCpu', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组名', - 'type' => 'string', - 'required' => false, - 'example' => '****/31405/internet-test-ack-test****/default/clusterid', - ], + 'schema' => ['description' => '应用运行过程中,应用实例的CPU限额,单位:核数。如果LimitmCpu不为空,则忽略该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ - 'name' => 'ListenerHealthCheckUrl', + 'name' => 'LimitMem', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查路径', - 'type' => 'string', - 'required' => false, - 'example' => '/_ehc.html', - ], + 'schema' => ['description' => '应用运行过程中,应用实例的内存限额,单位:MB。LimitMem取值要不小于RequestsMem。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'VForwardingUrlRule', + 'name' => 'RequestsCpu', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB转发规则', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com/forwarding', - ], + 'schema' => ['description' => '应用创建时,应用实例的CPU限额,单位:核数。设置为0时表示不限制。如果RequestsmCpu,则使用RequestsmCpu,忽略该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '此次变更对应的变更记录ID', - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', - ], - ], - ], + [ + 'name' => 'RequestsMem', + 'in' => 'query', + 'schema' => ['description' => '应用创建时,应用实例的内存限额,单位:MB。设置为0时表示不限制。RequestsMem的取值不能大于LimitMem的取值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, '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' => '来给部署在ECS集群中的应用绑定SLB', - 'responseParamsDescription' => '{'."\n" - .' "ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",'."\n" - .' "Code": 200,'."\n" - .' "Message": "success",'."\n" - .' "RequestId": "03FD1520-0FD6-436A-****-265318D7****"'."\n" - .'}', - ], - 'UnbindSlb' => [ - 'summary' => '调用UnbindSlb接口解除绑定SLB。', - 'path' => '/pop/app/unbind_slb_json', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => '应用启动命令。如果设置该参数,镜像在启动时,会替代镜像中的原有的启动命令。', 'type' => 'string', 'required' => false, 'example' => 'ls'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d-********************', - ], + 'schema' => ['description' => '与命令组合使用,命令的参数是JsonArray字符串,格式如:`[{"argument":"-c"},{"argument":"test"}]`。其中`-c`、`test`为需要设置的两个参数。', 'type' => 'string', 'required' => false, 'example' => '[{"argument":"-lh"}]'], ], [ - 'name' => 'SlbId', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-wz9vo49****************', - ], + 'schema' => ['description' => '应用名称。必须以字母开头,支持数字、字母和短划线(-),最多支持36个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'doc-test'], ], [ - 'name' => 'Type', + 'name' => 'IntranetSlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB网络类型:'."\n" - ."\n" - .'- **internet**:外网实例。'."\n" - ."\n" - .'- **intranet**:内网实例。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], + 'schema' => ['description' => '私网SLB协议,支持TCP、HTTP和HTTPS协议。', 'type' => 'string', 'required' => false, 'example' => 'TCP'], ], [ - 'name' => 'DeleteListener', + 'name' => 'IntranetSlbId', 'in' => 'query', - 'schema' => [ - 'description' => '是否删除监听:'."\n" - .'* true: 删除。'."\n" - .'* false:不删除。', - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '私网SLB ID,不配置时,EDAS会自动为用户新购SLB。', 'type' => 'string', 'required' => false, 'example' => 'ae93********'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'Unbind slb success', - ], - 'Data' => [ - 'description' => '空值,无实际含义。', - 'type' => 'string', - 'example' => '{}', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - ], - ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => '集群ID,可调用ListCluster接口获取,详情请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, '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":""}]', - 'title' => '解除绑定SLB', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RollbackApplication' => [ - 'path' => '/pop/v5/changeorder/co_rollback', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'InternetSlbId', + 'in' => 'query', + 'schema' => ['description' => '公网SLB ID,不配置时,EDAS会自动为用户新购SLB。', 'type' => 'string', 'required' => false, 'example' => 'a3d4********'], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'InternetSlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~423162~~)。', - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-4413-************', - ], + 'schema' => ['description' => '公网SLB协议,支持TCP、HTTP和HTTPS协议。', 'type' => 'string', 'required' => false, 'example' => 'TCP'], ], [ - 'name' => 'HistoryVersion', + 'name' => 'InternetSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => '设置应用要回滚到的历史版本。请根据调用ListHistoryDeployVersion接口返回的`PackageVersion`填写,具体操作,请参见[ListHistoryDeployVersion](~~423163~~)。', - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-13 14:22:22', - ], + 'schema' => ['description' => '公网SLB前端端口,范围为1~65535。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ - 'name' => 'GroupId', + 'name' => 'InternetTargetPort', 'in' => 'query', - 'schema' => [ - 'description' => '应用分组ID。可以调用ListDeployGroup接口获取,具体操作,请参见[ListDeployGroup](~~423184~~)。'."\n" - ."\n" - .'<note>如果需要回滚全部分组的应用,请设置为`all`。</note>'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '8123db90-880f-48***************', - ], + 'schema' => ['description' => '私网SLB后端端口,也是应用的服务端口,范围为1~65535。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], ], [ - 'name' => 'Batch', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => '分批次数。默认1批,最多5批。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x2",'."\n" + .' "valueFrom": {'."\n" + .' "configMapKeyRef": {'."\n" + .' "name": "my-config",'."\n" + .' "key": "y2"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x3",'."\n" + .' "valueFrom": {'."\n" + .' "secretKeyRef": {'."\n" + .' "name": "my-secret",'."\n" + .' "key": "y3"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', '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' => 'BatchWaitTime', + 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => '分批间等待时间,默认0表示不等待,最多等待5分钟。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '停止前执行脚本,示例格式:`{"tcpSocket":{"host":"", "port":8080}}`。'."\n" + ."\n" + .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。可以调用GetChangeOrderInfo接口获取此次回滚变更的详细执行进展,具体操作,请参见[GetChangeOrderInfo](~~423155~~)。', - 'type' => 'string', - 'example' => '921026b8-d1be-************', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*********', - ], - ], - ], + [ + 'name' => 'PostStart', + 'in' => 'query', + 'schema' => ['description' => '启动后执行脚本,格式如:`{"exec":{"command":\\["cat","/etc/group"\\]}}`。'."\n" + ."\n" + .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, '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' => '回滚应用', - 'summary' => '调用RollbackApplication接口回滚应用。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InsertApplication' => [ - 'summary' => '调用InsertApplication接口在ECS集群中创建应用。', - 'path' => '/pop/v5/changeorder/co_create_app', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Liveness', + 'in' => 'query', + 'schema' => ['description' => '容器存活状态监测 ,格式如`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`。'."\n" + ."\n" + .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, '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' => 'ECS集群ID。ECS集群ID不为空,则为指定的ECS集群创建应用,为空则为默认集群创建应用(推荐指定)。', - 'type' => 'string', - 'required' => false, - 'example' => '13136119-f384-4f50-b76e-xxxxxxxxxxx', - ], + 'schema' => ['description' => '容器业务状态检查,如果检查失败,经过K8s Service的流量将不转入到该容器,格式如:`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}`。'."\n" + ."\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"}]}}'], ], [ - 'name' => 'BuildPackId', + 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'description' => 'EDAS-Container构建包号,当创建HSF应用时,该参数必须指定。有以下两种获取方式:'."\n" - ."\n" - .'- 通过容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~149391~~)。'."\n" - ."\n" - .'- 在参见[容器版本](~~92614~~)表格中的**构建包序号**列获取。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '59', - ], + 'schema' => ['description' => '挂载的NAS的ID。如果不填,且存在mountDescs字段,则默认将自动购买一个NAS并挂载到VPC内的交换机上。', 'type' => 'string', 'required' => false, 'example' => 'dfs23****'], ], [ - 'name' => 'Description', + 'name' => 'MountDescs', 'in' => 'query', - 'schema' => [ - 'description' => '应用描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'create by edas pop api', - ], + 'schema' => ['description' => '挂载配置描述,为一个序列化的JSON。例如:`\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`。其中,`nasPath`是指文件储存路径;`mountPath`是指挂载到容器内的路径。', 'type' => 'string', 'required' => false, 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]'], ], [ - 'name' => 'ApplicationName', + 'name' => 'StorageType', 'in' => 'query', - 'schema' => [ - 'description' => '应用名称。仅允许使用数字、英文字母、短划线(-)和下划线(_) ,而且必须以英文字母开头,最长36个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'hello-edas-test-1', - ], + 'schema' => ['description' => 'NAS存储类型,包括:'."\n" + ."\n" + .'* 通用型NAS:Capacity(容量型)、Performance(性能型)'."\n" + .'* 极速型NAS:Standard(标准型)、Advance(高级型)'."\n" + ."\n" + .'目前只支持Performance类型。', 'type' => 'string', 'required' => false, 'example' => 'Performance'], ], [ - 'name' => 'ReservedPortStr', + 'name' => 'LocalVolume', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)**应用预留端口号。', - 'type' => 'string', - 'required' => false, - 'example' => '8090', - ], + 'schema' => ['description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中:'."\n" + ."\n" + .'- `nodePath`为宿主机路径。'."\n" + ."\n" + .'- `mountPath`为容器内的路径。'."\n" + ."\n" + .'- `type`为挂载类型。', 'type' => 'string', 'required' => false, 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]'], ], [ - 'name' => 'EcuInfo', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '需要扩容的ECS实例的`ecu_id`(导入EDAS的ECS实例在EDAS中的唯一身份),多个`ecu_id`用英文逗号(,)分开。`ecu_id`可通过查询ListScaleOutEcu接口获取,请参见[ListScaleOutEcu](~~149371~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '07bd417a-b863-477d-****-************', - ], + 'schema' => ['description' => 'K8s集群的命名空间,它将决定您的应用部署在哪个K8s命名空间。默认为default。', 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ - 'name' => 'Cpu', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)**Swarm集群应用容器CPU核数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'EDAS命名空间对应ID,非默认命名空间须填写。', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen:beta****'], ], [ - 'name' => 'Mem', + 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)**Swarm集群应用容器Memory大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '2048', - ], + 'schema' => ['description' => '应用包类型。可选参数值包含:FatJar、WAR和Image。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'WAR'], ], [ - 'name' => 'LogicalRegionId', + 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => '微服务空间ID,您可在EDAS控制台左侧菜单栏选择**资源管理** > **微服务空间**,找到目标微服务空间对应的微服务空间ID,也可通过ListUserDefineRegion接口获取到微服务空间ID,请参见[ListUserDefineRegion](~~149377~~)。'."\n" - .' '."\n" - .'- 如果指定的集群不在默认微服务空间下,则需要指定该参数,否则会遇到`application regionId is different with cluster regionId!`的错误提示。'."\n" - .'- 如果在默认微服务空间下,则不需要指定。该参数需要与指定的集群ID所在的微服务空间保持一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:prod', - ], + 'schema' => ['description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。'."\n" + ."\n" + .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', 'type' => 'string', 'required' => false, 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], ], [ - 'name' => 'Jdk', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)** 用来指定应用使用的JDK版本。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8', - ], + 'schema' => ['description' => '部署包的版本号,WAR和FatJar类型必填。请自定义它的含义。'."\n" + ."\n" + .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', 'type' => 'string', 'required' => false, 'example' => '20200720'], + ], + [ + 'name' => 'JDK', + 'in' => 'query', + 'schema' => ['description' => '部署的包依赖的JDK版本。可选的参数值为Open JDK 7、Open JDK 8或Custom OpenJDK。镜像部署方式不支持此参数。当使用Custom OpenJDK时,还需配置UserBaseImageUrl字段。', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8'], ], [ 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)** 用于指定Apache Tomcat版本。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4', - ], + 'schema' => ['description' => '部署包依赖的Tomcat版本。适用于通过WAR包部署的Spring Cloud和Dubbo应用,镜像不支持此参数。', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91'], ], [ - 'name' => 'PackageType', + 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'description' => '应用部署包格式,可设置为war或者jar。', - 'type' => 'string', - 'required' => false, - 'example' => 'war', - ], + 'schema' => ['description' => '部署的包依赖的` EDAS-Container `版本。'."\n" + ."\n" + .'> 使用镜像部署时不支持此参数。', 'type' => 'string', 'required' => false, 'example' => '3.5.9'], ], [ - 'name' => 'ComponentIds', + 'name' => 'UriEncoding', 'in' => 'query', - 'schema' => [ - 'description' => '应用组件ID。可通过查询组件列表接口ListComponents接口获取,请参见[ListComponents](~~97502~~)。'."\n" - ."\n" - .'当创建的应用运行环境使用Apache Tomcat(适用于WAR包部署的Dubbo应用)或者标准Java应用运行环境(适用于JAR包部署的Spring Boot或Spring Cloud应用)时需要指定。'."\n" - ."\n" - .'常用的应用组件ID及含义:'."\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" - .'该参数需要更新Java或者Python SDK版本到2.57.3或以上版本才可以设置,未使用EDAS提供的SDK的(例如在使用aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli等)用户可直接设置该参数。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" + ."\n" + .'> 应用配置不设置该参数,使用Tomcat默认值。', 'type' => 'string', 'required' => false, 'example' => 'GBK'], ], [ - 'name' => 'Hooks', + 'name' => 'UseBodyEncoding', 'in' => 'query', - 'schema' => [ - 'description' => '挂载脚本配置,为一段JSON格式文本,如:'."\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"}]', - ], + 'schema' => ['description' => 'useBodyEncodingForURI是否启用。'."\n" + ."\n" + .'> 应用配置不设置该参数,使用默认值false。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'JvmOptions', + 'name' => 'RequestsmCpu', 'in' => 'query', - 'schema' => [ - 'description' => '自定义参数。', - 'type' => 'string', - 'required' => false, - 'example' => '-Dproperty=value', - ], + 'schema' => ['description' => '应用创建时,应用实例的CPU限额,单位:毫核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500'], ], [ - 'name' => 'MinHeapSize', + 'name' => 'LimitmCpu', 'in' => 'query', - 'schema' => [ - 'description' => '初始化堆内存大小,单位M。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '500', - ], + 'schema' => ['description' => '应用运行过程中,应用实例的CPU限额。 单位:毫核数,设置为0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], ], [ - 'name' => 'MaxPermSize', + 'name' => 'RuntimeClassName', 'in' => 'query', - 'schema' => [ - 'description' => '持久代内存大小,单位M。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '200', - ], + 'schema' => ['description' => '容器运行时类型,仅适用于使用安全沙箱容器的集群。', 'type' => 'string', 'required' => false, 'example' => 'runc'], ], [ - 'name' => 'MaxHeapSize', + 'name' => 'DeployAcrossZones', 'in' => 'query', - 'schema' => [ - 'description' => '最大堆内存大小,单位M。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '1000', - ], + 'schema' => ['description' => '是否将应用实例分布到多可用区。`true`代表是,其他值为否。', 'type' => 'string', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'EnableUrlCheck', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => '是否启用健康检查URL,取值如下:'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:不启用', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '变更流程超时时间,单位:秒。取值范围为1~1800秒,不填默认为1800秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], [ - 'name' => 'EnablePortCheck', + 'name' => 'EnableAhas', 'in' => 'query', - 'schema' => [ - 'description' => '是否启用端口健康检查,取值如下:'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:不启用', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否接入AHAS:'."\n" + .' '."\n" + .'- true:接入AHAS。'."\n" + .'- false:不接入AHAS。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'HealthCheckUrl', + 'name' => 'WebContainerConfig', 'in' => 'query', - 'schema' => [ - 'description' => '应用健康检查URL(等价于HealthCheckURL参数)。', - 'type' => 'string', - 'required' => false, - 'example' => 'http://127.0.0.1:8080/_ehc.html', - ], + 'schema' => ['description' => 'Tomcat容器配置,设置为""或"{}"表示删除配置:'."\n" + .'- useDefaultConfig:是否使用自定义配置,若为true,则表示不使用自定义配置,若为false,则表示使用自定义配置。若不使用自定义配置,则下面的参数配置将不会生效。'."\n" + .'- contextInputType:选择应用的访问路径。'."\n" + .' - war:无需填写自定义路径,应用的访问路径是WAR包名称。'."\n" + .' - root:无需填写自定义路径,应用的访问路径是`/`。'."\n" + .' - custom:需要在下面的自定义路径中填写自定义的路径。'."\n" + .'- contextPath:自定义路径,当contextInputType类型为custom时,才需要配置此参数。'."\n" + .'- httpPort:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。'."\n" + .'- maxThreads:配置连接池的连接数大小,默认大小是400。'."\n" + .' > 此项配置对应用性能有很大影响,请由专业人士配置。'."\n" + ."\n" + .'- uriEncoding:Tomcat的编码格式,包括UTF-8、ISO-8859-1、GBK和GB2312。如果不设置则默认为ISO-8859-1。'."\n" + .'- useBodyEncoding:是否使用BodyEncoding for URL。'."\n" + .'- useAdvancedServerXml:是否使用高级配置自定义设置server.xml文件,当上述参数类型和具体参数无法满足您的需求时,可以选中使用高级设置,直接对Tomcat的Server.xml文件进行编辑。'."\n" + .'- serverXml:高级配置中自定义设置的server.xml文本文件内容,当useAdvancedServerXml为true时生效。'."\n", 'type' => 'string', 'required' => false, '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' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek24j4s4b*****', - ], + 'schema' => ['description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。JSON中key取值如下:'."\n" + ."\n" + .'- InitialHeapSize:代表初始化堆大小。'."\n" + .'- MaxHeapSize:代表最大堆大小。'."\n" + .'- CustomParams:代表用户自定义内容,如JVM -D参数等。'."\n" + .'- 其它情况:可自行查看前端提交的JSON结构。', '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"}}'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'The application name test-hsy-C5039-paas-6 had been created successfully.', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4264F69C-686C-4107-B493-0599C8xxxxxx', - ], - 'ApplicationInfo' => [ - 'description' => '应用创建成功后返回的应用对象。', - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'd0cf569e-dce3-4efb-****-08b70021****', - ], - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'hello-edas-test-1', - ], - 'Owner' => [ - 'description' => '该应用拥有者,即应用创建者。', - 'type' => 'string', - 'example' => '249763358688********', - ], - 'Dockerize' => [ - 'description' => '是否为Docker应用,取值如下:'."\n" - ."\n" - .'- **true**:是'."\n" - ."\n" - .'- **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionName' => [ - 'description' => '地域名称。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AppId' => [ - 'description' => '应用ID,EDAS应用的唯一标识。', - 'type' => 'string', - 'example' => '6c733bcd-6efb-47a1-8226-cf722c******', - ], - 'UserId' => [ - 'description' => '应用拥有者的USER_ID。', - 'type' => 'string', - 'example' => 'tdy218@1362469756xxxxxx', - ], - 'Port' => [ - 'description' => '创建成功的应用默认端口号8080。可以使用UpdateContainerConfiguration接口修改,请参见[UpdateContainerConfiguration](~~149403~~)。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - ], - ], - ], - ], + [ + 'name' => 'SlsConfigs', + 'in' => 'query', + 'schema' => ['description' => 'Logstore配置,设置为`""`或`"{}"`表示删除配置:'."\n" + ."\n" + .'- Configs:'."\n" + ."\n" + .' - type:采集类型,文件类型为file,标准输出类型为stdout。'."\n" + ."\n" + .' - Logstore:Logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则。'."\n" + .' - 日志库名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" + .' - 必须以小写字母和数字开头和结尾。'."\n" + .' - 名称长度为3~63个字符。若为空,则由系统自动生成。'."\n" + .' - LogDir:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配,采集路径应符合正则:`^/(.+)/(.*)^/$`。', '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/*"}]'], ], - ], - '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' => '创建 ECS 集群的应用', - 'description' => '> 如需要创建K8s集群应用,则需要使用EDAS提供的InsertK8sApplication接口。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## 常见应用的主要参数说明'."\n" - ."\n" - .'1. 使用EDAS Java SDK创建Apache Tomcat作为应用运行环境的原生Dubbo、 Java Web等类型应用主要参数:'."\n" - .' ```'."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setApplicationName("hello-edas-test-1"); //应用名称。'."\n" - .' request.setPackageType("war"); // 应用包类型,也可以不指定。'."\n" - .' request.setComponentIds("7"); // 7或者4。7表示Apache Tomcat 8.5.42,4表示 Apache Tomcat 7.0.91。'."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" - .' ```'."\n" - ."\n\n" - .'2. 使用EDAS Java SDK创建标准Java应用运行时环境的原生Spring Boot/Spring Cloud等FatJar类型应用主要参数:'."\n" - .' ```'."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setApplicationName("hello-edas-test-2"); //应用名称。'."\n" - .' request.setPackageType("jar"); // 应用包类型,也可以不指定。'."\n" - .' request.setComponentIds("5"); // 5或者6。5表示OpenJDK 1.8.0;6 表示OpenJDK 1.8.0;也可以不指定该参数,默认将使用OpenJDK 1.8.0。'."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" - .' ```'."\n" - ."\n\n" - .'3. 使用EDAS Java SDK创建EDAS-Container作为应用运行时环境的HSF应用主要参数:'."\n" - .' ```'."\n" - .' InsertApplicationRequest request = new InsertApplicationRequest();'."\n" - .' request.setBuildPackId(59); // EDAS-Container构建包版本号,59表示使用 edas-container 3.5.8。'."\n" - .' request.setApplicationName("hello-edas-test-3"); //应用名称。'."\n" - .' request.setPackageType("war"); // 应用包类型,war或者jar,也可以不填写。'."\n" - .' request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。'."\n" - .' request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定Cluster ID的ECS集群下创建应用。'."\n" - .' ```', - ], - 'DeployApplication' => [ - 'summary' => '调用DeployApplication接口在ECS集群中部署应用。', - 'path' => '/pop/v5/changeorder/co_deploy', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'IsMultilingualApp', + 'in' => 'query', + 'schema' => ['description' => '是否为多语言应用。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'DeployAcrossNodes', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。可通过查询ListApplication接口获取,请参见[ListApplication](~~423162~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-********************', - ], + 'schema' => ['description' => '是否将应用实例分布到多个节点。`true`代表是,其他值为否。', 'type' => 'string', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'PackageVersion', + 'name' => 'PvcMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => '部署的应用部署包版本,最长64个字符,建议使用时间戳。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1.0', - ], + 'schema' => ['description' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" + ."\n" + .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" + .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持两个配置参数。'."\n" + .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" + .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', 'type' => 'string', 'required' => false, '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' => '应用部署描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'Deploy by edas pop api', - ], + 'schema' => ['description' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" + .'- name:ConfigMap或Secret的名称。'."\n" + .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" + .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', 'type' => 'string', 'required' => false, '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' => '部署类型。包含`URL`和`image`(废弃参数值),其中只有Swarm集群应用支持镜像(`image`)部署。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'URL', - ], + 'schema' => ['description' => '只有在用户使用一个从未导入的集群来创建应用时,才需要指定csClusterId。', 'type' => 'string', 'required' => false, 'example' => 'abcdefg'], ], [ - 'name' => 'WarUrl', + 'name' => 'EnableAsm', 'in' => 'query', - 'schema' => [ - 'description' => '应用部署包(WAR或JAR)的URL地址。**DeployType**为`url`时必填,建议使用OSS存储的应用部署包路径。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war', - ], + 'schema' => ['description' => '只有在用户使用一个从未导入的集群来创建应用,同时开启ASM时,才需要设置这个值为true。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ImageUrl', + 'name' => 'EnvFroms', 'in' => 'query', - 'schema' => [ - 'description' => '**(废弃参数)**Swarm集群应用部署时可指定的应用镜像URL,推荐使用阿里云镜像仓库地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', - ], + 'schema' => ['description' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" + ."\n" + .'EnvFroms的配置参数说明如下:'."\n" + .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" + .' - name:ConfigMap名称。'."\n" + .'- secretRef:Secret引用,该字段包括以下参数:'."\n" + .' - name:Secret名称。'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]'], ], [ - 'name' => 'GroupId', + 'name' => 'EmptyDirs', 'in' => 'query', - 'schema' => [ - 'description' => '部署分组ID。可通过查询ListDeployGroup接口获取,请参见[ListDeployGroup](~~423184~~)。'."\n" - ."\n" - .'<note>如果要部署到所有分组,参数设置为`all`。</note>'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'all', - ], + 'schema' => ['description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" + ."\n" + .'- mountPath:容器挂载路径,必填。'."\n" + .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" + .'- subPathExpr:子目录表达式,可选。', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]'], ], [ - 'name' => 'Batch', + 'name' => 'BuildPackId', 'in' => 'query', - 'schema' => [ - 'description' => '每组批次。'."\n" - ."\n" - .'- 当指定了应用分组的GroupId为具体的某个应用分组ID时,表示向指定应用分组部署。此时可指定的最小批次数为1,最大批次数为该应用分组下正常状态的ECS实例数最大值,实际分批数结果范围:\\[1,指定的分批数\\] (指定的分批数=指定的分组下面ECS总数)。'."\n" - .'- 当指定了应用分组的GroupId为all时,表示向所有应用分组部署,此时可指定的最小批次数为1,最大批次数为正常状态的ECS数量最多的分组下的ECS实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '配置`edas container`版本,与`edasContainerVersion`字段冲突。建议使用`edasContainerVersion`字段。', 'type' => 'string', 'required' => false, 'example' => '-1'], ], [ - 'name' => 'BatchWaitTime', + 'name' => 'CustomAffinity', 'in' => 'query', - 'schema' => [ - 'description' => '分批等待时间,单位:分钟。'."\n" - .'- 默认为0,表示不等待。'."\n" - .'- 最大为5。'."\n" - ."\n" - .'当实际批次数较多时,需要设置一个合理值,否则会导致本次应用部署的变更持续时间比较长。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '自定义关联。', 'type' => 'string', 'required' => false, 'example' => 'demo'], ], [ - 'name' => 'AppEnv', + 'name' => 'CustomTolerations', 'in' => 'query', - 'schema' => [ - 'description' => '部署环境变量,格式必须符合`{"name":"x","value":"y"},{"name":"x2","value":"y2"} `,`key`固定为`name`和`value`。', - 'type' => 'string', - 'required' => false, - 'example' => '[{\\"name\\":\\"env_name_1\\", \\"value\\":\\"env_value_1\\"}, {\\"name\\":\\"env_name_2\\",\\"value\\":\\"env_value_2\\"}]', - ], + 'schema' => ['description' => '自定义公差。', 'type' => 'string', 'required' => false, 'example' => 'demo'], ], [ - 'name' => 'BuildPackId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'EDAS-Container构建包号。'."\n" - ."\n" - .'- 如果部署时不需要更改EDAS-Container版本,则该参数可不设置。'."\n" - .'- 如果需要在本次部署时,更新目标应用的EDAS-Container版本,则需要设置。'."\n" - ."\n" - .'有以下两种获取方式:'."\n" - ."\n" - .'- 可通过查询容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~149391~~)。'."\n" - .'- 在[容器版本说明](~~92614~~)表格中的**构建包序号**列获取。例如`59`表示`EDAS-Container 3.5.8 版本`。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '59', - ], + 'schema' => ['title' => '', 'description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => '461'], ], [ - 'name' => 'ComponentIds', + 'name' => 'Annotations', 'in' => 'query', - 'schema' => [ - 'description' => '应用组件ID,参数不适用于HSF应用。可通过查询组件列表接口ListComponents接口获取,请参见[ListComponents](~~423223~~)。'."\n" - ."\n" - .'- 当创建应用时已经设置,则本次部署不需要再设置。'."\n" - .'- 如果在本次部署时需要更新目标应用的应用组件版本则需要设置。'."\n" - ."\n" - .'常用的应用组件ID及含义如下:'."\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" - .'更多信息,请参见[InsertApplication](~~423185~~)接口的常见应用的主要参数说明。', - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => '应用Pod注解。', 'type' => 'string', 'required' => false, 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}'], ], [ - 'name' => 'ReleaseType', + 'name' => 'Labels', 'in' => 'query', - 'schema' => [ - 'description' => '分批方式。'."\n" - .'- 0为自动。'."\n" - .'- 1为各批次间需要手动确认。可在控制台目标应用的变更流程详情中单击**继续下一批**,也可通过调用ContinuePipeline继续下一批(由于使用API部署,建议使用自动分批),请参见[ContinuePipeline](~~126990~~)。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '应用Pod标签。', 'type' => 'string', 'required' => false, 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}'], ], [ - 'name' => 'Gray', + 'name' => 'EnableEmptyPushReject', 'in' => 'query', - 'schema' => [ - 'description' => '是否为金丝雀发布。'."\n" - ."\n" - .'- true:金丝雀发布。'."\n" - ."\n" - .' - 灰度发布时,必须指定灰度发布的分组ID,即GroupId。'."\n" - ."\n" - .' - 灰度发布作为一个批次发布。'."\n" - ."\n" - .' - 灰度结束后,正常发布,分组批次由Batch控制。'."\n" - ."\n" - .'- false:非金丝雀发布(单批或分批发布)。'."\n" - ."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '是否开启推空保护', 'description' => '是否开启推空保护:'."\n" + ."\n" + .'- true:开启推空保护。'."\n" + .'- false:不开启推空保护。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'TrafficControlStrategy', + 'name' => 'EnableLosslessRule', 'in' => 'query', - 'schema' => [ - 'description' => '灰度发布策略内容,请参见[DeployK8sApplication](~~423212~~)。', - 'type' => 'string', - 'required' => false, - 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}', - ], + 'schema' => ['title' => '是否启用无损上线规则', 'description' => '是否启用无损上线规则:'."\n" + ."\n" + .'- true:启用无损上线规则。'."\n" + .'- false:不启用无损上线规则。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口请求的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '应用部署的变更流程ID。', - 'type' => 'string', - 'example' => 'adf86823-055b-48a4-a59f-fa5582******', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '接口请求唯一标识符。', - 'type' => 'string', - 'example' => 'd6834ee9-5045-*************', - ], - ], - ], + [ + 'name' => 'LosslessRuleWarmupTime', + 'in' => 'query', + 'schema' => ['title' => '无损上线服务预热时长', 'description' => '服务预热时长,单位:秒。取值范围为0~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' => '用于向 ECS 集群部署应用', - 'description' => '> 如果需要在导入EDAS的容器服务K8s集群部署应用,请使用EDAS提供的DeployK8sApplication接口,更多信息,请参见[DeployK8sApplication](~~149420~~)。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ScaleoutApplicationWithNewInstances' => [ - 'summary' => '在EDAS中代购ECS实例,并将代购的实例扩容到指定的应用分组。', - 'path' => '/pop/v5/scaling/scale_out', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LosslessRuleDelayTime', + 'in' => 'query', + 'schema' => ['title' => '无损上线延迟注册时长', 'description' => '服务延迟注册时长,单位:秒。取值范围为0~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' => '扩容的目标应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'e370c17f-*****-3df0721a327', - ], + 'schema' => ['title' => '无损上线服务预热曲线', 'description' => '服务预热曲线。取值范围0~20。默认为2(适合于一般预热场景),表示在预热周期内服务提供者的流量接收曲线形状呈2次曲线形状。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'GroupId', + 'name' => 'LosslessRuleAligned', 'in' => 'query', - 'schema' => [ - 'description' => '扩容应用的目标分组ID,可通过调用ListDeployGroup接口来获取,详情请参见[ListDeployGroup](~~62077~~)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'e37**********-33df0721a327', - ], + 'schema' => ['title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册:'."\n" + ."\n" + .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务注册后,该接口返回200,否则返回500。'."\n" + .' > 若同时配置`LosslessRuleRelated`为`true`,则该接口检查是否完成服务预热。'."\n" + ."\n" + .'- false:不为应用提供检查是否完成服务注册的接口。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ScalingNum', + 'name' => 'LosslessRuleRelated', 'in' => 'query', - 'schema' => [ - 'description' => '此次扩容的实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热:'."\n" + ."\n" + .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务预热后,该接口返回200,否则返回500。'."\n" + .'- false:不为应用提供检查是否完成服务预热的接口。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'TemplateId', + 'name' => 'ServiceConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'ECS启动模板ID,可通过调用DescribeLaunchTemplates接口获取,详情请参见[DescribeLaunchTemplates](~~73759~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'lt-****hy9s2 ', - ], + 'schema' => ['title' => '应用K8s服务信息', 'description' => 'K8s服务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' => 'ECS启动模板版本,可通过调用DescribeLaunchTemplateVersions接口获取,详情请参见[DescribeLaunchTemplateVersions](~~73761~~)。'."\n" - ."\n" - .'> 设置为`-1`代表使用默认的启动模板版本。', - 'type' => 'string', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['title' => '创建应用使用的应用模版名称,若创建应用时指定应用模版,则将优先使用应用模版和AppConfig参数确定应用配置,忽略其他配置', 'description' => '创建应用使用的应用模版名称,若创建应用时指定应用模版,则将优先使用应用模版和AppConfig参数确定应用配置,忽略其他配置。', 'type' => 'string', 'required' => false, 'example' => 'app-template001'], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'AppConfig', 'in' => 'query', - 'schema' => [ - 'description' => '指定伸缩组的回收模式,取值范围:'."\n" - ."\n" - .'- recycle:伸缩组的回收模式为停机回收模式。'."\n" - .'- release:伸缩组的回收模式为释放模式。'."\n" - ."\n" - .'从一个伸缩组删除实例,详情请参见[RemoveInstances](~~25955~~)。', - 'type' => 'string', - 'required' => false, - 'example' => 'release', - ], + 'schema' => ['title' => '使用应用模版时的应用配置,JSON格式字符串', 'description' => '使用应用模版时的应用配置,JSON格式字符串。', 'type' => 'string', 'required' => false, 'example' => '{}'], ], [ - 'name' => 'TemplateInstanceId', + 'name' => 'LimitEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => '扩容时使用的现有ECS实例ID,若填写此项,将以指定的ECS实例的规格和配置为模板来购买新的ECS实例。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'schema' => ['description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ - 'name' => 'ClusterId', + 'name' => 'RequestsEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => '扩容的集群ID,若指定了应用和分组进行扩容,此参数将被忽略。', - 'type' => 'string', - 'required' => false, - 'example' => 'e37**********-33df0721a327', - ], + 'schema' => ['description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'SecretName', 'in' => 'query', - 'schema' => [ - 'description' => '实例的付费方式。取值范围:'."\n" - .'- PrePaid:包年包月。'."\n" - .'- PostPaid(默认):按量付费。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PrePaid', - ], + 'schema' => ['description' => '用户指定的镜像拉取凭证名,需要自行创建相关Secret配置。', 'type' => 'string', 'required' => false, 'example' => 'edas-app-01-image-secret'], ], [ - 'name' => 'InstanceChargePeriodUnit', + 'name' => 'ContainerRegistryId', 'in' => 'query', - 'schema' => [ - 'description' => '包年包月计费方式的时长单位。取值范围:'."\n" - ."\n" - .'- Week:按周计费。'."\n" - .'- Month(默认):按月计费。', - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + 'schema' => ['description' => '构建镜像仓库使用的仓库ID,留空表示使用EDAS提供的默认仓库。当前只支持EDAS提供的默认仓库。', 'type' => 'string', 'required' => false, 'example' => 'leave empty'], ], [ - 'name' => 'InstanceChargePeriod', + 'name' => 'WorkloadType', 'in' => 'query', - 'schema' => [ - 'description' => '购买资源的时长,单位由InstanceChargePeriodUnit指定。当参数InstanceChargeType取值为PrePaid时才生效。'."\n" - ."\n" - .'- InstanceChargePeriodUnit=Week时,Period取值:{“1”, “2”, “3”, “4”}。'."\n" - .'- InstanceChargePeriodUnit=Month时,Period取值:{“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “24”, “36”, ”48”, ”60”}。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '创建应用时Workload的类型,目前仅支持Deployment类型。', 'type' => 'string', 'required' => false, 'example' => 'Deployment'], ], [ - 'name' => 'AutoRenew', + 'name' => 'Sidecars', 'in' => 'query', - 'schema' => [ - 'description' => '是否要自动续费。当参数InstanceChargeType取值PrePaid时才生效。取值范围:'."\n" - ."\n" - .'- true:自动续费。'."\n" - .'- false(默认):不自动续费。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '为应用Pod设置Sidecar容器。支持设置容器配置的格式YAML,其值为Sidecar容器YAML配置base64编码后的值。', 'type' => 'string', 'required' => false, 'example' => '[{"yamlEncoded":"Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="}]'], ], [ - 'name' => 'AutoRenewPeriod', + 'name' => 'InitContainers', 'in' => 'query', - 'schema' => [ - 'description' => '单次自动续费的续费时长。取值范围:'."\n" - ."\n" - .'- InstanceChargePeriodUnit=Week时:{“1”, “2”, “3”}。'."\n" - .'- InstanceChargePeriodUnit=Month时:{“1”, “2”, “3”, “6”, “12”, "24", "36", "48", "60"}。'."\n" - ."\n" - .'默认值:1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '为应用Pod设置初始化容器。支持设置容器配置的格式YAML,其值为Init容器YAML配置base64编码后的值。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" + .' }'."\n" + .']'], + ], + [ + 'name' => 'UserBaseImageUrl', + 'in' => 'query', + 'schema' => ['description' => '使用自定义JDK运行时,需要配置基础镜像地址。该地址需要可公开访问,EDAS服务端会拉取该镜像,用于构建应用镜像。', 'type' => 'string', 'required' => false, 'example' => 'openjdk:8u302'], + ], + [ + 'name' => 'TerminateGracePeriod', + 'in' => 'query', + 'schema' => ['description' => '设置应用优雅停止超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120'], + ], + [ + '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' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:'."\n" + ."\n" + .'- 指定x86 64架构:linux/amd64'."\n" + ."\n" + .'- 指定arm 64架构:linux/arm64'."\n" + ."\n" + .'- 指定构建双架构镜像:linux/amd64,linux/arm64'."\n" + ."\n" + .'- 不输入:默认架构', 'type' => 'string', 'required' => false, 'example' => 'linux/arm64,linux/amd64'], + ], + [ + 'name' => 'Startup', + 'in' => 'query', + 'schema' => ['description' => '启动探针可以用于对慢启动容器进行存活性检测,避免它们在启动运行之前就被杀掉,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}。'."\n" + ."\n" + .'如果设置为""或者{}表示删除,不设置表示忽略。', 'type' => 'string', 'required' => false, 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}'], + ], + [ + 'name' => 'FeatureConfig', + 'in' => 'query', + 'schema' => ['description' => '自定义监控与治理方案配置', 'type' => 'string', 'required' => false, 'example' => '{"features":[{"name":"base.combination.arms","enable":true},{"name":"base.combination.mse","enable":true}]}'], + ], + [ + 'name' => 'CustomAgentVersion', + 'in' => 'query', + 'schema' => ['description' => '支持指定Agent版本', 'type' => 'string', 'required' => false, 'example' => '2.8.3,3.2.10,4.3.1'], + ], + [ + 'name' => 'SecurityContext', + 'in' => 'query', + 'schema' => ['description' => '为应用 Pod 容器设置 SecurityContext属性。其值为 SecurityContext YAML 配置 base64 编码后的值。', 'type' => 'string', 'required' => false, 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}'], ], ], 'responses' => [ @@ -13950,67 +8257,78 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '应用扩容的变更记录ID。', - 'type' => 'string', - 'example' => 'e370c17f-*****-3df0721a327', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'e370c17f-*****-3df0721a327', - ], - 'InstanceIds' => [ - 'description' => 'ECS实例ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '代购产生的ECS实例列表。', - 'type' => 'string', - 'example' => '["i-28wt4****","i-28wt4****"]', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'ApplicationInfo' => [ + 'description' => '应用详情。', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'example' => 'cd65b247-****-475b-ad4b-7039040d625c'], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test'], + 'Dockerize' => ['description' => '是否为Docker应用。'."\n" + .'- true:是。'."\n" + .'- false:否。', 'type' => 'boolean', 'example' => 'true'], + 'Owner' => ['description' => '负责人。', 'type' => 'string', 'example' => 'zp'], + 'EdasId' => ['description' => '用户账号ID。', 'type' => 'string', 'example' => '1172****6608****'], + 'ClusterType' => ['description' => '应用集群环境类型如下:'."\n" + .'- 0:普通Docker集群。'."\n" + .'- 1:Swarm集群(已下线)。'."\n" + .'- 2:ECS集群。'."\n" + .'- 3:EDAS自建K8s集群(已下线)。'."\n" + .'- 4:Pandora自动注册应用集群类型。'."\n" + .'- 5:容器服务K8s集群和Serverless K8s集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'AppId' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'example' => 'e83acea6-****-47e1-96ae-c0e95377****'], + 'UserId' => ['description' => '用户主账号。', 'type' => 'string', 'example' => 'edas_test****@aliyun****.com'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], ], ], ], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - ], - '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' => '代购实例并扩容到指定分组', - 'description' => '## 限制说明'."\n" - ."\n" - .'若应用配置并开启了弹性伸缩规则,在触发自动缩容时将优先移除此接口代购的实例。', + 'title' => '创建K8s应用', + 'summary' => '在容器服务K8s集群或Serverless K8s集群中创建应用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ScaleOutApplication' => [ - 'summary' => '调用ScaleOutApplication接口扩容应用。', - 'path' => '/pop/v5/changeorder/co_scale_out', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-01-30T08:20:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-13T02:32:23.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-10-10T06:54:49.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-06-02T08:34:43.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-27T07:13:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-24T02:13:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-17T05:55:55.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-10-18T16:44:17.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-01-27T03:48:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-01-27T03:48:58.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertK8sApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:CreateApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'InsertOrUpdateRegion' => [ + 'summary' => '调用InsertOrUpdateRegion接口创建或编辑自定义命名空间。', + 'path' => '/pop/v5/user_region_def', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14018,134 +8336,50 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'RegionTag', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '3616cdca-4f92-4413*****************', - ], + 'schema' => ['description' => '命名空间ID:'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'EcuInfo', + 'name' => 'RegionName', 'in' => 'query', - 'schema' => [ - 'description' => '指定ECU进行扩容。获取ecuid,请参见[ListScaleOutEcu](~~149371~~)。多个ECU,用半角逗号(,)分开。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8123db90-880f-486f-b***************', - ], + 'schema' => ['description' => '命名空间名称,长度不超过63个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test_region'], ], [ - 'name' => 'DeployGroup', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '需要扩容的应用实例分组。获取应用实例分组,请参见[QueryApplicationStatus](~~149394~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f1fb6f5-6769-4bd6******************', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。可以调用GetChangeOrderInfo接口获取这次扩容具体执行进展,更多信息,请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'example' => 'f4208118-7171-4e20-92************', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-***********************', - ], - ], - ], + 'schema' => ['description' => '命名空间描述,长度不超过128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], - ], - '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' => '扩容应用实例', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ScaleInApplication' => [ - 'summary' => '使用ScaleInApplication缩容应用实例。', - 'path' => '/pop/v5/changeorder/co_scale_in', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Id', + 'in' => 'query', + 'schema' => ['description' => '参数为空或ID为0时表示创建命名空间,其他情况表示编辑。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0'], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'paid', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'DebugEnable', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,您可通过查询[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92-44***********************', - ], + 'schema' => ['description' => '是否允许进行远程调试:'."\n" + .'- true:允许。'."\n" + .'- false:不允许。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'EccInfo', + 'name' => 'RegistryType', 'in' => 'query', - 'schema' => [ - 'description' => '应用下需要缩容的机器的eccid,多个用“,”分开,您可以通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', - 'type' => 'string', - 'required' => true, - 'example' => '7040f221-42df-48e8-9*******************', - ], + 'schema' => ['title' => '注册中心类型:'."\n" + .'- default,EDAS共享注册中心'."\n" + .'- exclusive_mse,MSE Nacos注册中心', 'description' => '注册中心类型:'."\n" + .'- default:EDAS共享注册中心。'."\n" + .'- exclusive_mse:MSE Nacos注册中心。', 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ - 'name' => 'ForceStatus', + 'name' => 'MseInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '是否要强制下线,一般只有ECS过期了才会设为true,正常情况不用填写。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['title' => 'MSE注册中心实例ID', 'description' => 'MSE注册中心实例ID。', 'type' => 'string', 'required' => false, 'example' => 'mse_prepaid_public_cn-tl32n******'], ], ], 'responses' => [ @@ -14153,208 +8387,185 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次下线具体执行进展。如果forceStatus置为true则不产生ID,根据code判断是否成功。', - 'type' => 'string', - 'example' => 'ddf5a4c7-a507-4a6e****************', - ], - 'Code' => [ - 'description' => 'code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息。', - 'type' => 'string', - 'example' => 'success', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => '37793352-C568-4A5A-BF69-4DC853******'], + 'UserDefineRegionEntity' => [ + 'description' => '用户自定义命名空间。', + 'type' => 'object', + 'properties' => [ + 'BelongRegion' => ['description' => '所属地域。', 'type' => 'string', 'example' => 'cn-beijing'], + 'RegionName' => ['description' => '命名空间名称。', 'type' => 'string', 'example' => 'test_region'], + 'Description' => ['description' => '命名空间描述。', 'type' => 'string', 'example' => 'Logical region'], + 'DebugEnable' => ['description' => '是否允许进行远程调试:'."\n" + .'- true:允许。'."\n" + .'- false:不允许。', 'type' => 'boolean', 'example' => 'false'], + 'UserId' => ['description' => '用户主账号ID。', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com'], + 'Id' => ['description' => '参数为空或ID为0时表示创建命名空间,其他情况表示编辑。', 'type' => 'integer', 'format' => 'int64', 'example' => '15160'], + 'RegionId' => ['description' => '命名空间ID:'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', 'type' => 'string', 'example' => 'cn-beijing:test'], + ], ], ], + 'description' => '', ], ], ], - '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' => '缩容应用实例', + '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\\": \\"Logical 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' => '创建或编辑自定义命名空间', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ResetApplication' => [ - 'summary' => '重置一个应用。', - '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}'], + ], + ], + ], ], + ], + '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' => '应用ID,可通过[ListApplication](~~149390~~)获取。', - 'type' => 'string', - 'required' => true, - 'example' => '3616cdca-4f92*********', - ], + 'schema' => ['description' => '角色名称', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testrole'], ], [ - 'name' => 'EccInfo', + 'name' => 'ActionData', 'in' => 'query', - 'schema' => [ - 'description' => '应用下需要重置机器的eccid,多个用半角逗号(,)分隔,可通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', - 'type' => 'string', - 'required' => true, - 'example' => '0cf49a6c-***********', - ], + 'schema' => ['description' => '操作权限集合,格式:`权限组ID1:权限码1;...;权限组IDn:权限码n`,例如`1:1;1:2;2:1;2:2`。详细权限组及权限码含义请参见[ListAuthority](~~149409~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '15:1;14:2'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次重置具体执行进展。', - 'type' => 'string', - 'example' => '1c66548e-a082-40************', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*********', - ], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********'], + 'RoleId' => ['description' => '角色ID', 'type' => 'integer', 'format' => 'int32', 'example' => '33'], ], + 'description' => '', ], ], ], - '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' => '重置应用', + 'title' => '创建角色', + 'summary' => '创建角色。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RestartApplication' => [ - 'summary' => '适用于ECS应用。', - 'path' => '/pop/v5/changeorder/co_restart', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InsertRole'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'edas:InsertRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'InsertServiceGroup' => [ + 'summary' => '调用InsertServiceGroup创建服务分组。', + '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' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c627c157-560d*******', - ], - ], - [ - 'name' => 'EccInfo', + 'name' => 'GroupName', 'in' => 'query', - 'schema' => [ - 'description' => '应用中需要重启的ECS实例的EccId。可以通过调用QueryApplicationStatus接口获取EccId,具体操作,请参见[QueryApplicationStatus](~~149394~~)。'."\n" - .'- 如果包含多个EccId,用半角逗号(,)分隔。'."\n" - .'- 不设置该参数,表示重启该应用中的所有实例。', - 'type' => 'string', - 'required' => false, - 'example' => '006c0ea5-5f8d-4398-af1e-**********', - ], + 'schema' => ['description' => '创建服务分组', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'edas-test-group'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。'."\n" - ."\n" - .'可以调用GetChangeOrderInfo接口查询此次重启的详细执行进展,具体操作,请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'example' => 'a9557bac-ddd7-*********************', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], + 'Code' => ['description' => 'Code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4'], ], + 'description' => '', ], ], ], - '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' => '重启应用', + 'title' => '创建服务分组', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateK8sService' => [ - 'summary' => '为K8s集群中的应用创建K8s服务Service。', - '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'InsertSwimmingLane' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14362,134 +8573,155 @@ ], '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => '自定义命名空间的RegionId。'."\n" + .'格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing:test'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s Service名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], + 'schema' => ['description' => '泳道名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1'], ], [ - 'name' => 'Type', + 'name' => 'Tag', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s服务类型,当前只支持ClusterIP类型。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ClusterIP', - ], + 'schema' => ['description' => '标签。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tag'], ], [ - 'name' => 'ServicePorts', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s Service端口映射表,需要符合JsonArray格式,支持的参数如下:'."\n" - ."\n" - .'- **protocol**:必填,服务协议,支持TCP和UDP。'."\n" - .'- **port**:必填,前端服务端口,取值范围1~65535。'."\n" - .'- **targetPort**:必填,后端容器端口,取值范围1~65535。'."\n" - ."\n" - .'参考示例:'."\n" - .'`[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', - ], + 'schema' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '95'], ], [ - 'name' => 'ExternalTrafficPolicy', + 'name' => 'EntryRules', 'in' => 'query', - 'schema' => [ - 'description' => '设置外部流量管理策略:'."\n" - .'- Local:Local模式。'."\n" - .'- Cluster:Cluster模式。'."\n" - ."\n" - .'默认为Local模式。', - 'type' => 'string', - 'required' => false, - 'example' => 'Local', - ], + 'schema' => ['description' => '流控条件。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"priority":1,"path":"/traffic","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testvalue","cond":"==","operator":"rawvalue"}]}]'], + ], + [ + 'name' => 'EnableRules', + 'in' => 'query', + 'schema' => ['description' => '是否启用流控规则。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'AppInfos', + 'in' => 'query', + 'schema' => ['description' => '泳道涉及应用信息。', 'type' => 'string', 'required' => false, 'example' => '[{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"5049d2c8-f997-4fc9-92a2-153506a6****"}]'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', + 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '75972A87-5682-5277-ADA7-DA2A01BE****'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'cn-beijing:test'], + 'GroupId' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '95'], + 'EntryRule' => ['description' => '泳道流控规则。'."\n" + ."\n" + .'priority:泳道规则优先级,取值范围:1~100。'."\n" + ."\n" + .'path:泳道规则匹配的路径。'."\n" + ."\n" + .'restItems:条件匹配规则列表。'."\n" + ."\n" + .'condition:条件匹配类型。'."\n" + .' - AND:同时满足条件。'."\n" + .' - OR:满足任一条件。'."\n" + ."\n" + .'restItems.type:规则类型。'."\n" + .'可选值范围:'."\n" + .'- header:按请求Header进行匹配。'."\n" + .'- cookie:按请求cookie进行匹配。'."\n" + .'- param:按请求参数进行匹配。'."\n" + ."\n" + .'restItems.name:规则匹配的键。'."\n" + ."\n" + .'restItems.value:规则匹配的值。'."\n" + ."\n" + .'restItems.cond:规则匹配的条件。'."\n" + .'可取值范围:'."\n" + .'- "==":等于。'."\n" + .'- "!=":不等于。'."\n" + .'- ">":大于。'."\n" + .'- "<":小于。'."\n" + .'- ">=":大于等于。'."\n" + .'- "<=":小于等于。'."\n" + .'- "in":在可选值内。'."\n" + ."\n" + .'restItems.operator:值的类型。'."\n" + .'可取值范围:'."\n" + .'- rawvalue:取原值。'."\n" + .'- mod:取模。'."\n" + .'- list:列表取值。', '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' => '泳道关联应用列表。', 'type' => 'string', 'example' => '[{"appId":"9dcba109-ee9f-4e67-8916-41'."\n" + .'*******"}]'], + 'Tag' => ['description' => '流控泳道标签。', 'type' => 'string', 'example' => '8202e09'], + 'Name' => ['description' => '泳道名称。', 'type' => 'string', 'example' => 'test1'], + 'Id' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '88'], + 'SwimmingLaneAppRelationShipList' => [ + 'description' => '泳道涉及应用关联关系列表。', + 'type' => 'array', + 'items' => [ + 'description' => '泳道涉及应用关联关系。', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-app'], + 'Rules' => ['description' => '关联规则。', 'type' => 'string', 'example' => 'dubbo'], + 'LaneId' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '88'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'bd170895-096c-4944-9007-d4582c77****'], + ], + ], + ], + ], ], ], ], ], ], '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' => '创建K8s服务', - 'requestParamsDescription' => '> - 在同一个集群中不能存在相同的nodePort。'."\n" - .'> - 在同一个K8s Service中,不能存在protocol和port都相同的端口映射。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteK8sApplication' => [ - 'summary' => '调用DeleteK8sApplication接口删除容器服务K8s应用。', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'delete', + 'title' => '新建泳道', + 'summary' => '新建泳道。', + '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' => '全部资源', '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' => '新建泳道组。', + 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14497,32 +8729,27 @@ ], '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' => '应用ID(查询ListApplication接口获取)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dbac7e3c-****-49bc-b6de-ffc550018b45', - ], + 'schema' => ['description' => '泳道组名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'Force', + 'name' => 'EntryApp', 'in' => 'query', - 'schema' => [ - 'description' => '是否强制删除应用,跳过应用删除保护。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '入口应用。格式为:EDAS:{应用ID}。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'EDAS:5cc89013-9232-4b36-b3eb-ff89b3d2****'], + ], + [ + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => ['description' => '泳道组涉及所有应用ID列表,多个应用之间使用半角逗号(,)分隔。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****,ee33ed0c-fddc-47b5-9f63-e1ccc4be****'], + ], + [ + 'name' => 'LogicalRegionId', + 'in' => 'query', + 'schema' => ['description' => '自定义命名空间的RegionId。格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou:test'], ], ], 'responses' => [ @@ -14531,47 +8758,81 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '如果被删除应用有机器没有下线,或者SLB未解绑,此时会生成变更流程ID,并进行删除。调用GetChangeOrderInfo接口获取这次删除具体执行进展。根据Code判断是否删除成功。', - 'type' => 'string', - 'example' => '0a34531a-****-49dc-8e7f-0cbbbfa12cf0', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******', + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D5268CAC-D356-5C8D-BC7C-FBE0D13B****'], + 'Data' => [ + 'description' => '接口返回数据。', + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'cn-hangzhou:test'], + 'Name' => ['description' => '泳道组名称。', 'type' => 'string', 'example' => 'test'], + 'Id' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '64'], + 'ApplicationList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Application' => [ + 'description' => '泳道组所有设计应用列表。', + 'type' => 'array', + 'items' => [ + 'description' => '应用列表对象。', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****'], + ], + ], + ], + ], + 'description' => '', + ], + 'EntryApplication' => [ + 'description' => 'EDAS入口/网关信息。', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25c****'], + ], + ], + ], ], ], ], ], ], - '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' => '删除容器服务K8s应用', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteK8sService' => [ - 'summary' => '删除K8s集群中应用的K8s服务Service。', - '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' => '新建泳道组', + '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' => '全部资源', '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' => '使用ECS自带的云助手安装EDAS Agent(将ECS导入EDAS)。', + 'path' => '/pop/v5/ecss/install_agent', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14579,441 +8840,363 @@ ], '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd***a286-781659d9f54c', - ], + 'schema' => ['description' => '集群 ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a4dc8'], ], [ - 'name' => 'Name', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => '服务名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], + 'schema' => ['description' => '实例 ID,如instanceId1,instanceId2', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2ze7s2v0b789k60pk1af'], + ], + [ + 'name' => 'DoAsync', + 'in' => 'query', + 'schema' => ['description' => '已不再使用', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'b4b37bde-a125-43fc-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9041389c-*****-459c-8253-724bca7f51f0', + 'Code' => ['description' => 'Code 码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'ExecutionResultList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ExecutionResult' => [ + 'description' => '执行结果', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '命令执行状态信息', 'type' => 'string', 'example' => 'OK'], + 'FinishedTime' => ['description' => '安装结束时间', 'type' => 'string', 'example' => '20**-11-10T07:02:17Z'], + 'InstanceId' => ['description' => '实例 ID', 'type' => 'string', 'example' => 'i-2ze7s2v0b789k*******'], + 'InvokeRecordStatus' => ['description' => '命令执行状态。取值范围:'."\n" + ."\n" + .'- Running:运行中。'."\n" + ."\n" + .' - 定时执行:未手动停止定时执行命令前,执行状态一直为进行中。'."\n" + .' - 单次执行:一旦有进行中的命令进程,总的执行状态就为进行中。'."\n" + ."\n" + .'- Finished:已完成。'."\n" + ."\n" + .' - 定时执行:命令进程不可能为执行完成。'."\n" + .' - 单次执行:所有实例全部完成执行。或者手动停止部分实例的命令进程,其余实例全部执行完成。'."\n" + ."\n" + .'- Success:'."\n" + ."\n" + .' - 单次执行的命令:命令执行完成,且退出码为 0。'."\n" + .' - 定时执行的命令:上一次执行成功且退出码为 0,且指定的执行时间已结束。'."\n" + ."\n" + .'- Failed:执行失败。'."\n" + ."\n" + .' - 定时执行:命令进程不可能为执行失败。'."\n" + .' - 单次执行:所有实例全部执行失败。'."\n" + ."\n" + .'- PartialFailed:部分执行失败。'."\n" + ."\n" + .' - 定时执行:命令进程不可能为部分失败。'."\n" + .' - 单次执行:部分实例有执行失败的命令进程,则总执行状态为部分失败。'."\n" + ."\n" + .'- Stopped:命令执行已停止。'."\n" + ."\n" + .'- Stopping:正在停止执行的命令。', 'type' => 'string', 'example' => 'Finished'], + 'Success' => ['description' => '是否安装成功', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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' => '删除K8s服务', + 'title' => '安装 Agent', + 'description' => '使用该接口将ECS导入EDAS时,不会重装系统,推荐使用该接口将ECS导入EDAS。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateK8sApplicationBaseInfo' => [ - 'summary' => '调用UpdateK8sApplicationBaseInfo接口修改K8s应用基本信息。', - 'path' => '/pop/v5/oam/update_app_basic_info', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '## 注意事项'."\n" + .'该接口在实际执行中,会遇到在 API 接口 Client 程序端在连接 API 网关超时(默认 10 秒)的情况,所以,用户在使用该接口时,须手工设置调用该接口时读取 POP API 网关返回的数据的超时时间(推荐设置为 30 秒,因 POP API 网关到接口 Server 端的服务处理时间最长即为 30 秒):'."\n" + .'- 使用 Java SDK 时,Client 端代码中使用该接口时设置读取超时时间方法:'."\n" + .'```java'."\n" + .'InstallAgentRequest request = new InstallAgentRequest();'."\n" + .'request.setSysReadTimeout(30000); //单位毫秒,客户端 API 接口程序等待 POP API网关返回数据的超时时间.'."\n" + .'request.setClusterId(clusterId);'."\n" + .'........'."\n" + .'```'."\n" + .'- 使用 Python SDK 时,Client 端代码中使用该接口时设置读取超时时间方法:'."\n" + .'```python'."\n" + .'request = InstallAgentRequest()'."\n" + .'request.set_read_timeout(30000)'."\n" + .'request.set_ClusterId(clusterId)'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + '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' => '待修改的应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4f038ddf-b27b-****-****-88e44375****', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '应用描述,不超过256个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'app for pre-production', - ], - ], - [ - 'name' => 'Owner', - 'in' => 'query', - 'schema' => [ - 'description' => '应用负责人,不超过128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], - ], + 'ramActions' => [ [ - 'name' => 'PhoneNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '应用负责人电话号码。', - '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' => '[{"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":""}]', + ], + 'ListAliyunRegion' => [ + 'path' => '/pop/v5/resource/region_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Email', - 'in' => 'query', - 'schema' => [ - 'description' => '应用负责人电子邮箱。', - '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' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '57F146F6-3C94-****-****-A66EF4B9*****', - ], - 'Result' => [ - 'description' => '修改结果。', - 'type' => 'string', - 'example' => 'success', + 'Code' => ['description' => 'HTTP状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '请求返回信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'RegionEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionEntity' => [ + 'description' => '地域列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => '地域名称', 'type' => 'string', 'example' => 'China East 1 (Hangzhou)'], + 'Id' => ['description' => '地域ID', 'type' => 'string', 'example' => 'cn-hangzhou'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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\\": \\"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' => '更新K8s应用基本信息', - 'requestParamsDescription' => ' ', + 'title' => '获取阿里云地域列表', + 'summary' => '获取阿里云地域列表。', + 'requestParamsDescription' => ' 无请求参数。', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateK8sApplicationConfig' => [ - 'path' => '/pop/v5/k8s/acs/k8s_app_configuration', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2022-09-13T11:48:42.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-13T11:48:42.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAliyunRegion'], + ], ], + 'ramActions' => [], + '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":""}]', + ], + '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' => '应用ID,可以调用ListApplication接口获取,详情请参见[ListApplication](~~423162~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '23bf94d9-****-4994-9917-616a827aa777', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID,可以调用ListCluster接口获取,详情请参见[ListCluster](~~411844~~)。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], + 'schema' => ['description' => '以集群维度筛选应用列表。', 'type' => 'string', 'required' => false, 'example' => 'c37aec2a-bcca-4ec1-****-************'], ], [ - 'name' => 'CpuLimit', - 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的CPU限额,单位:核。设置为0表示不做限制。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '1', - ], - ], - [ - 'name' => 'MemoryLimit', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的内存限额,单位:MB。设置为0表示不做限制。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '4', - ], + 'schema' => ['description' => '以微服务空间维度匹配筛选应用列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'McpuLimit', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'CPU能使用的最大值,单位:核数。设置为0表示不做限制。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '以appName维度筛选应用列表。', 'type' => 'string', 'required' => false, 'example' => 'testapp'], ], [ - 'name' => 'CpuRequest', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例需要申请的CPU配额,推荐设置。单位:核数,设置为0表示不限制。'."\n" - ."\n" - .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '以资源组维度筛选应用列表。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek24j4s4b*****'], ], [ - 'name' => 'McpuRequest', + 'name' => 'LogicalRegionIdFilter', 'in' => 'query', - 'schema' => [ - 'description' => 'CPU最小资源需求,单位:核数。设置为0表示不限制。'."\n" - ."\n" - .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', - 'type' => 'string', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => '按精确匹配微服务空间的方式筛选应用。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'MemoryRequest', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例需要申请的内存配额,推荐设置。单位:MB。设置为0表示不申请。'."\n" - ."\n" - .'> 设置该参数时,还需要设置MemoryLimit参数,且需要小于等于MemoryLimit的参数值。', - 'type' => 'string', - 'required' => false, - 'example' => '400', - ], + 'schema' => ['description' => '应用ID列表。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' "5657d271-****-4f03-9bb2-431f942886bb",'."\n" + .' "5657d271-****-4f03-9bb2-431f942bbddd"'."\n" + .']'], ], [ - 'name' => 'Timeout', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程超时时间,单位:秒。取值范围1~1800秒,默认值为600秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => '分页查询,当前第几页,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'EphemeralStorageRequest', - 'in' => 'query', - 'schema' => [ - 'description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。'."\n" - ."\n" - .'> 设置该参数时,还需要设置EphemeralStorageLimit参数,且需要小于等于EphemeralStorageLimit的参数值。', - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'EphemeralStorageLimit', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。', - 'type' => 'string', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => '分页查询,每页显示的条数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => '8806d1c6-****-48eb-9373-6bdef3007466', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5d6fa0bc-cc3**********'], + 'ApplicationList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Application' => [ + 'description' => '应用列表。', + 'type' => 'array', + 'items' => [ + 'description' => '应用列表对象。', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '00ee517d-dd7d-4d4e-****-************'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing:docTes'], + 'Name' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'doc-test-consumer'], + 'Instances' => ['description' => '应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Port' => ['description' => '应用的服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'State' => ['description' => '应用状态:'."\n" + .'* RUNNING:运行中。'."\n" + .'* STOPPED:已停止。'."\n" + .'* DEPLOYING:正在部署。'."\n" + .'* DELETING:正在删除。', 'type' => 'string', 'example' => 'RUNNING'], + 'CreateTime' => ['description' => '应用创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1664208000000'], + 'SlbIp' => ['description' => '私网SLB IP地址。', 'type' => 'string', 'example' => '192.168.0.***'], + 'SlbPort' => ['description' => '私网SLB端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'SlbListenerPort' => ['description' => '私网SLB监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8088'], + 'ExtSlbListenerPort' => ['description' => '公网SLB监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'BuildPackageId' => ['description' => '容器版本ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '58'], + 'ExtSlbIp' => ['description' => '公网SLB IP地址。', 'type' => 'string', 'example' => '100.100.70.***'], + 'ApplicationType' => ['description' => '应用部署类型:'."\n" + .'- War代表WAR包部署。'."\n" + .'- FatJar代表JAR包部署。'."\n" + .'- Image代表镜像部署。'."\n" + .'- 为空代表未部署。', 'type' => 'string', 'example' => 'FatJar'], + 'ClusterType' => ['description' => '应用集群环境类型:'."\n" + .'- **2**:ECS集群。'."\n" + .'- **3**:EDAS自带K8s集群。'."\n" + .'- **5**:容器服务K8s集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'RunningInstanceCount' => ['description' => '正在运行的应用实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'c37aec2a-bcca-4ec1-****-************'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aek24j4s4b*****'], + 'K8sNamespace' => ['description' => 'K8s命名空间。', 'type' => 'string', 'example' => 'default'], + 'NamespaceId' => ['description' => '微服务命名空间ID。', 'type' => 'string', 'example' => 'cn-hangzhou:test'], + ], + ], + ], + ], ], ], ], ], ], - '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' => '修改K8s集群中应用配置', - 'summary' => '调用UpdateK8sApplicationConfig接口修改容器服务K8s或Serverless K8s集群中应用的配置。', + 'title' => '获取应用列表', + 'summary' => '获取应用列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartK8sApplication' => [ - 'summary' => '启动容器服务K8s或Serverless K8s集群中的应用。', - 'path' => '/pop/v5/k8s/acs/start_k8s_app', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-07-12T02:13:45.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-03-17T03:08:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-11-07T01:07:25.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-16T03:43:55.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ['createdAt' => '2022-09-16T03:43:55.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'edas:ReadApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '启动的应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Timeout', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程超时时间,单位秒,取值范围1~1800秒,不填默认值为600秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => '应用ID。获取AppId,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => false, 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****'], ], [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*******-ed2ae98de18d', - ], + 'schema' => ['description' => '微服务空间ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:***wei'], ], ], 'responses' => [ @@ -15021,285 +9204,284 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '此次操作的变更流程ID。', - 'type' => 'string', - 'example' => '*********d237-4827-a4f4-ed2ae98de18d', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'EcuInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => 'ECU信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-2zef6ob8**********'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1599803995894'], + 'IpAddr' => ['description' => 'ECU的内网IP。', 'type' => 'string', 'example' => '192.168.XXX.XXX'], + 'AvailableCpu' => ['description' => '可用CPU数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1542692376066'], + 'UserId' => ['description' => '关联用户的UID。', 'type' => 'string', 'example' => '****_common_****@aliyun.com'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-2zej4i2jdf*********'], + 'Mem' => ['description' => '总内存,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'RegionId' => ['description' => '所在地域。', 'type' => 'string', 'example' => 'cn-beijing'], + 'EcuId' => ['description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`命令获取。', 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****'], + 'DockerEnv' => ['description' => '是否安装了Docker:'."\n" + ."\n" + .'- true:已安装。'."\n" + .'- false:未安装。', 'type' => 'boolean', 'example' => 'true'], + 'Online' => ['description' => '是否在线:'."\n" + ."\n" + .'- true:在线。'."\n" + .'- false:不在线。', 'type' => 'boolean', 'example' => 'true'], + 'AvailableMem' => ['description' => '可用内存,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ZoneId' => ['description' => '所在可用区ID。', 'type' => 'string', 'example' => 'cn-beijing-h'], + 'Name' => ['description' => '名称。', 'type' => 'string', 'example' => 'test'], + 'HeartbeatTime' => ['description' => '上一次心跳检测的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '启动K8s应用', - 'requestParamsDescription' => ' ', + 'staticInfo' => [], + 'title' => '获取ECU列表', + 'summary' => '获取ECU列表。', + 'requestParamsDescription' => '- 如果设置了AppId,则查询指定应用中的ECU列表。'."\n" + .'- 如果未设置AppId,则查询当前地域中的ECU列表。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopK8sApplication' => [ - 'summary' => '停止部署在容器服务K8s集群或Serverless K8s集群中的应用。', - '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' => '[{"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":""}]', + ], + 'ListAuthority' => [ + 'summary' => '查询所有权限。', + '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' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-d237-*******8de18d', + 'description' => '返回对象', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'HTTP状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********'], + 'AuthorityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Authority' => [ + 'description' => '权限列表', + 'type' => 'array', + 'items' => [ + 'description' => '权限列表对象', + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => '权限组ID', 'type' => 'string', 'example' => '1'], + 'Name' => ['description' => '权限组名称', 'type' => 'string', 'example' => 'Application management'], + 'Description' => ['description' => '权限组描述', 'type' => 'string', 'example' => 'All operations on the application'], + 'ActionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Action' => [ + 'description' => '权限集合', + 'type' => 'array', + 'items' => [ + 'description' => '权限集合对象', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '权限码', 'type' => 'string', 'example' => '1'], + 'Description' => ['description' => '权限描述', 'type' => 'string', 'example' => '创建应用'], + 'GroupId' => ['description' => '权限组ID', 'type' => 'string', 'example' => '1'], + 'Name' => ['description' => '权限名称', 'type' => 'string', 'example' => '创建应用'], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], + ], + '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\\": \\"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}","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' => '查询所有权限', + 'requestParamsDescription' => '无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T08:40:20.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAuthority'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => '变更流程超时时间,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListAuthority', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], + ], + 'ListBuildPack' => [ + 'summary' => '调用ListBuildPack接口获取容器版本列表。', + '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' => '接口响应。', + 'description' => '返回对象', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '此次变更的变更流程ID。', - 'type' => 'string', - 'example' => '*******27-a4f4-ed2ae98de18d', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => 'code ', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '4FD4-*************'], + 'BuildPackList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BuildPack' => [ + 'description' => '容器版本列表', + 'type' => 'array', + 'items' => [ + 'description' => '容器版本列表对象', + 'type' => 'object', + 'properties' => [ + 'PandoraVersion' => ['description' => 'Pandora版本号', 'type' => 'string', 'example' => 'edas.public.sar.V3.5.6'], + 'ConfigId' => ['description' => '容器版本ID', 'type' => 'integer', 'format' => 'int64', 'example' => '57'], + 'Feature' => ['description' => '公测特性', 'type' => 'string', 'example' => '“”'], + 'PandoraDesc' => ['description' => 'Pandora描述', 'type' => 'string', 'example' => 'test'], + 'PluginInfo' => ['description' => '插件描述', 'type' => 'string', 'example' => '1'], + 'Disabled' => ['description' => '是否被禁用,禁用的不能够设置使用。', 'type' => 'boolean', 'example' => 'false'], + 'TengineDownloadUrl' => ['description' => 'Tengine安装程序的下载地址', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/components/tengine/3.4.7/tengine.sh'], + 'TomcatPath' => ['description' => 'Tomcat目录名称'."\n", 'type' => 'string', 'example' => 'taobao-tomcat-production-7.0.59.3'], + 'TomcatDesc' => ['description' => 'Tomcat描述', 'type' => 'string', 'example' => '1.更新config-client插件,修复多租户场景未读缓存的问题;2.更新hsf插件,修复pandora qos命令不能执行、hsf订阅服务数多的情况下可能会遇到服务地址找不到的问题;3.升级所有用到fastjson的插件到sec06安全版本。'], + 'SupportFeatures' => ['description' => '支持的特性', 'type' => 'string', 'example' => 'tengine,fatjar,restful,eip_nodeport,dpath'], + 'TomcatDownloadUrl' => ['description' => 'Tomcat安装程序的下载地址', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-container/7.0.92/taobao-tomcat-production-7.0.92.tar.gz'], + 'TomcatVersion' => ['description' => 'Tomcat版本号', 'type' => 'string', 'example' => '8.5.63'], + 'PandoraDownloadUrl' => ['description' => 'Pandora下载地址', 'type' => 'string', 'example' => 'http://edas-hz.oss-cn-hangzhou.aliyuncs.com/edas-plugins/edas.sar.V3.5.6/taobao-hsf.tgz'], + 'PackVersion' => ['description' => '应用版本号', 'type' => 'string', 'example' => '3.5.6'], + 'MultipleTenant' => ['description' => '是否支持多租户', 'type' => 'boolean', 'example' => 'true'], + 'TengineImageId' => ['description' => '容器对应的Tengine镜像ID', 'type' => 'string', 'example' => 'registry.aliyuncs.com/edas/****-*********-*****:*.*.*'], + 'WithTengine' => ['description' => '是否支持流量管理', 'type' => 'boolean', 'example' => 'true'], + 'ImageId' => ['description' => '容器对应的基础镜像ID', 'type' => 'string', 'example' => 'registry.aliyuncs.com/ed**/****-*********:*.*.*'], + 'ScriptName' => ['description' => 'Shell脚本名称', 'type' => 'string', 'example' => 'default'], + 'ScriptVersion' => ['description' => 'Shell脚本版本', 'type' => 'string', 'example' => '1.0.3'], + ], + ], + ], + ], + 'description' => '', ], ], ], ], ], - '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' => '停止K8s应用', - 'requestParamsDescription' => ' ', + '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-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}","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' => '获取容器版本列表', + 'requestParamsDescription' => ' 无请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateK8sSlb' => [ - 'summary' => '调用UpdateK8sSlb更新容器服务K8s应用绑定的负载均衡SLB。', - 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2024-02-07T08:40:20.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBuildPack'], + ], ], + 'ramActions' => [], + ], + 'ListCluster' => [ + 'summary' => '获取集群列表。', + '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' => '应用ID,可以通过调用[ListApplication](~~149390~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], - ], - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID,可以通过调用[GetK8sCluster](~~181437~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => '设置SLB的类型:'."\n" - ."\n" - .'* Internet:公网。'."\n" - .'* Intranet:私网。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Internet', - ], - ], - [ - 'name' => 'SlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB协议,目前仅支持TCP。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'TCP', - ], - ], - [ - 'name' => 'TargetPort', - 'in' => 'query', - 'schema' => [ - 'description' => '后端端口,即应用的服务端口,范围1~65535。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8082', - ], - ], - [ - 'name' => 'Port', - 'in' => 'query', - 'schema' => [ - 'description' => '前端端口,范围1~65535。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '80', - ], - ], - [ - 'name' => 'ServicePortInfos', - 'in' => 'query', - 'schema' => [ - 'description' => '多个端口需求以及非TCP协议需求填写字段。必须符合JsonArray格式,参考示例:'."\n" - .'[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809_16c185d6fa2_1914500329_-xxxxxxx","targetPort":8181,"lo'."\n" - .'adBalancerProtocol":"HTTPS"}]'."\n" - .'- port:必填,前端端口,范围1~65535。不能重复。'."\n" - .'- targetPort:必填,后端端口,范围1~65535。'."\n" - .'- loadBalancerProtocol:必填,只支持TCP和HTTPS,对于HTTP类型的填写TCP即可。'."\n" - .'- certId:如果是HTTPS,则该参数必填证书ID,可以在slb控制台进行购买。'."\n" - .'- 注意该参数用来支持多端口支持,需要配合appId、clusterId、type、slbId进行使用。', - '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' => 'SLB规格,目前支持以下SLB实例的规格:'."\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" - .'不填默认为slb.s1.small。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB调度算法。不填写则默认值为rr。支持负载均衡支持轮询 (rr)、加权轮询 (wr) 两种调度算法。'."\n" - ."\n" - .'- 加权轮询 (wrr):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - .'- 轮询 (rr):按照访问顺序依次将外部请求分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'SlbName', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB实例名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'SLB_doctest', - ], + 'schema' => ['description' => '命名空间的ID。查询命名空间ID,请参见[ListUserDefineRegion](~~149377~~)。'."\n" + .'- 未设置该参数,则查询默认命名空间的集群列表。'."\n" + .'- 设置该参数,则查询指定命名空间的集群列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'DisableForceOverride', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '禁止覆盖SLB监听配置:'."\n" - .'* true:禁止覆盖。'."\n" - .'* false:允许覆盖。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '资源组ID。查询资源组ID,请参见[ListResourceGroup](~~62055~~)。'."\n" + .'- 未设置该参数,则查询默认资源组的集群列表。'."\n" + .'- 设置该参数,则查询指定资源组的集群列表。', 'type' => 'string', 'required' => false, 'example' => '461'], ], ], 'responses' => [ @@ -15307,127 +9489,120 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => '9a1dcdee-****-****-ad37-cbf9dc91fba9', - ], - 'Code' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '1053-08e4-47a5-b2ab-5c0323de****'], + 'ClusterList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cluster' => [ + 'description' => '集群列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-23727****'], + 'OversoldFactor' => ['description' => 'Docker集群支持的CPU超卖比例。'."\n" + .'- 1:1:1比例,不超卖'."\n" + .'- 2:1:2比例'."\n" + .'- 4:1:4比例'."\n" + .'- 8:1:8比例', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'UpdateTime' => ['description' => '最后变更时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1533820823203'], + 'MemUsed' => ['description' => '已使用内存,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'IaasProvider' => ['description' => '集群供应商', 'type' => 'string', 'example' => 'ALIYUN'], + 'CreateTime' => ['description' => '创建时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1502888064561'], + 'CpuUsed' => ['description' => '已使用CPU核数', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Mem' => ['description' => '总内存,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '3072'], + 'RegionId' => ['description' => '地域ID', 'type' => 'string', 'example' => 'cn-beijing'], + 'Cpu' => ['description' => '总CPU核数', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'CsClusterId' => ['description' => '容器服务Kubernetes版中创建的K8s集群的ID', 'type' => 'string', 'example' => 'c2ce************b9203a9'], + 'NetworkMode' => ['description' => '网络类型。'."\n" + .'- 1:经典网络'."\n" + .'- 2:VPC', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Description' => ['description' => '集群描述', 'type' => 'string', 'example' => 'Test cluster'], + 'ClusterType' => ['description' => '集群类型。'."\n" + .'- 0:普通Docker集群'."\n" + .'- 1:Swarm集群'."\n" + .'- 2:ECS集群'."\n" + .'- 3:EDAS自建K8s集群'."\n" + .'- 4:Pandora自动注册应用集群'."\n" + .'- 5:容器服务K8s集群', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ResourceGroupId' => ['description' => '资源组ID', 'type' => 'string', 'example' => '461'], + 'ClusterName' => ['description' => '集群名称', 'type' => 'string', 'example' => 'cluster-test'], + 'NodeNum' => ['description' => '实例数量', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ClusterId' => ['description' => 'EDAS中的集群ID', 'type' => 'string', 'example' => 'b98b5919-c111-4dad-9f74-7233********'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '更新K8s负载均衡SLB', + '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\\": \\"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}","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' => '获取集群列表', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateK8sService' => [ - 'summary' => '更新K8s集群中应用的K8s服务Service。', - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:02:12.000Z', 'description' => '错误码发生变更'], + ], + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + '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', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => '集群ID。可以调用ListCluster来获取,具体操作,请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****'], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'K8s Service名称,需要遵循以下规范:'."\n" - ."\n" - .'- 仅支持小写字母、数字和短划线(-)。'."\n" - .'- 只能以字母开头,并且以字母或数字结尾。'."\n" - .'- 长度范围为2~32字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'service-http', - ], - ], - [ - 'name' => 'Type', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s服务类型,当前只支持ClusterIP类型。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ClusterIP', - ], + 'schema' => ['description' => '分页查询时,当前显示的页面数,不设置的情况下默认显示第1页。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'ServicePorts', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s Service端口映射表,需要符合JsonArray格式,支持的参数如下:'."\n" - .'- **protocol**:必填,服务协议,支持TCP和UDP。'."\n" - .'- **port**:必填,前端服务端口,取值范围1~65535。'."\n" - .'- **targetPort**:必填,后端容器端口,取值范围1~65535。'."\n" - ."\n" - .'参考示例:'."\n" - .'`[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]', - ], + 'schema' => ['description' => '分页查询时,若不设置,则显示该集群的所有ECS列表;若设置,则按照设置的pagesize来分页显示ECS列表。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], ], [ - 'name' => 'ExternalTrafficPolicy', + 'name' => 'EcsList', 'in' => 'query', - 'schema' => [ - 'description' => '设置外部流量管理策略:'."\n" - .'- Local:Local模式。'."\n" - .'- Cluster:Cluster模式。'."\n" - ."\n" - .'默认为Local模式。', - 'type' => 'string', - 'required' => false, - 'example' => 'Local', - ], + 'schema' => ['description' => 'ECS列表实例数。', 'type' => 'string', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -15436,516 +9611,219 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'ClusterMemberPage' => [ + 'description' => '集群中包含的ECS实例页面。', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => '分页查询时,当前显示的页面数,不设置的情况下默认显示第1页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '所有实例分页显示的页面数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalSize' => ['description' => '所有的ECS实例按照PageSize的大小进行分页显示时,总的显示页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ClusterMemberList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ClusterMember' => [ + 'description' => '集群中包含的实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '集群实例对象。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '实例状态:'."\n" + ."\n" + .'- 1:表示运行中。'."\n" + .'- 0:表示转化中。'."\n" + .'- -1:表示转化失败。'."\n" + .'- -2:表示离线。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041113'], + 'EcuId' => ['description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`获取。', 'type' => 'string', 'example' => '70ed3f59-b476-49aa-be09-9e6c375d****'], + 'EcsId' => ['description' => 'ECS ID。', 'type' => 'string', 'example' => 'i-2zej4i2jdf3ntwhj****'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281038175'], + 'ClusterMemberId' => ['description' => '实例集群ID。', 'type' => 'string', 'example' => 'adb03eeb-3adf-4d7e-afe1-03d1ad45****'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '52984524-6d48-4bbd-85f2-a34b0e5b****'], + 'PrivateIp' => ['title' => 'ECS私网IP', 'description' => 'ECS私网IP', 'type' => 'string', 'example' => '172.16.XXX.XXX'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], ], ], ], - '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' => '更新K8s服务', + 'title' => '获取ECS实例列表', + 'summary' => '获取ECS实例列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateSlsLogStore' => [ - 'summary' => '调用UpdateSlsLogStore接口配置应用的日志服务。', - 'path' => '/pop/v5/k8s/sls/update_sls_log_store', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-11-07T08:49:48.000Z', 'description' => '响应参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + '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' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - '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' => '[{"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":""}]', + ], + 'ListComponents' => [ + 'summary' => '调用ListComponents接口查询组件列表,本API适用于ECS集群中的应用。', + 'path' => '/pop/v5/resource/components', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Configs', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Logstore配置:'."\n" - .'- **Configs**:'."\n" - .' - **type**:采集类型,文件类型为file,标准输出类型为stdout。'."\n" - .' - **Logstore**:Logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则:'."\n" - .' - 日志库名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" - .' - 必须以小写字母和数字开头和结尾。'."\n" - .' - 名称长度为3~63个字符。'."\n" - .' '."\n" - .' > 若为空,则由系统自动生成。'."\n" - .' '."\n" - .' - **LogDir**:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配符,采集路径应符合正则:`^/(.+)/(.*)[^/]$`。', - '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' => '接口状态或POP错误码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'ComponentList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Component' => [ + 'description' => '组件列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '组件类型:'."\n" + .'- JDK'."\n" + .'- TOMCAT'."\n" + .'- TENGINE', 'type' => 'string', 'example' => 'JDK'], + 'ComponentKey' => ['description' => '组件Key。', 'type' => 'string', 'example' => 'JDK 7'], + 'Version' => ['description' => '组件版本。', 'type' => 'string', 'example' => 'oraclejdk7'], + 'Expired' => ['description' => '是否过期:'."\n" + .'- false:未过期'."\n" + .'- true:已过期', 'type' => 'boolean', 'example' => 'false'], + 'ComponentId' => ['description' => '组件ID。', 'type' => 'string', 'example' => '1'], + 'Desc' => ['description' => '组件描述。', 'type' => 'string', 'example' => 'JDK 7'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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' => '配置应用的日志服务', - 'requestParamsDescription' => ' ', + 'title' => '查询组件列表', + 'requestParamsDescription' => '无请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartK8sAppPrecheck' => [ - 'summary' => '调用StartK8sAppPrecheck接口开始K8s应用变更预检。', - 'path' => '/pop/v5/k8s/app_precheck', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:02:12.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListComponents'], + ], ], + 'ramActions' => [], + '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":""}]', + ], + 'ListConfigTemplates' => [ + 'summary' => '调用ListConfigTemplates接口获取配置模板列表。', + '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' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'c37aec2a-bcca-4ec1-****-****', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群的命名空间,它将决定您的应用部署在哪个K8s命名空间。默认为default。', - 'type' => 'string', - 'required' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'af58edcf-f7eb-****-****-db4e425f****', - ], - ], - [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'description' => '应用名称。必须以字母开头,支持数字、字母和短划线(-),最多支持36个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'testapp', - ], - ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => '应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'LimitmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的CPU限额。 单位:毫核数,设置为0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - ], - [ - 'name' => 'RequestsmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => '应用创建时,应用实例的CPU限额,单位:毫核数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], - ], - [ - 'name' => 'LimitMem', - 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的内存限额,单位:MB。LimitMem取值要不小于RequestsMem。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4096', - ], - ], - [ - 'name' => 'RequestsMem', - 'in' => 'query', - 'schema' => [ - 'description' => '应用创建时,应用实例的内存限额,单位:MB。设置为0时表示不限制。RequestsMem的取值不能大于LimitMem的取值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], - ], - [ - 'name' => 'LimitEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - ], - [ - 'name' => 'RequestsEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Envs', - 'in' => 'query', - 'schema' => [ - 'description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x2",'."\n" - .' "valueFrom": {'."\n" - .' "configMapKeyRef": {'."\n" - .' "name": "my-config",'."\n" - .' "key": "y2"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x3",'."\n" - .' "valueFrom": {'."\n" - .' "secretKeyRef": {'."\n" - .' "name": "my-secret",'."\n" - .' "key": "y3"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', - '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' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" - ."\n" - .'EnvFroms的配置参数说明如下:'."\n" - .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" - ."\n" - .' name:ConfigMap名称。'."\n" - ."\n" - .'- secretRef:Secret引用,该字段包括以下参数:'."\n" - ."\n" - .' name:Secret名称。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "name": "appname",'."\n" - .' "valueFrom": {'."\n" - .' "configMapKeyRef": {'."\n" - .' "name": "appconf"'."\n" - .' }'."\n" - .' }'."\n" - .' }'."\n" - .']', - ], - ], - [ - 'name' => 'EmptyDirs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" - ."\n" - .'- mountPath:容器挂载路径,必填。'."\n" - .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" - .'- subPathExpr:子目录表达式,可选。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', - ], - ], - [ - 'name' => 'JavaStartUpConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。JSON中key取值如下:'."\n" - ."\n" - .'- InitialHeapSize:代表初始化堆大小。'."\n" - .'- MaxHeapSize:代表最大堆大小。'."\n" - .'- CustomParams:代表用户自定义内容,如JVM -D参数等。'."\n" - .'- 其它情况:可自行查看前端提交的JSON结构。', - 'type' => 'string', - 'required' => false, - 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}', - ], - ], - [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" - .'- name:ConfigMap或Secret的名称。'."\n" - .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" - .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', - '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' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" - ."\n" - .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" - .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持两个配置参数。'."\n" - .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" - .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', - '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' => '应用Pod注解。', - 'type' => 'string', - 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', - ], - ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'description' => '应用Pod标签。', - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', - ], - ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '镜像URL。', - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest', - ], - ], - [ - 'name' => 'PackageUrl', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => '部署包地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], + 'schema' => ['title' => '页码', 'description' => '页码,从1开始计数。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ - 'name' => 'LocalVolume', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中:'."\n" - ."\n" - .'- `nodePath`为宿主机路径。'."\n" - ."\n" - .'- `mountPath`为容器内的路径。'."\n" - ."\n" - .'- `type`为挂载类型。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', - ], + 'schema' => ['title' => '页大小', 'description' => '页大小。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ - 'name' => 'RegionId', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '配置模板ID', 'description' => '配置模板ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c******'], ], [ - 'name' => 'ComponentIds', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '应用组件ID。可通过查询组件列表接口ListComponents接口获取。当创建的应用运行环境使用Apache Tomcat(适用于WAR包部署的Dubbo应用)或者标准Java应用运行环境(适用于JAR包部署的Spring Boot或Spring Cloud应用)时需要指定。'."\n" - ."\n" - .'常用的应用组件ID及含义:'."\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" - .'该参数需要更新Java或者Python SDK版本到2.57.3或以上版本才可以设置,未使用EDAS提供的SDK的(例如在使用aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli等)用户可直接设置该参数。', - 'type' => 'string', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['title' => '配置模板名称', 'description' => '配置模板名称。', 'type' => 'string', 'required' => false, 'example' => 'config-tmpl-1'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '接口响应。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '7638276F-****-****-884F-54CC0BC84A8D', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 。', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '请求ID', 'description' => '请求ID。', 'type' => 'string', 'example' => '4D9F-DR94-FD****************'], + 'Code' => ['title' => '响应码', 'description' => '接口状态或POP错误码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '响应码文本描述', 'description' => '附加信息。', 'type' => 'string', 'example' => 'success'], 'Data' => [ - 'description' => '接口返回数据。', + 'title' => '查询结果', + 'description' => '查询结果。', 'type' => 'object', 'properties' => [ - 'Jobs' => [ - 'description' => '任务列表及任务详情。', + 'CurrentPage' => ['title' => '当前分页', 'description' => '当前分页号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['title' => '页大小', 'description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalSize' => ['title' => '配置模板总数', 'description' => '配置模板总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'Result' => [ + 'title' => '配置模板列表', + 'description' => '配置模板列表。', 'type' => 'array', 'items' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'example' => '集群健康检查。', + 'type' => 'object', + 'properties' => [ + 'Id' => ['title' => '配置模板ID', 'description' => '配置模板ID。', 'type' => 'string', 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c2b460c'], + 'Name' => ['title' => '配置模板名称', 'description' => '配置模板名称。', 'type' => 'string', 'example' => 'config-tmpl-1'], + 'Format' => ['title' => '模板数据格式', 'description' => '模板数据格式。', 'type' => 'string', 'example' => 'JSON'], + 'Description' => ['title' => '模板描述', 'description' => '模板描述。', 'type' => 'string', 'example' => 'Test configuration template'], + 'Content' => ['title' => '模板内容', 'description' => '模板内容。', 'type' => 'string', 'example' => '{"name":"William"}'], + 'GmtCreate' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1638171689626'], + 'GmtModified' => ['title' => '更新时间', 'description' => '更新时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1638171689626'], + ], + 'description' => '', ], ], ], @@ -15956,25 +9834,37 @@ ], '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' => '开始K8s应用变更预检', - ], - 'GetK8sApplication' => [ - 'summary' => '获取容器服务K8s集群或Serverless K8s集群中部署的应用信息。', - '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' => '获取配置模板列表', + 'changeSet' => [ + ['createdAt' => '2022-01-13T07:39:34.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConfigTemplates'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListConfigTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListConsumedServices' => [ + 'path' => '/pop/v5/service/listConsumedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15982,564 +9872,108 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-4f98-a286-781659d9****', - ], - ], - [ - 'name' => 'From', - 'in' => 'query', - 'schema' => [ - 'description' => '查询来源:'."\n" - .'- 为空表示普通查询。'."\n" - .'- deploy表示从部署页面进入查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'deploy', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a66c5d1f-****-****-8c2b-6925f781b203'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'Applcation' => [ - 'description' => '应用信息。', + 'Code' => ['description' => 'Code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'ConsumedServicesList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'AppId' => [ - 'description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'example' => 'a5281053-****-47a5-b2ab-5c0323de****', - ], - 'DeployGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DeployGroup' => [ - 'description' => '部署分组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '部署分组对象。', + 'ListConsumedServices' => [ + 'description' => '消费的服务列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DockerApplication' => ['description' => '是否是Docker应用:'."\n" + .'- true: 是。'."\n" + .'- false:否。', 'type' => 'boolean', 'example' => 'true'], + 'Type' => ['description' => '消费的服务类型。', 'type' => 'string', 'example' => 'HSF'], + 'Version' => ['description' => '消费的服务版本。', 'type' => 'string', 'example' => '1.0'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'Group2Ip' => ['description' => '保留字段。', 'type' => 'string', 'example' => '""'], + 'Name' => ['description' => '消费的服务名称。', 'type' => 'string', 'example' => 'service'], + 'Ips' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Components' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Components' => [ - 'description' => '组件信息。', - 'type' => 'array', - 'items' => [ - 'description' => '组件对象。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '组件类型。', - 'type' => 'string', - 'example' => 'JDK', - ], - 'ComponentKey' => [ - 'description' => '组件关键字。', - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ComponentId' => [ - 'description' => '组件ID。', - 'type' => 'string', - 'example' => '5', - ], - ], - ], - ], - ], - ], - 'Env' => [ - 'description' => '环境变量,相对于EnvList字段,本字段透出对ConfigMap/Secret引用的相关配置信息。', - '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' => '环境变量来源。', - 'type' => 'string', - 'example' => '[{"configMapRef":{"name":"test-cm"}}]', - ], - ], - ], - ], - ], - ], - 'ImageInfo' => [ - 'description' => '镜像信息。', - 'type' => 'object', - 'properties' => [ - 'RepoId' => [ - 'description' => '镜像仓库ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ImageUrl' => [ - 'description' => '镜像URL。', - 'type' => 'string', - 'example' => 'registry.cn-beijing.aliyuncs.com/edas-serverless-****/1314839****06888_shared_repo:5a166fbd-9d76-4f98-****-78165****c_1572***282', - ], - 'RepoOriginType' => [ - 'description' => '镜像仓库来源类型。', - 'type' => 'string', - 'example' => 'ALI_HUB', - ], - 'Tag' => [ - 'description' => '镜像Tag。', - 'type' => 'string', - 'example' => '5a166fbd-9d76-4f98-****-781659d9f54c_1572485443282', - ], - 'RepoName' => [ - 'description' => '镜像仓库名称。', - 'type' => 'string', - 'example' => '131****067006888_shared_repo', - ], - 'RepoNamespace' => [ - 'description' => '镜像仓库命名空间。', - 'type' => 'string', - 'example' => 'edas-server****-user', - ], - 'RegionId' => [ - 'description' => '镜像地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - 'App' => [ - 'description' => '应用基础信息。', - 'type' => 'object', - 'properties' => [ - 'RequestMem' => [ - 'description' => '内存资源预留,单位MiB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'InstancesBeforeScaling' => [ - 'description' => '上次伸缩前的应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'DeployType' => [ - 'description' => '部署类型,可选值为:Image。', - 'type' => 'string', - 'example' => 'Image', - ], - 'ApplicationName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'ApplicationType' => [ - 'description' => '应用类型。', - 'type' => 'string', - 'example' => 'War', - ], - 'Instances' => [ - 'description' => '应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'LimitMem' => [ - 'description' => '内存资源限制,单位MiB。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'Cmd' => [ - 'description' => '启动命令。', - 'type' => 'string', - 'example' => 'ls', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'BuildpackId' => [ - 'description' => '应用构建类型ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '57', - ], - 'TomcatVersion' => [ - 'description' => 'Apache Tomcat版本。', - 'type' => 'string', - 'example' => '8.5.55', - ], - 'CsClusterId' => [ - 'description' => '容器集群ID。', - 'type' => 'string', - 'example' => 'c383bc813c1974e****451b50c0c8****', - ], - 'RequestCpuM' => [ - 'description' => 'CPU资源请求,单位为毫核,1000为1核CPU。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'AppId' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'example' => '00ee517d-dd7d-4d4e-****-****', - ], - 'K8sNamespace' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'EdasContainerVersion' => [ - 'description' => 'EDAS容器版本。', - 'type' => 'string', - 'example' => '3.60.0', - ], - 'LimitCpuM' => [ - 'description' => 'CPU资源限制,单位为毫核,1000为1核CPU。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'c37aec2a-bcca-4ec1-****-****', - ], - 'EnvList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Env' => [ - 'description' => '环境变量列表。', - 'type' => 'array', - 'items' => [ - 'description' => '环境变量对象。', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '环境变量名称。', - 'type' => 'string', - 'example' => 'CATALINA_OPTS', - ], - 'Value' => [ - 'description' => '环境变量值。', - 'type' => 'string', - 'example' => '-Xmx 1024m -Dhsf.default.tid=false $(EDAS_CATALINA_OPTS)', - ], - ], + 'ip' => [ + 'type' => 'array', + 'items' => ['description' => '服务订阅地址。', 'type' => 'string', 'example' => '102.XX.XX.23'], + 'description' => '', ], ], + 'description' => '', ], - ], - 'CmdArgs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CmdArg' => [ - 'description' => '命令列表。', - 'type' => 'array', - 'items' => [ - 'description' => '命令参数。', - 'type' => 'string', - 'example' => '-lh', + 'Groups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'group' => [ + 'type' => 'array', + 'items' => ['description' => '消费的服务对应的组别。', 'type' => 'string', 'example' => '”group“'], + 'description' => '', ], ], + 'description' => '', ], ], - 'DevelopType' => [ - 'description' => '应用类型:'."\n" - .'* General: 原生Java应用。'."\n" - .'* Pandora: Pandora应用。'."\n" - .'* Multilingual: 多语言应用。', - 'type' => 'string', - 'example' => 'General', - ], - 'SlbInfo' => [ - 'description' => 'SLB配置信息。', - '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' => '应用Pod注解。', - 'type' => 'string', - 'example' => '{"test-annokey":"test-annovalue"}', - ], - 'Labels' => [ - 'description' => '应用Pod标签。', - 'type' => 'string', - 'example' => '{"test-labelkey":"test-labelvalue"}', - ], - 'LimitEphemeralStorage' => [ - 'description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", - 'type' => 'string', - 'example' => '4', - ], - 'RequestEphemeralStorage' => [ - 'description' => '临时存储资源需求预留,单位:GB。设置0表示不限制。', - 'type' => 'string', - 'example' => '2', - ], - 'EnableEmptyPushReject' => [ - 'description' => '应用是否开启了推空保护。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableLosslessRule' => [ - 'description' => '应用是否开启了无损上线。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleAligned' => [ - 'description' => '应用是否启用了无损滚动发布模式配置通过就绪检查前完成服务注册。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleDelayTime' => [ - 'description' => '应用配置的服务延迟注册时长,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'LosslessRuleFuncType' => [ - 'description' => '应用设置的服务预热曲线。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'LosslessRuleRelated' => [ - 'description' => '应用是否启用了无损滚动发布模式配置通过就绪检查前完成服务预热。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'LosslessRuleWarmupTime' => [ - 'description' => '应用设置的服务预热时长,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'FeatureAnnotations' => [ - 'description' => '当前应用的高级配置标签,展示启用了哪些特性功能。可能的枚举值如下:'."\n" - .'- base.combination.edas: EDAS一体化管控方案。'."\n" - .'- base.combination.arms: 启用ARMS监控。'."\n" - .'- base.combination.mse: 启用MSE微服务之力。'."\n" - .'- base.combination.none: 仅启用生命周期管理。', - 'type' => 'string', - 'example' => 'base.combination.edas', - ], - 'WorkloadType' => [ - 'description' => '创建应用时Workload的类型,目前支持Deployment和StatefulSet类型。留空时默认Deployment。', - 'type' => 'string', - 'example' => 'Deployment', - ], - 'SecurityContext' => [ - 'description' => '应用 Pod 容器 SecurityContext属性。', - 'type' => 'string', - 'example' => '{\\"runAsUser\\":0,\\"runAsGroup\\":0}', - ], - ], - ], - 'Conf' => [ - 'description' => '配置信息。', - 'type' => 'object', - 'properties' => [ - 'PostStart' => [ - 'description' => 'K8s容器启动后执行信息。', - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'Readiness' => [ - 'description' => 'K8s容器业务状态检查信息。', - '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' => '应用是否已接入AHAS。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'K8sCmdArgs' => [ - 'description' => '启动命令参数。', - 'type' => 'string', - 'example' => '-lh', - ], - 'Liveness' => [ - 'description' => 'K8s容器存活状态监测信息。', - 'type' => 'string', - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], - 'DeployAcrossNodes' => [ - 'description' => '是否将应用实例分布到多节点:'."\n" - .'- `true`代表是。'."\n" - .'- 其他值代表否。', - 'type' => 'string', - 'example' => 'true', - ], - 'K8sCmd' => [ - 'description' => '启动命令。', - 'type' => 'string', - 'example' => 'ls', - ], - 'PreStop' => [ - 'description' => 'K8s容器停止前执行信息。', - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], - 'DeployAcrossZones' => [ - 'description' => '是否将应用实例分布到多可用区:'."\n" - .'- `true`代表是。'."\n" - .'- 其他值代表否。', - 'type' => 'string', - 'example' => 'true', - ], - 'JarStartArgs' => [ - 'description' => 'JAR启动参数,已废弃。', - 'type' => 'string', - 'example' => '-lh', - ], - 'K8sNasInfo' => [ - 'description' => 'NAS存储信息。', - 'type' => 'string', - 'example' => '[{"nasPath":"/mnt/","mountPath":"/mnt/"}]', - ], - 'JarStartOptions' => [ - 'description' => 'JAR启动选项,已废弃。', - 'type' => 'string', - 'example' => '-h', - ], - 'RuntimeClassName' => [ - 'description' => '容器运行时类型,仅适用于使用安全沙箱容器的集群。', - 'type' => 'string', - 'example' => 'runc', - ], - 'K8sLocalvolumeInfo' => [ - 'description' => '本地存储信息。', - 'type' => 'string', - 'example' => '[{"type":"","nodePath":"/mnt/","mountPath":"/mnt/"}]', - ], - 'K8sVolumeInfo' => [ - 'description' => '存储信息。', - 'type' => 'string', - 'example' => '"{\\"hostPaths\\":\\"[]\\",\\"emptyDirs\\":\\"[]\\"}"', - ], - 'Affinity' => [ - 'description' => 'Pod亲和性配置。', - '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' => 'Pod调度容忍配置。', - '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' => '使用自定义OpenJDK运行时,配置的基础镜像地址。', - 'type' => 'string', - 'example' => 'openjdk:8u302', - ], - ], - ], - 'LatestVersion' => [ - 'description' => '最新版本信息。', - 'type' => 'object', - 'properties' => [ - 'Url' => [ - 'description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。', - 'type' => 'string', - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], - 'WarUrl' => [ - 'description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。', - 'type' => 'string', - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], - 'PackageVersion' => [ - 'description' => '部署包的版本号。', - 'type' => 'string', - 'example' => '20200720', - ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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' => '获取K8s应用信息', + 'title' => '查询消费的服务', + 'summary' => '调用ListConsumedServices查询消费的服务。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sServices' => [ - 'path' => '/pop/v5/k8s/acs/k8s_service', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:02:12.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListConsumedServices'], + ], + ], + '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 \\"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":""}]', + ], + 'ListConvertableEcu' => [ + 'path' => '/pop/v5/resource/convertable_ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16547,20 +9981,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'clusterId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => '集群ID。获取集群ID,请参见[ListCluster](~~154995~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a****'], ], ], 'responses' => [ @@ -16569,108 +9995,81 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '变更流程ID。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'Services' => [ - 'description' => 'K8s服务Service列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'K8s服务Service对象。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '服务类型。', - 'type' => 'string', - 'example' => 'ClusterIP', - ], - 'Name' => [ - 'description' => '服务名。', - 'type' => 'string', - 'example' => 'service-http', - ], - 'ClusterIP' => [ - 'description' => 'K8s服务Service IP地址。', - 'type' => 'string', - 'example' => '104.23.xx.xx', - ], - 'ServicePorts' => [ - 'description' => '端口映射列表。', - 'type' => 'array', - 'items' => [ - 'description' => '端口映射对象。', - 'type' => 'object', - 'properties' => [ - 'TargetPort' => [ - 'description' => '后端容器端口。', - 'type' => 'string', - 'example' => '8080', - ], - 'NodePort' => [ - 'description' => '节点端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Port' => [ - 'description' => '前端服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => '服务协议。', - 'type' => 'string', - 'example' => 'TCP', - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'InstanceList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => '可导入该集群的ECS实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECS实例对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-2zef6ob8m************'], + 'Status' => ['description' => '实例状态:'."\n" + .'- Pending:创建中。'."\n" + .'- Running:运行中。'."\n" + .'- Starting:启动中。'."\n" + .'- Stopping:停止中。'."\n" + .'- Stopped:已停止。', 'type' => 'string', 'example' => ' Running'], + 'PrivateIp' => ['description' => 'ECS实例私网IP,当ECS网络类型为VPC专有网络类型时。 ', 'type' => 'string', 'example' => '192.XX.XX.123'], + 'Expired' => ['description' => '是否过期。', 'type' => 'boolean', 'example' => 'false'], + 'InstanceId' => ['description' => 'ECS实例ID。', 'type' => 'string', 'example' => 'i-2ze7s2v0b***********'], + 'Mem' => ['description' => 'ECS实例MEM。', 'type' => 'integer', 'format' => 'int32', 'example' => '4096'], + 'RegionId' => ['description' => '所在地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'VpcName' => ['description' => 'VPC网络名称。', 'type' => 'string', 'example' => 'jianwei-test'], + 'EcuId' => ['description' => 'ECU ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'Cpu' => ['description' => 'ECS实例CPU。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'InnerIp' => ['description' => 'ECS实例内网IP,当ECS网络类型为专有网络类型时。', 'type' => 'string', 'example' => '192.168.13.xx'], + 'Eip' => ['description' => 'ECS弹性公网IP,可更换绑定目标。', 'type' => 'string', 'example' => '13.xx.xxx.xx'], + 'InstanceName' => ['description' => 'ECS实例名称。', 'type' => 'string', 'example' => 'worker-k8s'], + 'PublicIp' => ['description' => 'ECS实例公网IP,固定给该ECS实例使用。 ', 'type' => 'string', 'example' => '13.xx.xx.xxx'], ], ], ], ], + 'description' => '', ], ], ], ], ], - '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":""}]', - 'title' => '获取K8s服务Service列表', - 'summary' => '调用GetK8sServices接口获取K8s集群中应用的服务Service列表。', + 'errorCodes' => [], + 'title' => '列出可导入到指定集群的ECS实例列表', + 'summary' => '调用ListConvertableEcu接口列出可导入到指定集群的ECS实例列表。本API适用于ECS集群。', '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' => '[{"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":""}]', + ], + 'ListDeployGroup' => [ + 'summary' => '调用ListDeployGroup接口获取部署分组列表。', + 'path' => '/pop/v5/app/deploy_group_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16678,148 +10077,118 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'af58edcf-f7eb-****-****-db4e425f****', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => '日志服务采集类型:'."\n" - ."\n" - .'- file: 文件类型。'."\n" - .'- stdout: 标准输出类型。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'file', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '查询页面大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '查询页码,从1开始编号。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'd6834ee9-5045-*************', - ], - 'TotalSize' => [ - 'description' => '日志服务配置数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Result' => [ - 'description' => '日志服务配置结果。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Link' => [ - 'description' => '日志服务链接。', - 'type' => 'string', - 'example' => 'https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss', - ], - 'CreateTime' => [ - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '2020-05-18 22:08:46', - ], - 'Logstore' => [ - 'description' => 'logstore名称。', - 'type' => 'string', - 'example' => 'thisisatestlogstore', - ], - 'ConsumerSide' => [ - 'description' => '日志服务类型。', - 'type' => 'string', - 'example' => 'SLS日志服务', - ], - 'Project' => [ - 'description' => 'project名称。', - 'type' => 'string', - 'example' => 'k8s-log-c846f28edbd1d4c6aa9d78c0e********', - ], - 'Source' => [ - 'description' => '日志来源:'."\n" - ."\n" - .'- 标准输出:stdout.log。'."\n" - .'- 文件日志:采集路径。', - 'type' => 'string', - 'example' => '/var/log/*', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '3FDE-DS9R-*********************'], + 'DeployGroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployGroup' => [ + 'description' => '部署分组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '部署分组对象。', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => '部署分组关联的私网SLB的虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6******'], + 'Status' => ['description' => '分组状态:'."\n" + .'- 0:准备。'."\n" + .'- 1:执行中。'."\n" + .'- 2:执行成功。'."\n" + .'- 3:执行失败 。'."\n" + .'- 6:终止 。'."\n" + .'- 10:系统异常执行失败。', 'type' => 'string', 'example' => '2'], + 'CpuRequest' => ['description' => '应用运行过程中,应用实例需要申请的CPU配额,单位:核数,设置为0表示不限制。', 'type' => 'string', 'example' => '1'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779'], + 'MemoryRequest' => ['description' => '应用运行过程中,应用实例的内存配额。单位:MB,设置为0表示不限制。', 'type' => 'string', 'example' => '512'], + 'NameSpace' => ['description' => '命名空间。', 'type' => 'string', 'example' => 'ping****est'], + 'AppVersionId' => ['description' => '分组部署记录ID。', 'type' => 'string', 'example' => 'changeorder_a**_*******_**'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627695779'], + 'DeploymentName' => ['description' => '部署名称。', 'type' => 'string', 'example' => 'test'], + 'PreStop' => ['description' => '停止前脚本。', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'PackageUrl' => ['description' => '部署包地址。', 'type' => 'string', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar'], + 'PackageVersion' => ['description' => '部署包版本。', 'type' => 'string', 'example' => 'E'], + 'BaseComponentMetaName' => ['description' => '基础组件名称。', 'type' => 'string', 'example' => 'k8s-sc-consumer-****'], + 'CsClusterId' => ['description' => '容器集群ID。', 'type' => 'string', 'example' => 'c66e65950db****cba92f17434df1****'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + 'LastUpdateTime' => ['description' => '最近更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1587888503825'], + 'Env' => ['description' => '容器服务集群ID。', 'type' => 'string', 'example' => '497806cb-****-6a7'], + 'CpuLimit' => ['description' => '应用运行过程中,应用实例的CPU限制,单位:核数。', 'type' => 'string', 'example' => '400'], + 'GroupType' => ['description' => '分组类型:'."\n" + .'- 0:默认分组。'."\n" + .'- 1:流量管理没有启用灰度。'."\n" + .'- 2:流量管理启用灰度。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************'], + 'PostStart' => ['description' => '启动后脚本。', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"'], + 'Labels' => ['description' => '标签。', 'type' => 'string', 'example' => 'test'], + 'MemoryLimit' => ['description' => '应用运行过程中,应用实例的内存限制。单位:MB,设置为0表示不限制。', 'type' => 'string', 'example' => '0'], + 'Strategy' => ['description' => '限流策略(保留字段)。', 'type' => 'string', 'example' => 'RollingUpdate'], + 'Selector' => ['description' => 'EDAS容器服务K8s集群中部署的应用的ID。', 'type' => 'string', 'example' => '53dd85cc-25b4-4d0e-****-6bf5465****4'], + 'GroupId' => ['description' => '分组ID。', 'type' => 'string', 'example' => '577f4c50-16ee-43d8-****-************'], + 'GroupName' => ['description' => '分组名称。', 'type' => 'string', 'example' => '_DEFAULT_GROUP'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'doc-test'], + 'PackageVersionId' => ['description' => '该分组部署的版本ID。', 'type' => 'string', 'example' => 'a7d48fe8-ad8f-****-89bd-74cc1ee6****'], + 'Reversion' => ['description' => '应用版本,取值在0~7之间逐次递增。', 'type' => 'string', 'example' => '2'], + 'VExtServerGroupId' => ['description' => '部署分组关联的公网SLB的虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6******'], + 'PackagePublicUrl' => ['description' => '部署包对外下载地址。', 'type' => 'string', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/****/sc-****-consumer-E.jar'], + 'EphemeralStorageRequest' => ['description' => '临时存储最小资源需求,单位:GB。值为0表示不限制。', 'type' => 'string', 'example' => '4'], + 'EphemeralStorageLimit' => ['description' => '临时存储资源需求上限,单位:GB。值为0表示不限制。', 'type' => 'string', 'example' => '8'], + ], ], ], ], + 'description' => '', ], ], ], ], ], - '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' => '查询应用的日志服务配置详情', - 'summary' => '调用 QuerySlsLogStoreList 接口查询应用的日志服务配置详情。', + 'title' => '获取部署分组列表', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetAppDeployment' => [ - 'summary' => '调用GetAppDeployment接口获取K8s应用的Deployment信息。', - 'path' => '/pop/v5/oam/app_deployment', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-07-12T09:36:15.000Z', 'description' => '响应参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDeployGroup'], + ], ], + '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' => '[{"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":""}]', + ], + 'ListEcsNotInCluster' => [ + 'path' => '/pop/v5/resource/ecs_not_in_cluster', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16827,22 +10196,19 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NetworkMode', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => '网络类型。'."\n" + .'- 1:经典网络'."\n" + .'- 2:VPC网络', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2'], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'VPC ID,当NetworkMode为2时,该参数为必选。', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zef6ob8****v8x3q46kp'], ], ], 'responses' => [ @@ -16850,47 +10216,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '应用Deployment信息,格式为JSON格式字符串。', - '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' => '请求ID。', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'EcsEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcsEntity' => [ + 'description' => 'ECS列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC实例的ID。', 'type' => 'string', 'example' => 'vpc-2zef6ob8mrlzv8x3q****'], + 'Status' => ['description' => '实例状态。'."\n" + .'- **Pending**:创建中'."\n" + .'- **Running**:运行中'."\n" + .'- **Starting**:启动中'."\n" + .'- **Stopping**:停止中'."\n" + .'- **Stopped**:已停止', 'type' => 'string', 'example' => ' Running'], + 'PrivateIp' => ['description' => 'ECS实例的私网IP。', 'type' => 'string', 'example' => '192.168.*.**'], + 'Expired' => ['description' => 'ECS是否过期。'."\n" + ."\n" + .'- **true**:已过期'."\n" + ."\n" + .'- **false**:未过期', 'type' => 'boolean', 'example' => 'false'], + 'InstanceId' => ['description' => 'ECS实例的ID。', 'type' => 'string', 'example' => 'i-2ze7s2v0b***********'], + 'Mem' => ['description' => '内存大小(B)。', 'type' => 'integer', 'format' => 'int32', 'example' => '4096'], + 'RegionId' => ['description' => 'ECS实例所在地域的ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'VpcName' => ['description' => 'VPC实例名称。', 'type' => 'string', 'example' => 'test'], + 'Cpu' => ['description' => 'CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'InnerIp' => ['description' => 'ECS实例内网IP。', 'type' => 'string', 'example' => '192.168.20.113'], + 'Eip' => ['description' => 'ECS实例的弹性公网IP', 'type' => 'string', 'example' => '139.30.xxx.xx'], + 'InstanceName' => ['description' => 'ECS实例名称。', 'type' => 'string', 'example' => 'worker-k8s-for-cs-c9dfa009a5e7c4faab2010b87cae4****'], + 'PublicIp' => ['description' => 'ECS实例的公网IP。', 'type' => 'string', 'example' => '131.30.xxx.xx'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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' => '获取K8s应用的Deployment信息', + 'title' => '获取所有未导入集群的 ECS', + 'summary' => '调用ListEcsNotInCluster接口获取所有未导入集群的ECS实例。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAppInstanceList' => [ - 'path' => '/pop/v5/oam/app_instance_list', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:02:12.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEcsNotInCluster'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListEcsNotInCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'ListEcuByRegion' => [ + 'path' => '/pop/v5/resource/ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16898,141 +10302,109 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取。更多信息,请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-*****-ed2ae98de18d', - ], + 'schema' => ['description' => '命名空间ID:'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', 'type' => 'string', 'required' => false, 'example' => 'Cn-beijing or cn-beijing:tdy218'], ], [ - 'name' => 'WithNodeInfo', + 'name' => 'Act', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回Pod所在的节点信息。'."\n" - ."\n" - .'- `true`:是'."\n" - .'- `false`:否', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '固定值为`pop-query`。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pop-query'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', - ], - 'InstanceList' => [ - 'description' => '应用实例列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NodeLabels' => [ - 'description' => '节点标签,内容为JSON格式字符串。', - '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' => '部署分组ID。', - 'type' => 'string', - 'example' => '93fdd228-*****-ed2ae98de18d', - ], - 'GroupName' => [ - 'description' => '部署分组名。', - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'Canary' => [ - 'description' => '是否是金丝雀发布实例。'."\n" - .'- `true`:是'."\n" - .'- `false`:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'NodeName' => [ - 'description' => '节点名称。', - 'type' => 'string', - 'example' => 'cn-hangzhou.192.168.0.*', - ], - 'PodRaw' => [ - 'description' => 'Pod信息,内容为JSON格式字符串。', - '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' => '节点部署的包版本。', - 'type' => 'string', - 'example' => '2021-04-06 19:37:42', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '93fdd228-*****-ed2ae98de18d', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '00000000-0000-0000-****'], + 'EcuEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => 'ECU列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECU列表对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'ECU所在的VPC ID。', 'type' => 'string', 'example' => 'vpc-2zew8mi6gqbo5wf****'], + 'UpdateTime' => ['description' => '最后变更时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1572867895575'], + 'IpAddr' => ['description' => 'ECU的私网IP。', 'type' => 'string', 'example' => '192.168.xxx.xxx'], + 'AvailableCpu' => ['description' => 'ECU的可用CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1572539283168'], + 'UserId' => ['description' => '主账号ID。', 'type' => 'string', 'example' => 'edas@aliyun-****.com'], + 'InstanceId' => ['description' => 'ECU ID。', 'type' => 'string', 'example' => 'i-2ze82h8f4zcn449y****'], + 'Mem' => ['description' => '总内存,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'RegionId' => ['description' => 'ECU所在地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'EcuId' => ['description' => '这台ECU的唯一标示ID,可以在ECS上执行`dmidecode`获取。', 'type' => 'string', 'example' => 'c96c494c-1b91-4456-bbb3-b5afcd16****'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DockerEnv' => ['description' => '是否安装了Docker:'."\n" + .'- true:已安装Docker。'."\n" + .'- false:未安装Docker。', 'type' => 'boolean', 'example' => 'true'], + 'Online' => ['description' => '是否在线:'."\n" + .'- true:在线。'."\n" + .'- false:不在线。', 'type' => 'boolean', 'example' => 'false'], + 'AvailableMem' => ['description' => 'ECU的可用内存数,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '8192'], + 'ZoneId' => ['description' => 'ECU所在可用区ID。', 'type' => 'string', 'example' => 'cn-beijing-a'], + 'Name' => ['description' => 'ECU名称。', 'type' => 'string', 'example' => 'worker-k8s-for'], + 'HeartbeatTime' => ['description' => '上一次心跳检测的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1572867865221'], + ], ], ], ], + 'description' => '', ], ], ], ], ], - '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' => '查询K8s应用实例列表', - 'summary' => '调用DescribeAppInstanceList接口查询K8s应用实例列表。', + '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' => '获取指定命名空间下可用的ECU列表', + 'summary' => '获取指定命名空间下可用的ECU列表。', + 'description' => '## 基本概念'."\n" + ."\n" + .'- **命名空间**:指的是EDAS中设计的用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" + .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" + .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetK8sAppPrecheckResult' => [ - 'summary' => '调用GetK8sAppPrecheckResult接口获取K8s应用预检结果。', - 'path' => '/pop/v5/k8s/app_precheck', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:02:12.000Z', 'description' => '错误码发生变更'], + ], + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListHistoryDeployVersion' => [ + 'path' => '/pop/v5/app/deploy_history_version_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17040,286 +10412,130 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'EDAS集群ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'c37aec2a-bcca-4ec1-****-************', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'AppName', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'testapp', - ], + 'schema' => ['description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '应用变更预检响应。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '接口响应数据。', + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 ', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'D16979DC-4D42-************'], + 'PackageVersionList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Status' => [ - 'description' => '应用变更预检状态:'."\n" - .'- checking:检查中。'."\n" - .'- pass:通过检查。'."\n" - .'- failed:未通过检查。', - 'type' => 'string', - 'example' => 'checking', - ], - 'Reason' => [ - 'description' => '应用变更预检未通过的原因说明。预检通过时该字段为空。', - 'type' => 'string', - 'example' => 'K8s集群失联。', - ], - 'JobResults' => [ - 'description' => '应用变更预检结果。', + 'PackageVersion' => [ + 'description' => '部署包版本列表', 'type' => 'array', 'items' => [ - 'description' => '应用变更预检结果对象。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => '预检任务项名称。', - 'type' => 'string', - 'example' => 'Cluster Health Check', - ], - 'Pass' => [ - 'description' => '预检任务项是否通过预检:'."\n" - ."\n" - .'- true:通过预检。'."\n" - .'- false:未通过预检。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Interrupted' => [ - 'description' => '预检任务项是否被中断:'."\n" - ."\n" - .'- true:任务被中断。'."\n" - .'- false:任务未被中断。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Reason' => [ - 'description' => '应用变更预检项未通过或被中断的原因说明。预检通过时该字段为空。', - 'type' => 'string', - 'example' => 'K8s集群失联。', - ], + 'Type' => ['description' => '部署类型。'."\n" + .'- url:通过JAR或WAR包部署'."\n" + .'- image:通过镜像部署', 'type' => 'string', 'example' => 'url'], + 'PublicUrl' => ['description' => '部署包的URL', 'type' => 'string', 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar'], + 'UpdateTime' => ['description' => '更新时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627440892'], + 'Description' => ['description' => '历史版本的描述信息', 'type' => 'string', 'example' => 'deploy'], + 'CreateTime' => ['description' => '创建时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627440892'], + 'AppId' => ['description' => '应用ID', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + 'WarUrl' => ['description' => '部署包的URL', 'type' => 'string', 'example' => 'http://edas-sz.oss-cn-shenzhen**********/SPRING_CLOUD_PROVIDER.jar'], + 'Id' => ['description' => '历史版本的唯一标识', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************'], + 'PackageVersion' => ['description' => '发布版本(提供给回滚接口使用)', 'type' => 'string', 'example' => '1.0'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'errorCodes' => [], + 'title' => '应用发布历史版本列表', + 'summary' => '调用ListHistoryDeployVersion接口,获取应用部署的历史版本列表。', + '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' => '获取K8s应用预检结果', + '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":""}]', ], - 'BindK8sSlb' => [ - 'summary' => '绑定SLB到容器服务K8s集群中的应用。', - 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListK8sConfigMaps' => [ + 'summary' => '调用ListK8sConfigMaps接口获取K8s配置项列表。', + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => '阿里云地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-f554-****-****-a947b5cde6ee', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => '设置SLB的类型:'."\n" - .'* internet:公网SLB。'."\n" - .'* intranet:私网SLB。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => 'c0830281-366c-41b6-80fb-542e76******'], ], [ - 'name' => 'SlbId', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB ID。不配置时,EDAS会自动为用户新购SLB。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'lb-2ze1quax9t****iz82bjt', - ], - ], - [ - 'name' => 'SlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB协议,目前支持TCP、HTTP和HTTPS协议。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'TCP', - ], - ], - [ - 'name' => 'TargetPort', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '后端端口,也是应用的服务端口,范围1~65535。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '8080', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ - 'name' => 'Port', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => '前端端口,范围1~65535。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '80', - ], + 'schema' => ['description' => '当前页面,从0开始计数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], [ - 'name' => 'ServicePortInfos', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '多个端口需求以及非TCP协议需求填写字段。'."\n" - .'必须符合JsonArray格式,参考示例:'."\n" - .'[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809_16c185d6fa2_1914500329_-xxxxxxx","targetPort":8181,"lo'."\n" - .'adBalancerProtocol":"HTTPS"}]'."\n" - .'- port:必填,前端端口,范围 1~65535。不能重复。'."\n" - .'- targetPort: 必填,后端端口,范围 1~65535。'."\n" - .'- loadBalancerProtocol:必填,只支持TCP和HTTPS,对于HTTP类型的填写TCP即可。'."\n" - .'- certId:如果是HTTPS,则该参数必填证书ID,可以在SLB控制台进行购买。'."\n" - .'> 该参数用来支持多端口支持,需要配合appId、clusterId、type、slbId进行使用。', - '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' => '分页查询,每页显示的条数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], ], [ - 'name' => 'Specification', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的规格:'."\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', - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], + 'schema' => ['description' => '过滤条件,JSON对象字符串,示例:{"field":"Name", "pattern":"configmap-"}。'."\n", 'type' => 'string', 'required' => false, 'example' => '{"field":"Name", "pattern":"configmap-"}'], ], [ - 'name' => 'Scheduler', + 'name' => 'ShowRelatedApps', 'in' => 'query', - 'schema' => [ - 'description' => 'SLB调度算法。不填写则默认值为rr。支持负载均衡支持轮询 (rr)、加权轮询 (wr) 两种调度算法。'."\n" - ."\n" - .'- 加权轮询 (wrr):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - .'- 轮询 (rr):按照访问顺序依次将外部请求分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => '是否返回使用该配置项的应用列表,true表示返回,false表示不返回。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -17327,1302 +10543,2071 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3', - ], - 'Code' => [ - 'description' => '接口响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-****', + 'Code' => ['description' => '接口状态或pop错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], + 'Result' => [ + 'description' => '检索结果。', + 'type' => 'object', + 'properties' => [ + 'Total' => ['description' => '总记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '6'], + 'ConfigMaps' => [ + 'description' => '配置项列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => '创建时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', 'type' => 'string', 'example' => '2022-01-31T02:46:14Z'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'my-cluster'], + 'Namespace' => ['description' => 'K8s命名空间。', 'type' => 'string', 'example' => 'default'], + 'Name' => ['description' => '配置项名称。', 'type' => 'string', 'example' => 'my-config'], + 'ClusterId' => ['description' => '集群ID,可通过调用GetK8sCluster接口获取,请参见[GetK8sCluster](~~181437~~)。', 'type' => 'string', 'example' => 'd73918f4-3b08-4c17-bb07-eaf8********'], + 'Data' => [ + 'description' => '配置项数据列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '用户自定义ConfigMap键。', 'type' => 'string', 'example' => 'name'], + 'Value' => ['description' => '用户自定义ConfigMap值。', 'type' => 'string', 'example' => 'william'], + ], + 'description' => '', + ], + ], + 'RelatedApps' => [ + 'description' => '关联的应用列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'my-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '728cbdf2-da10-49b8-b69c-9168a********'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + ], ], ], + 'description' => '', ], ], ], - '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":""}]', - 'title' => '绑定SLB到集群中的应用', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UnbindK8sSlb' => [ - 'summary' => '调用UnbindK8sSlb解绑容器服务k8s应用的SLB。', - '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' => '无权限操作'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => '获取K8s配置项列表', + 'changeSet' => [ + ['createdAt' => '2022-04-12T12:53:09.000Z', 'description' => '响应参数发生变更'], + ], + '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' => '全部资源', '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' => '应用ID,可以通过调用[ListApplication](~~149390~~)获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****-a286-781659d9f54c', - ], + 'schema' => ['description' => '阿里云地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID,可以通过调用[GetK8sCluster](~~181437~~)获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], [ - 'name' => 'Type', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '设置SLB的类型:'."\n" - ."\n" - .'- **internet**:公网'."\n" - ."\n" - .'- **intranet**:私网', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'internet', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ - 'name' => 'SlbName', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡SLB实例名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'a2d4ab12666544a479cdd0711a97****', - ], + 'schema' => ['description' => '过滤条件,JSON类型,格式为{"field":"Name", "pattern":"my-"},其中:'."\n" + ."\n" + .'- field:需要匹配的字段,支持Name和ClusterName。'."\n" + ."\n" + .'- pattern:匹配内容。'."\n" + ."\n" + .'以{"field":"Name", "pattern":"my-"}这条过滤条件为例,该条过滤规则会匹配名称为“my-”开头的路由规则。'."\n", 'type' => 'string', 'required' => false, 'example' => '{"field":"Name", "pattern":"my-"}'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'ChangeOrderId' => [ - 'description' => '变更流程ID。', - 'type' => 'string', - 'example' => 'b0a8441e-****-4e8e-9874-b56dea02952f', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1234-1sda-321d-1234', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5C1C9DE7-88FF-4B56-A47B-3DBBCEB******'], + 'Data' => [ + 'description' => '接口响应数据。', + 'type' => 'array', + 'items' => [ + 'description' => '接口响应数据对象。', + 'type' => 'object', + 'properties' => [ + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'my-dev-cluster'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '5b2b4ab4-efbc-4a81-9c45-a5942881****'], + 'RegionId' => ['description' => '阿里云地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'IngressConfs' => [ + 'description' => '应用路由列表。', + 'type' => 'array', + 'items' => [ + 'description' => '应用路由列表对象。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => '应用路由创建时间。', 'type' => 'string', 'example' => '2021-04-27 20:16:52'], + 'SslRedirect' => ['description' => '是否启用SSL重定向:'."\n" + .'- true:启用。'."\n" + .'- false:关闭。', 'type' => 'boolean', 'example' => 'true'], + 'Endpoint' => ['description' => '应用路由入口IP地址。', 'type' => 'string', 'example' => '47.11x.xx.xx'], + 'Namespace' => ['description' => '应用路由所属K8s命名空间。', 'type' => 'string', 'example' => 'default'], + 'Name' => ['description' => '应用路由名称。', 'type' => 'string', 'example' => 'my-ingress'], + 'DashboardUrl' => ['description' => '应用路由监控URL。', 'type' => 'string', 'example' => 'http://grafana.console.aliyun.com/d/10xxxx/ingress'], + 'Rules' => [ + 'description' => '应用路由规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '应用路由规则对象。', + 'type' => 'object', + 'properties' => [ + 'SecretName' => ['description' => '保存TLS证书的Secret名称。', 'type' => 'string', 'example' => 'my-secret'], + 'Host' => ['description' => '应用路由域名。', 'type' => 'string', 'example' => 'example.com'], + 'Paths' => [ + 'description' => '应用路由匹配路径列表。', + 'type' => 'array', + 'items' => [ + 'description' => '应用路由匹配路径对象。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '应用路由状态,支持以下状态:'."\n" + ."\n" + .'- **Normal**:状态正常。'."\n" + ."\n" + .'- **ServiceNotFound**:后端Service不存在。'."\n" + ."\n" + .'- **InvalidServicePort**:无效服务端口。'."\n" + ."\n" + .'- **NotManagedService**:非EDAS管控Service。'."\n" + ."\n" + .'- **Unknown**:未知错误。', 'type' => 'string', 'example' => 'Normal'], + 'Path' => ['description' => '匹配路径。', 'type' => 'string', 'example' => '/foo/bar'], + 'AppName' => ['description' => 'EDAS应用名称。', 'type' => 'string', 'example' => 'my-app'], + 'AppId' => ['description' => 'EDAS应用ID。', 'type' => 'string', 'example' => '43d30ba5-c568-460c-8080-d447ed1a****'], + 'Backend' => [ + 'description' => '后端服务配置。', + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => '后端服务名称。', 'type' => 'string', 'example' => 'http-service'], + 'ServicePort' => ['description' => '后端服务端口。', 'type' => 'string', 'example' => '8080'], + ], + ], + 'CollectRate' => ['description' => '基于EDAS为网关注入TraceId支持调用链路查询能力,设置匹配该条规则流量的采样率。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'PathType' => ['description' => '路径匹配类型:'."\n" + .'- ImplementationSpecific:默认。'."\n" + .'- Exact:完整匹配。'."\n" + .'- Prefix:前缀匹配。', 'type' => 'string', 'example' => 'ImplementationSpecific'], + ], + ], + ], + 'EnableTls' => ['description' => '是否启用TLS:'."\n" + .'- true:启用。'."\n" + .'- false:不启用。', 'type' => 'boolean', 'example' => 'false'], + ], + ], + ], + 'AlbId' => ['description' => '应用型负载均衡ALB实例ID。', 'type' => 'string', 'example' => 'alb-5sde0tq62r********'], + 'IngressType' => ['description' => '应用路由类型:'."\n" + .'- **NginxIngress**:使用nginx应用路由控制器。'."\n" + .'- **AlbIngress**:使用ALB应用路由控制器。'."\n" + ."\n" + .'默认使用NginxIngress。', 'type' => 'string', 'example' => 'NginxIngress'], + 'OfficalBasicUrl' => ['description' => '社区版本基础监控地址。', 'type' => 'string', 'example' => 'https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official'], + 'OfficalRequestUrl' => ['description' => '社区版本请求性能监控地址。', 'type' => 'string', 'example' => 'https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official'], + 'MseGatewayId' => ['description' => 'MSE网关实例ID。', 'type' => 'string', 'example' => 'gw-xxxxxxxx'], + 'MseGatewayName' => ['description' => 'MSE网关实例名称。', 'type' => 'string', 'example' => 'gw-test-name'], + 'Annotations' => ['description' => '注解。', 'type' => 'string', 'example' => '{"test-annotation":"test-annotation-value"}'], + 'Labels' => ['description' => '标签。', 'type' => 'string', 'example' => '{"test-label": "test-labels"}'], + ], + ], + ], + ], + ], ], ], ], ], ], - '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' => '解绑容器服务 k8s 应用的 SLB', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'title' => '获取应用路由列表', + 'summary' => '获取应用路由列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InsertK8sApplication' => [ - 'summary' => '在容器服务K8s集群或Serverless K8s集群中创建应用。', - 'path' => '/pop/v5/k8s/acs/create_k8s_app', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-09-25T02:57:36.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-05-17T03:19:06.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-10-27T06:18:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-09-16T11:40:24.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-09-16T11:40:24.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-07-27T08:01:03.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sIngressRules'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '调用ListK8sNamespaces接口获取K8s命名空间列表。', + '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', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '内网SLB后端端口,也是应用的服务端口,范围为1~65535。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'EDAS集群ID', 'type' => 'string', 'required' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], - [ - 'name' => 'IntranetSlbPort', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '内网SLB前端端口,范围为1~65535。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => [ + 'description' => '接口响应数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Namespace' => ['description' => 'K8s命名空间。', 'type' => 'string', 'example' => 'development'], + ], + 'description' => '', + ], + ], + ], ], ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '镜像地址,当设置`PackageType`为`Image`时,此参数项为必填。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'registry.cn-beijing.aliyuncs.com/****_test/****-cons****:1.0', - ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], ], - [ - 'name' => 'ApplicationDescription', - 'in' => 'query', - 'schema' => [ - 'description' => '应用描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'Production Environment', - ], + ], + 'title' => '获取K8s命名空间列表', + 'changeSet' => [ + ['createdAt' => '2022-06-02T03:28:40.000Z', 'description' => 'OpenAPI 下线'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sNamespaces'], ], + ], + 'ramActions' => [ [ - 'name' => 'RepoId', - 'in' => 'query', - 'schema' => [ - 'description' => '镜像的仓库ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ced********', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => '应用实例数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'LimitCpu', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的CPU限额,单位:核数。如果LimitmCpu不为空,则忽略该参数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '7a953f9a-2946-4c7a-9d82-9939db******'], ], [ - 'name' => 'LimitMem', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的内存限额,单位:MB。LimitMem取值要不小于RequestsMem。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'default'], ], [ - 'name' => 'RequestsCpu', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用创建时,应用实例的CPU限额,单位:核数。设置为0时表示不限制。如果RequestsmCpu,则使用RequestsmCpu,忽略该参数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '阿里云地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RequestsMem', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => '应用创建时,应用实例的内存限额,单位:MB。设置为0时表示不限制。RequestsMem的取值不能大于LimitMem的取值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '当前页码,从0开始计数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], [ - 'name' => 'Command', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '应用启动命令。如果设置该参数,镜像在启动时,会替代镜像中的原有的启动命令。', - 'type' => 'string', - 'required' => false, - 'example' => 'ls', - ], + 'schema' => ['description' => '分页查询,每页显示的条数。值为0时不进行分页,返回所有内容。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'CommandArgs', + 'name' => 'Condition', 'in' => 'query', - 'schema' => [ - 'description' => '与命令组合使用,命令的参数是JsonArray字符串,格式如:`[{"argument":"-c"},{"argument":"test"}]`。其中`-c`、`test`为需要设置的两个参数。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"argument":"-lh"}]', - ], + 'schema' => ['description' => '过滤条件,JSON对象字符串,示例:{"field":"Name", "pattern":"configmap-"}。', 'type' => 'string', 'required' => false, 'example' => '{\\"field\\":\\"Name\\",\\"pattern\\":\\"product\\"}'], ], [ - 'name' => 'AppName', + 'name' => 'ShowRelatedApps', 'in' => 'query', - 'schema' => [ - 'description' => '应用名称。必须以字母开头,支持数字、字母和短划线(-),最多支持36个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'doc-test', - ], + 'schema' => ['description' => '返回使用该保密配置的应用列表。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - [ - 'name' => 'IntranetSlbProtocol', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '私网SLB协议,支持TCP、HTTP和HTTPS协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'Result' => [ + 'description' => 'K8s保密配置查询结果。', + 'type' => 'object', + 'properties' => [ + 'Total' => ['description' => '总记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '6'], + 'Secrets' => [ + 'description' => '保密配置列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '保密配置类型,支持以下两种类型:'."\n" + ."\n" + .'- Opaque:用户自定义数据类型。'."\n" + ."\n" + .'- kubernetes.io/tls:TLS证书类型。', 'type' => 'string', 'example' => 'Opaque'], + 'CreationTime' => ['description' => '创建时间。格式为:<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", 'type' => 'string', 'example' => '2022-05-26T02:57:02Z'], + 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'test-cluster'], + 'Namespace' => ['description' => 'K8s集群命名空间。', 'type' => 'string', 'example' => 'default'], + 'Base64Encoded' => ['description' => '数据是否进过base64编码:'."\n" + .'- true:已编码。'."\n" + .'- false:未编码。', 'type' => 'boolean', 'example' => 'false'], + 'CertRegionId' => ['description' => '证书所属的区域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'CertId' => ['description' => '阿里云证书服务的证书ID。', 'type' => 'string', 'example' => '123456'], + 'Name' => ['description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。'."\n", 'type' => 'string', 'example' => 'my-secret'], + 'ClusterId' => ['description' => 'EDAS集群ID。', 'type' => 'string', 'example' => '4472a6d3-f01d-4087-85a7-3dc52********'], + 'RelatedIngressRules' => [ + 'description' => '关联的应用路由规则列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => '应用路由规则名称。', 'type' => 'string', 'example' => 'testrulename'], + 'Namespace' => ['description' => 'K8s命名空间。', 'type' => 'string', 'example' => 'default'], + 'RelatedApps' => [ + 'description' => '应用路由关联应用列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'EDAS应用名称。', 'type' => 'string', 'example' => 'app-test'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '6dc74432-5a35-4e68-8aaa-3700********'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'Data' => [ + 'description' => '保密配置数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '用户自定义的secret键。', 'type' => 'string', 'example' => 'name'], + 'Value' => ['description' => '用户自定义的secret值。', 'type' => 'string', 'example' => 'william'], + ], + 'description' => '', + ], + ], + 'RelatedApps' => [ + 'description' => '使用了该保密配置的应用列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'my-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'b08eeb18-8946-410c-a1ea-dbbc********'], + ], + 'description' => '', + ], + ], + 'CertDetail' => [ + 'description' => 'SSL证书详情。', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => '证书结束时间。', 'type' => 'string', 'example' => '2022-02-22T02:32:41Z'], + 'Status' => ['description' => '证书状态:'."\n" + .'- normal:有效证书。'."\n" + .'- invalid:无效证书。'."\n" + .'- expired:证书已过期。'."\n" + .'- not\\_yet\\_valid:尚未到生效时间。'."\n" + .'- about\\_to\\_expire:证书即将过期。'."\n", 'type' => 'string', 'example' => 'normal'], + 'StartTime' => ['description' => '证书生效时间。', 'type' => 'string', 'example' => '2022-01-02T22:40:00Z'], + 'Issuer' => ['description' => '证书颁发机构。', 'type' => 'string', 'example' => 'CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE'], + 'DomainNames' => [ + 'description' => 'SSL证书关联的域名列表。', + 'type' => 'array', + 'items' => ['description' => '域名。', 'type' => 'string', 'example' => 'example.com'], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', ], ], - [ - 'name' => 'IntranetSlbId', - 'in' => 'query', - 'schema' => [ - 'description' => '私网SLB ID,不配置时,EDAS会自动为用户新购SLB。', - 'type' => 'string', - 'required' => false, - 'example' => 'ae93********', - ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], ], - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID,可调用ListCluster接口获取,详情请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c9cd****', - ], + ], + 'title' => '获取K8s保密配置列表', + 'summary' => '调用ListK8sSecrets接口获取K8s保密配置列表。', + 'changeSet' => [ + ['createdAt' => '2021-09-14T03:02:40.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2021-09-14T03:02:40.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListK8sSecrets'], ], + ], + 'ramActions' => [ [ - 'name' => 'InternetSlbId', - 'in' => 'query', - 'schema' => [ - 'description' => '公网SLB ID,不配置时,EDAS会自动为用户新购SLB。', - 'type' => 'string', - 'required' => false, - 'example' => 'a3d4********', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => 'InternetSlbProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => '公网SLB协议,支持TCP、HTTP和HTTPS协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'InternetSlbPort', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '公网SLB前端端口,范围为1~65535。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'be213a4a-c7e4-473b-ab0****'], ], [ - 'name' => 'InternetTargetPort', + 'name' => 'ServiceName', 'in' => 'query', - 'schema' => [ - 'description' => '私网SLB后端端口,也是应用的服务端口,范围为1~65535。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], + 'schema' => ['description' => '服务名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Method'], ], - [ - 'name' => 'Envs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x2",'."\n" - .' "valueFrom": {'."\n" - .' "configMapKeyRef": {'."\n" - .' "name": "my-config",'."\n" - .' "key": "y2"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x3",'."\n" - .' "valueFrom": {'."\n" - .' "secretKeyRef": {'."\n" - .' "name": "my-secret",'."\n" - .' "key": "y3"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', - '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"}}}]', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '69AD2AA7-DB47-449B-941B-B14409DF****'], + 'ServiceMethodList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ServiceMethod' => [ + 'description' => '返回的服务方法列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MethodName' => ['description' => '方法名称。', 'type' => 'string', 'example' => 'echo'], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'App'], + 'Output' => ['description' => '方法返回类型。', 'type' => 'string', 'example' => 'java.lang.string'], + 'ServiceName' => ['description' => '服务名称。', 'type' => 'string', 'example' => 'com.alibaba.edas.demo.EchoService'], + 'ParamTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ParamType' => [ + 'description' => '方法入参类型列表。', + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'string', 'description' => ''], + ], + ], + 'description' => '', + ], + 'InputParams' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InputParam' => [ + 'description' => '方法入参列表。', + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'test', 'description' => ''], + ], + ], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'PreStop', - 'in' => 'query', - 'schema' => [ - 'description' => '停止前执行脚本,示例格式:`{"tcpSocket":{"host":"", "port":8080}}`。'."\n" - ."\n" - .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', - ], + ], + 'title' => '查询服务方法列表', + 'summary' => '调用ListMethods接口查询服务方法列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-11-25T06:12:00.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListMethods'], ], + ], + 'ramActions' => [ [ - 'name' => 'PostStart', - 'in' => 'query', - 'schema' => [ - 'description' => '启动后执行脚本,格式如:`{"exec":{"command":\\["cat","/etc/group"\\]}}`。'."\n" - ."\n" - .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"exec\\":{\\"command\\":[\\"ls\\",\\"/\\"]}}"', + '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 \\"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":""}]', + ], + 'ListPublishedServices' => [ + 'path' => '/pop/v5/service/listPublishedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Liveness', - 'in' => 'query', - 'schema' => [ - 'description' => '容器存活状态监测 ,格式如`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`。'."\n" - ."\n" - .'如果设置为`""`或者`{}`表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Readiness', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '容器业务状态检查,如果检查失败,经过K8s Service的流量将不转入到该容器,格式如:`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}`。'."\n" - ."\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"}]}}', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1fbd8b72-****-****-bdfe-478dbc914121'], ], - [ - 'name' => 'NasId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '挂载的NAS的ID。如果不填,且存在mountDescs字段,则默认将自动购买一个NAS并挂载到VPC内的交换机上。', - 'type' => 'string', - 'required' => false, - 'example' => 'dfs23****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => '1D6FC-4307-4583-BA6F-215F3857E****'], + 'PublishedServicesList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListPublishedServices' => [ + 'description' => '发布的服务列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DockerApplication' => ['description' => '是否是Docker应用:'."\n" + .'- true:是。'."\n" + .'- false:否。', 'type' => 'boolean', 'example' => 'false'], + 'Type' => ['description' => '发布的服务类型。', 'type' => 'string', 'example' => 'RESTful'], + 'Version' => ['description' => '发布的服务版本。', 'type' => 'string', 'example' => '--'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857E****'], + 'Group2Ip' => ['description' => '保留字段。', 'type' => 'string', 'example' => '""'], + 'Name' => ['description' => '发布的服务名称。', 'type' => 'string', 'example' => 'providers:com.****'], + 'Ips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ip' => [ + 'type' => 'array', + 'items' => ['description' => '服务订阅地址。', 'type' => 'string', 'example' => '112.XX.XX.24'], + 'description' => '', + ], + ], + 'description' => '', + ], + 'Groups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'group' => [ + 'type' => 'array', + 'items' => ['description' => '发布的服务对应的组别。', 'type' => 'string', 'example' => 'DEFAULT_GROUP'], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'MountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '挂载配置描述,为一个序列化的JSON。例如:`\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`。其中,`nasPath`是指文件储存路径;`mountPath`是指挂载到容器内的路径。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]', - ], + ], + 'errorCodes' => [], + 'title' => '查询发布的服务', + 'summary' => '调用ListPublishedServices查询发布的服务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPublishedServices'], ], + ], + 'ramActions' => [ [ - 'name' => 'StorageType', - 'in' => 'query', - 'schema' => [ - 'description' => 'NAS存储类型,包括:'."\n" - ."\n" - .'* 通用型NAS:Capacity(容量型)、Performance(性能型)'."\n" - .'* 极速型NAS:Standard(标准型)、Advance(高级型)'."\n" - ."\n" - .'目前只支持Performance类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'Performance', + '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 \\"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":""}]', + ], + 'ListRecentChangeOrder' => [ + 'path' => '/pop/v5/changeorder/change_order_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LocalVolume', - 'in' => 'query', - 'schema' => [ - 'description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中:'."\n" - ."\n" - .'- `nodePath`为宿主机路径。'."\n" - ."\n" - .'- `mountPath`为容器内的路径。'."\n" - ."\n" - .'- `type`为挂载类型。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Namespace', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群的命名空间,它将决定您的应用部署在哪个K8s命名空间。默认为default。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413-****-************'], ], - [ - 'name' => 'LogicalRegionId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'EDAS命名空间对应ID,非默认命名空间须填写。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen:beta****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-************'], + 'ChangeOrderList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ChangeOrder' => [ + 'description' => '变更记录列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '变更流程状态。'."\n" + .'- 0:准备开始执行'."\n" + .'- 1:执行中'."\n" + .'- 2:执行成功'."\n" + .'- 3:执行失败'."\n" + .'- 6:执行终止'."\n" + .'- 8:等待手工确认(手工分批的时候能看到)'."\n" + .'- 9:等待自动执行'."\n" + .'- 10:由于系统错误而失败', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'FinishTime' => ['description' => '结束时间。', 'type' => 'string', 'example' => '2019-11-13 14:24:02'], + 'CreateTime' => ['description' => '创建时间。', 'type' => 'string', 'example' => '2019-11-13 14:23:46'], + 'UserId' => ['description' => '创建变更流程用户ID。', 'type' => 'string', 'example' => '1432536****'], + 'ChangeOrderDescription' => ['description' => '变更流程描述信息。', 'type' => 'string', 'example' => 'Version: 2020-05-14 20:02:33 | Package: hsf-pandora-boot-provider-1.0.jar | Deployment target: All groups'], + 'Source' => ['description' => '变更来源。'."\n" + .'- console:EDAS控制台'."\n" + .'- pop:POP API或工具', 'type' => 'string', 'example' => 'pop'], + 'BatchCount' => ['description' => '分批次数。最少1批,最多5批。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'CreateUserId' => ['description' => '创建变更单的用户。', 'type' => 'string', 'example' => 'edas_test1@aliyun-test.com'], + 'CoTypeCode' => ['description' => '变更流程类型:'."\n" + .'- CoCreateApp:创建应用。'."\n" + .'- CoStartApplication:启动应用。'."\n" + .'- CoStopApplication:停止应用。'."\n" + .'- CoRestartApplication:重启应用。'."\n" + .'- CoDeleteApp:删除应用。'."\n" + .'- CoStart:启动应用实例。'."\n" + .'- CoStop:停止应用实例。'."\n" + .'- CoRestart:重启实例。'."\n" + .'- CoDeploy:部署应用。'."\n" + .'- CoReset:重置应用实例。'."\n" + .'- CoRollback:回滚应用。'."\n" + .'- CoScaleIn:缩容应用实例。'."\n" + .'- CoScaleOut:扩容应用实例。'."\n" + .'- CoChangeGroup:更改应用实例分组。'."\n" + .'- CoUpdateContainer:更新应用部署包版本。'."\n" + .'- CoBindSlb:绑定SLB。'."\n" + .'- CoBindECSSlb:绑定ECS SLB。'."\n" + .'- CoUnbindECSSlb:解绑ECS SLB。'."\n" + .'- CoUnbindSlb:解绑SLB。'."\n" + .'- CoModifySlb:配置SLB。'."\n" + .'- CoModifyConfig:修改应用配置。'."\n" + .'- CoClusterScaleOut:集群扩容。'."\n" + .'- CoRescaleApplicationVertically:垂直扩缩容。', 'type' => 'string', 'example' => 'CoDeploy'], + 'ChangeOrderId' => ['description' => '变更流程唯一标识ID。', 'type' => 'string', 'example' => '1074f3e2-e974-4a0e-****-************'], + 'BatchType' => ['description' => '分批发布时下一批变更的执行方式。'."\n" + ."\n" + .'- Automatic:自动'."\n" + .'- Manual:手动', 'type' => 'string', 'example' => 'Automatic'], + 'GroupId' => ['description' => '变更的应用分组ID。', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************'], + 'CoType' => ['description' => '变更流程类型。', 'type' => 'string', 'example' => 'Application Scale Out'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'PackageType', - 'in' => 'query', - 'schema' => [ - 'description' => '应用包类型。可选参数值包含:FatJar、WAR和Image。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'WAR', - ], + ], + '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\\": \\"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}","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' => '列出应用历史变更单列表', + 'summary' => '调用ListRecentChangeOrder列出应用历史变更单列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-22T03:32:27.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecentChangeOrder'], ], + ], + 'ramActions' => [ [ - 'name' => 'PackageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。'."\n" - ."\n" - .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', + '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}'], + ], ], ], + ], + ], + 'ListResourceGroup' => [ + 'path' => '/pop/v5/resource/reg_group_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PackageVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '部署包的版本号,WAR和FatJar类型必填。请自定义它的含义。'."\n" - ."\n" - .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', - 'type' => 'string', - 'required' => false, - 'example' => '20200720', - ], + 'AK' => [], ], - [ - 'name' => 'JDK', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '部署的包依赖的JDK版本。可选的参数值为Open JDK 7、Open JDK 8或Custom OpenJDK。镜像部署方式不支持此参数。当使用Custom OpenJDK时,还需配置UserBaseImageUrl字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'ResourceGroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ResGroupEntity' => [ + 'description' => '详见ResGroupEntity定义资源组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源组对象。', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827'], + 'Description' => ['description' => '资源组描述。', 'type' => 'string', 'example' => 'QqLZDA3pBZ'], + 'AdminUserId' => ['description' => '用户UID。', 'type' => 'string', 'example' => '****@aliyun.com'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1557890594376'], + 'Name' => ['description' => '资源组名称。', 'type' => 'string', 'example' => 'TIa2LGixyD'], + 'Id' => ['description' => '资源组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '8592'], + 'RegionId' => ['description' => '所属地域ID。', 'type' => 'string', 'example' => 'cn-qingdao'], + 'ecsList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcsEntity' => [ + 'description' => '实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC唯一标识。', 'type' => 'string', 'example' => 'vpc-bp13evu4aayj2t1er****'], + 'SgId' => ['description' => '安全组ID。', 'type' => 'string', 'example' => 'sg-m5eajgzn6b8sg9mv****'], + 'Status' => ['description' => '实例状态,取值如下:'."\n" + ."\n" + .'- Pending:创建中。'."\n" + .'- Running:运行中。'."\n" + .'- Starting:启动中。'."\n" + .'- Stopping:停止中。'."\n" + .'- Stopped:已停止。', 'type' => 'string', 'example' => 'Running'], + 'PrivateIp' => ['description' => '私网IP。', 'type' => 'string', 'example' => '192.168.xx.xxx'], + 'Expired' => ['description' => '是否过期:'."\n" + .'- true:已过期。'."\n" + .'- false:未过期。', 'type' => 'boolean', 'example' => 'true'], + 'UserId' => ['description' => '用户账号。', 'type' => 'string', 'example' => '****_common_****@aliyun.com'], + 'HostName' => ['description' => '主机名。', 'type' => 'string', 'example' => 'iZm5e853hvvrodnvqus****'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-m5e853hvvrodnvqu****'], + 'Mem' => ['description' => '内存总量,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'ch-hangzhou'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'InnerIp' => ['description' => '内网IP。', 'type' => 'string', 'example' => '192.168.xx.xxx'], + 'GroupId' => ['description' => 'EDAS资源组ID。', 'type' => 'string', 'example' => '64189****'], + 'Eip' => ['description' => '弹性IP。', 'type' => 'string', 'example' => '192.168.xxx.xx'], + 'Description' => ['description' => '描述。', 'type' => 'string', 'example' => 'test'], + 'InstanceName' => ['description' => '实例名称。', 'type' => 'string', 'example' => 'betabjmixcoud_01'], + 'ZoneId' => ['description' => '所在地域ID。', 'type' => 'string', 'example' => 'cn-qingdao-h'], + 'SerialNum' => ['description' => '序列号。', 'type' => 'string', 'example' => '98b480b8-458b-4ff3-84b9-cf7097c5****'], + 'PublicIp' => ['description' => '公网IP。', 'type' => 'string', 'example' => '192.168.xx.xxx'], + 'EcuEntity' => [ + 'description' => 'ECU实体。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-2ze1ram356umxs598****'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827'], + 'IpAddr' => ['description' => 'ECU的内网IP。', 'type' => 'string', 'example' => '192.168.xxx.xx'], + 'AvailableCpu' => ['description' => '可用CPU。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1557890594376'], + 'UserId' => ['description' => '关联用户ID。', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-2zej4i2jdf*********'], + 'Mem' => ['description' => '内存总量,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing '], + 'EcuId' => ['description' => '这台ECU的唯一标示ID,可以通过在ECS上执行`dmidecode`获取。', 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************'], + 'Cpu' => ['description' => 'CPU总核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'DockerEnv' => ['description' => '是否安装了Docker:'."\n" + .'- true:安装了Docker。'."\n" + .'- false:未安装Docker。', 'type' => 'boolean', 'example' => 'true'], + 'Online' => ['description' => '是否在线:'."\n" + .'- true:在线。'."\n" + .'- false:不在线。', 'type' => 'boolean', 'example' => 'true'], + 'AvailableMem' => ['description' => '可用内存。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ZoneId' => ['description' => '所在地域ID。', 'type' => 'string', 'example' => 'cn-beijing-b'], + 'Name' => ['description' => 'ECU名称。', 'type' => 'string', 'example' => 'test'], + 'HeartbeatTime' => ['description' => '上一次心跳检测的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819'], + ], + ], + 'VpcEntity' => [ + 'description' => 'VPC实例。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '实例状态。', 'type' => 'string', 'example' => 'Running'], + 'VpcName' => ['description' => 'VPC名称。', 'type' => 'string', 'example' => 'test'], + 'VpcId' => ['description' => 'VPC唯一标识。', 'type' => 'string', 'example' => 'vpc-bp13evu42t1er****'], + 'Description' => ['description' => '描述。', 'type' => 'string', 'example' => '""'], + 'Expired' => ['description' => '是否过期:'."\n" + ."\n" + .'- true:已过期。'."\n" + .'- false:未过期。', 'type' => 'boolean', 'example' => 'true'], + 'Cidrblock' => ['description' => '交换机的IPv4网段。', 'type' => 'string', 'example' => '192.168.xx.xxx'], + 'UserId' => ['description' => '用户ID。', 'type' => 'string', 'example' => '****_common_****@aliyun.com'], + 'EcsNum' => ['description' => '实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RegionId' => ['description' => '所在地域。', 'type' => 'string', 'example' => 'cn-qingdao'], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + 'SlbList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlbEntity' => [ + 'description' => 'SLB列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'SLB对象。', + 'type' => 'object', + 'properties' => [ + 'SlbId' => ['description' => 'SLB唯一标识。', 'type' => 'string', 'example' => 'lb-2zebf1fpbpkc7dnro****'], + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-m5e666n89m2bx8jar****'], + 'VswitchId' => ['description' => '交换机ID。', 'type' => 'string', 'example' => 'vsw-mktkxkhah14****'], + 'Expired' => ['description' => '是否过期:'."\n" + ."\n" + .'- true:已过期。'."\n" + .'- false:未过期。', 'type' => 'boolean', 'example' => 'true'], + 'UserId' => ['description' => '用户UID。', 'type' => 'string', 'example' => '****@aliyun.com'], + 'AddressType' => ['description' => '地址类型:'."\n" + .'- Internet:公网地址。'."\n" + .'- Intranet:私网地址。', 'type' => 'string', 'example' => 'Intranet'], + 'NetworkType' => ['description' => '网络类型:'."\n" + .'- 经典网络。'."\n" + .'- VPC。', 'type' => 'string', 'example' => 'vpc'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'GroupId' => ['description' => '分组ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '64189****'], + 'Address' => ['description' => 'IP地址。', 'type' => 'string', 'example' => '192.168.xxx.xx'], + 'SlbName' => ['description' => 'SLB名称。', 'type' => 'string', 'example' => 'a9315af59b4cd11e9a18c00163e1****'], + 'SlbStatus' => ['description' => 'SLB状态。', 'type' => 'string', 'example' => 'active'], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], - [ - 'name' => 'WebContainer', - 'in' => 'query', - 'schema' => [ - 'description' => '部署包依赖的Tomcat版本。适用于通过WAR包部署的Spring Cloud和Dubbo应用,镜像不支持此参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', - ], + ], + 'title' => '查询资源组信息', + 'summary' => '获取资源组列表。', + 'requestParamsDescription' => ' 无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-03-07T07:46:18.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceGroup'], ], + ], + 'ramActions' => [ [ - 'name' => 'EdasContainerVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '部署的包依赖的` EDAS-Container `版本。'."\n" - ."\n" - .'> 使用镜像部署时不支持此参数。', - 'type' => 'string', - 'required' => false, - 'example' => '3.5.9', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListResourceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '获取角色列表。', + 'path' => '/pop/v5/account/role_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'UriEncoding', - 'in' => 'query', - 'schema' => [ - 'description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" - ."\n" - .'> 应用配置不设置该参数,使用Tomcat默认值。', - 'type' => 'string', - 'required' => false, - 'example' => 'GBK', - ], + 'AK' => [], ], - [ - 'name' => 'UseBodyEncoding', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'useBodyEncodingForURI是否启用。'."\n" - ."\n" - .'> 应用配置不设置该参数,使用默认值false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********'], + 'RoleList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RoleItem' => [ + 'description' => '角色列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ActionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Action' => [ + 'description' => '操作权限集合', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '权限码', 'type' => 'string', 'example' => '1'], + 'Description' => ['description' => '权限描述', 'type' => 'string', 'example' => 'Operation log'], + 'GroupId' => ['description' => '权限组ID', 'type' => 'string', 'example' => '31'], + 'Name' => ['description' => '权限名称', 'type' => 'string', 'example' => '操作记录'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + 'Role' => [ + 'description' => '角色列表', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '角色更新时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1542717260156'], + 'IsDefault' => ['description' => '是否是默认生成的角色', 'type' => 'boolean', 'example' => 'false'], + 'AdminUserId' => ['description' => '云账号ID', 'type' => 'string', 'example' => 'test**@aliyun.com'], + 'CreateTime' => ['description' => '角色创建时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1542717260156'], + 'Name' => ['description' => '角色名称', 'type' => 'string', 'example' => 'Super Admin(All privileges)'], + 'Id' => ['description' => '角色ID', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'RequestsmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => '应用创建时,应用实例的CPU限额,单位:毫核数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + ], + '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\\": \\"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}","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' => '获取角色列表', + 'requestParamsDescription' => ' 无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:31:16.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRole'], ], + ], + 'ramActions' => [ [ - 'name' => 'LimitmCpu', - 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的CPU限额。 单位:毫核数,设置为0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'ListScaleOutEcu' => [ + 'path' => '/pop/v5/resource/scale_out_ecu_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RuntimeClassName', - 'in' => 'query', - 'schema' => [ - 'description' => '容器运行时类型,仅适用于使用安全沙箱容器的集群。', - 'type' => 'string', - 'required' => false, - 'example' => 'runc', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'DeployAcrossZones', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否将应用实例分布到多可用区。`true`代表是,其他值为否。', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '命名空间ID。'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:test。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'Timeout', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程超时时间,单位:秒。取值范围为1~1800秒,不填默认为1800秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => '以集群为查询条件,查询该集群内可用的ECU列表。'."\n" + ."\n" + .'> ClusterId与AppId需要至少填入一个作为查询参数。'."\n", 'type' => 'string', 'required' => false, 'example' => '52984524-6d48-4bbd-******************'], ], [ - 'name' => 'EnableAhas', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '是否接入AHAS:'."\n" - .' '."\n" - .'- true:接入AHAS。'."\n" - .'- false:不接入AHAS。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '以应用为查询条件,查询该应用所在集群内可用的ECU列表。'."\n" + ."\n" + .'> ClusterId与AppId需要至少填入一个作为查询参数。', 'type' => 'string', 'required' => false, 'example' => 'b93024fd-8a9d-4ef7-99f1-5f0d65cc****'], ], [ - 'name' => 'WebContainerConfig', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Tomcat容器配置,设置为""或"{}"表示删除配置:'."\n" - .'- useDefaultConfig:是否使用自定义配置,若为true,则表示不使用自定义配置,若为false,则表示使用自定义配置。若不使用自定义配置,则下面的参数配置将不会生效。'."\n" - .'- contextInputType:选择应用的访问路径。'."\n" - .' - war:无需填写自定义路径,应用的访问路径是WAR包名称。'."\n" - .' - root:无需填写自定义路径,应用的访问路径是`/`。'."\n" - .' - custom:需要在下面的自定义路径中填写自定义的路径。'."\n" - .'- contextPath:自定义路径,当contextInputType类型为custom时,才需要配置此参数。'."\n" - .'- httpPort:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。'."\n" - .'- maxThreads:配置连接池的连接数大小,默认大小是400。'."\n" - .' > 此项配置对应用性能有很大影响,请由专业人士配置。'."\n" - ."\n" - .'- uriEncoding:Tomcat的编码格式,包括UTF-8、ISO-8859-1、GBK和GB2312。如果不设置则默认为ISO-8859-1。'."\n" - .'- useBodyEncoding:是否使用BodyEncoding for URL。'."\n" - .'- useAdvancedServerXml:是否使用高级配置自定义设置server.xml文件,当上述参数类型和具体参数无法满足您的需求时,可以选中使用高级设置,直接对Tomcat的Server.xml文件进行编辑。'."\n" - .'- serverXml:高级配置中自定义设置的server.xml文本文件内容,当useAdvancedServerXml为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' => '查询该应用分组所在集群内可用的ECU列表。', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-486f-****-****'], ], [ - 'name' => 'JavaStartUpConfig', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。JSON中key取值如下:'."\n" - ."\n" - .'- InitialHeapSize:代表初始化堆大小。'."\n" - .'- MaxHeapSize:代表最大堆大小。'."\n" - .'- CustomParams:代表用户自定义内容,如JVM -D参数等。'."\n" - .'- 其它情况:可自行查看前端提交的JSON结构。', - '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' => '查询满足CPU核数要求的ECU。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'SlsConfigs', + 'name' => 'Mem', 'in' => 'query', - 'schema' => [ - 'description' => 'Logstore配置,设置为`""`或`"{}"`表示删除配置:'."\n" - ."\n" - .'- Configs:'."\n" - ."\n" - .' - type:采集类型,文件类型为file,标准输出类型为stdout。'."\n" - ."\n" - .' - Logstore:Logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则。'."\n" - .' - 日志库名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" - .' - 必须以小写字母和数字开头和结尾。'."\n" - .' - 名称长度为3~63个字符。若为空,则由系统自动生成。'."\n" - .' - LogDir:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配,采集路径应符合正则:`^/(.+)/(.*)^/$`。', - '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' => '查询满足剩余可用内存要求的ECU,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200'], ], [ - 'name' => 'IsMultilingualApp', + 'name' => 'InstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => '是否为多语言应用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '查询并列出指定数量的ECU,如果不设置则代表列出所有满足筛查结果的ECU列表。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], - [ - 'name' => 'DeployAcrossNodes', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否将应用实例分布到多个节点。`true`代表是,其他值为否。', - 'type' => 'string', - 'required' => false, - 'example' => 'true', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'AF860D6C-ACE3-4429-9D54-3BD15A******'], + 'EcuInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuInfo' => [ + 'description' => 'ECU列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECU对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'ECU所在的VPC ID。', 'type' => 'string', 'example' => 'vpc-2zef6ob8**********'], + 'UpdateTime' => ['description' => '最后变更时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040827'], + 'IpAddr' => ['description' => 'ECU的私网IP。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'AvailableCpu' => ['description' => 'ECU的可用CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819'], + 'UserId' => ['description' => '主账号ID。', 'type' => 'string', 'example' => '1172****6608****'], + 'InstanceId' => ['description' => 'ECU实例ID。', 'type' => 'string', 'example' => 'i-2zej4i2jdf*********'], + 'RegionId' => ['description' => 'ECU所在地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'EcuId' => ['description' => '这台ECU的唯一标识ID,可以通过在ECS上执行`dmidecode`获取。', 'type' => 'string', 'example' => '0de2ebdb-9490-4fc4-be41***************'], + 'Online' => ['description' => '是否在线,且实例当前是否受EDAS管控:'."\n" + .'- true:在线。'."\n" + .'- false:不在线。', 'type' => 'boolean', 'example' => 'true'], + 'DockerEnv' => ['description' => '是否安装了Docker:'."\n" + .'- true:已安装Docker。'."\n" + .'- false:未安装Docker。', 'type' => 'boolean', 'example' => 'false'], + 'AvailableMem' => ['description' => 'ECU的可用内存数,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '111'], + 'ZoneId' => ['description' => 'ECU所在可用区。', 'type' => 'string', 'example' => 'cn-beijing-h'], + 'Name' => ['description' => 'ECU名称。', 'type' => 'string', 'example' => 'test'], + 'HeartbeatTime' => ['description' => '上一次心跳检测的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281040819'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], - [ - 'name' => 'PvcMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" - ."\n" - .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" - .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持两个配置参数。'."\n" - .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" - .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', - ], + ], + 'errorCodes' => [], + 'title' => '获取用于应用扩容的ECU列表', + 'summary' => '从指定集群或应用关联集群获取可用于应用扩容的ECU列表。该接口仅适用于ECS集群。', + 'description' => '## 基本概念'."\n" + ."\n" + .'- **命名空间**:指的是EDAS中用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" + .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" + .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListScaleOutEcu'], ], + ], + 'ramActions' => [ [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" - .'- name:ConfigMap或Secret的名称。'."\n" - .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" - .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ListServiceGroups' => [ + 'path' => '/pop/v5/service/serviceGroups', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CsClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '只有在用户使用一个从未导入的集群来创建应用时,才需要指定csClusterId。', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdefg', - ], + 'AK' => [], ], - [ - 'name' => 'EnableAsm', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '只有在用户使用一个从未导入的集群来创建应用,同时开启ASM时,才需要设置这个值为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'ServiceGroupsList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListServiceGroups' => [ + 'description' => '服务分组列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => '服务分组ID', 'type' => 'string', 'example' => '789d9cda-74b1-****-****-05e21a0a7661'], + 'GroupName' => ['description' => '服务分组名称', 'type' => 'string', 'example' => 'edas-test-group'], + 'CreateTime' => ['description' => '创建时间的时间戳', 'type' => 'string', 'example' => '1575357165770'], + ], + ], + ], + ], + ], + ], ], ], - [ - 'name' => 'EnvFroms', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" - ."\n" - .'EnvFroms的配置参数说明如下:'."\n" - .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" - .' - name:ConfigMap名称。'."\n" - .'- secretRef:Secret引用,该字段包括以下参数:'."\n" - .' - name:Secret名称。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]', - ], + ], + 'title' => '查询服务分组列表', + 'summary' => '调用ListServiceGroups查询HSF应用的服务分组列表。', + 'requestParamsDescription' => ' 无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'parameters' => [], + 'changeSet' => [ + ['createdAt' => '2024-02-07T09:31:16.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServiceGroups'], ], + ], + 'ramActions' => [ [ - 'name' => 'EmptyDirs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" - ."\n" - .'- mountPath:容器挂载路径,必填。'."\n" - .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" - .'- subPathExpr:子目录表达式,可选。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListServiceGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ListSlb' => [ + 'path' => '/pop/v5/slb_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BuildPackId', - 'in' => 'query', - 'schema' => [ - 'description' => '配置`edas container`版本,与`edasContainerVersion`字段冲突。建议使用`edasContainerVersion`字段。', - 'type' => 'string', - 'required' => false, - 'example' => '-1', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'CustomAffinity', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => '自定义关联。', - 'type' => 'string', - 'required' => false, - 'example' => 'demo', - ], + 'schema' => ['description' => 'VPC网络ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1f90rfybszjogyw****'], ], [ - 'name' => 'CustomTolerations', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => '自定义公差。', - 'type' => 'string', - 'required' => false, - 'example' => 'demo', - ], + 'schema' => ['description' => '地址类型:'."\n" + .'- Internet:公网地址。'."\n" + .'- Intranet:私网地址。', 'type' => 'string', 'required' => false, 'example' => 'internet'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SlbType', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => '461', - ], + 'schema' => ['description' => 'SLB类型:'."\n" + .'- clb:传统型负载均衡。'."\n" + .'- alb:应用型负载均衡。', 'type' => 'string', 'required' => false, 'example' => 'clb'], ], - [ - 'name' => 'Annotations', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '应用Pod注解。', - 'type' => 'string', - 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'SlbList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlbEntity' => [ + 'description' => 'SLB列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'SLB对象。', + 'type' => 'object', + 'properties' => [ + 'SlbId' => ['description' => 'SLB实例ID。', 'type' => 'string', 'example' => 'lb-2ze055t3xv7s8****'], + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-bp1f90rfybszjogyw****'], + 'VswitchId' => ['description' => 'VPC交换机ID。', 'type' => 'string', 'example' => 'vsw-bp156w1gpbv0o50hs****'], + 'Expired' => ['description' => 'SLB是否过期:'."\n" + .'- true:已过期。'."\n" + .'- false:未过期。', 'type' => 'boolean', 'example' => 'false'], + 'UserId' => ['description' => '用户ID。', 'type' => 'string', 'example' => 'edas_****_**st@aliyun-****.com'], + 'AddressType' => ['description' => '地址类型:'."\n" + .'- internet:公网地址。'."\n" + .'- intranet:私网地址。', 'type' => 'string', 'example' => 'internet'], + 'NetworkType' => ['description' => '网络类型。', 'type' => 'string', 'example' => 'classic'], + 'RegionId' => ['description' => '地区ID。', 'type' => 'string', 'example' => 'cn-beijing'], + 'GroupId' => ['description' => 'EDAS资源组ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Address' => ['description' => 'IP地址。', 'type' => 'string', 'example' => '39.176.XX.XX'], + 'SlbName' => ['description' => 'SLB名称。', 'type' => 'string', 'example' => 'adce'], + 'SlbStatus' => ['description' => 'SLB状态。', 'type' => 'string', 'example' => 'active'], + 'Tags' => ['description' => '标签。', 'type' => 'string', 'example' => '[{"tagKey":"tag","tagValue":"value"}]'], + 'Reusable' => ['description' => '是否允许K8s应用复用:'."\n" + .'- true: 允许复用。'."\n" + .'- false: 不允许复用。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'schema' => [ - 'description' => '应用Pod标签。', - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', - ], + ], + 'title' => '获取SLB列表', + 'summary' => '获取SLB列表。', + 'requestParamsDescription' => '无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSlb'], ], + ], + 'ramActions' => [ [ - 'name' => 'EnableEmptyPushReject', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启推空保护', - 'description' => '是否开启推空保护:'."\n" - ."\n" - .'- true:开启推空保护。'."\n" - .'- false:不开启推空保护。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ListSubAccount' => [ + 'path' => '/pop/v5/account/sub_account_list', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableLosslessRule', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损上线规则', - 'description' => '是否启用无损上线规则:'."\n" - ."\n" - .'- true:启用无损上线规则。'."\n" - .'- false:不启用无损上线规则。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], - [ - 'name' => 'LosslessRuleWarmupTime', - 'in' => 'query', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '无损上线服务预热时长', - 'description' => '服务预热时长,单位:秒。取值范围为0~86400秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'description' => '返回对象', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'message'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '57609587-DFA2-41EC-****-*********'], + 'SubAccountList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubAccount' => [ + 'description' => '子账号和RAM用户列表', + 'type' => 'array', + 'items' => [ + 'description' => '子账号和RAM用户列表对象', + 'type' => 'object', + 'properties' => [ + 'SubEdasId' => ['description' => '子账号或RAM用户的EdasId', 'type' => 'string', 'example' => '28382009411268****'], + 'SubUserId' => ['description' => '子账号或RAM用户的UserId', 'type' => 'string', 'example' => 'ram1@117274586608****'], + 'Email' => ['description' => '电子邮箱', 'type' => 'string', 'example' => 'email@aliyun.com'], + 'AdminUserId' => ['description' => '云账号的UserId', 'type' => 'string', 'example' => 'test@13624697***'], + 'AdminUserKp' => ['description' => '云账号的Kp(旧概念,实际上就是云账号的EdasId)', 'type' => 'string', 'example' => '12456889****'], + 'AdminEdasId' => ['description' => '云账号的EdasId。', 'type' => 'string', 'example' => '12456889****'], + 'SubUserKp' => ['description' => '子账号或RAM用户的Kp(旧概念,实际上就是子账号或RAM用户的EdasId)', 'type' => 'string', 'example' => '28382009411268****'], + 'Phone' => ['description' => '联系方式', 'type' => 'string', 'example' => '1373322****'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], - [ - 'name' => 'LosslessRuleDelayTime', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线延迟注册时长', - 'description' => '服务延迟注册时长,单位:秒。取值范围为0~86400秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + ], + 'title' => '获取子账号列表', + 'summary' => '获取子账号和RAM用户列表。', + 'requestParamsDescription' => ' 无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:12:49.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSubAccount'], ], + ], + 'ramActions' => [ [ - 'name' => 'LosslessRuleFuncType', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线服务预热曲线', - 'description' => '服务预热曲线。取值范围0~20。默认为2(适合于一般预热场景),表示在预热周期内服务提供者的流量接收曲线形状呈2次曲线形状。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListSubAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ListSwimmingLane' => [ + 'path' => '/pop/v5/trafficmgnt/swimming_lanes', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LosslessRuleAligned', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', - 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册:'."\n" - ."\n" - .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务注册后,该接口返回200,否则返回500。'."\n" - .' > 若同时配置`LosslessRuleRelated`为`true`,则该接口检查是否完成服务预热。'."\n" - ."\n" - .'- false:不为应用提供检查是否完成服务注册的接口。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'LosslessRuleRelated', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', - 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热:'."\n" - ."\n" - .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务预热后,该接口返回200,否则返回500。'."\n" - .'- false:不为应用提供检查是否完成服务预热的接口。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '79'], ], - [ - 'name' => 'ServiceConfigs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '应用K8s服务信息', - 'description' => 'K8s服务Service配置。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"name": "test-svc-create","serviceType":"ClusterIP","portMappings":[{"servicePort": {"targetPort":8080,"port":80,"protocol":"TCP"}}]}]', + 'description' => '返回对象。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****'], + 'Data' => [ + 'description' => '响应数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => '微服务空间。', 'type' => 'string', 'example' => 'cn-hangzhou:pre2'], + 'GroupId' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '156'], + 'ScenarioSign' => ['description' => '预期标签。', 'type' => 'string', 'example' => 'd0ad1052'], + 'EntryRule' => ['description' => '条件列表。', 'type' => 'string', 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"value\\",\\"name\\":\\"tags\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"value\\"}]}]'], + 'Tag' => ['description' => '标签。', 'type' => 'string', 'example' => '2cb6b8a'], + 'EnableRules' => ['description' => '流控规则是否开启。', 'type' => 'boolean', 'example' => 'true'], + 'Name' => ['description' => '泳道名称。', 'type' => 'string', 'example' => 'name'], + 'Id' => ['description' => '流控泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '348'], + 'SwimmingLaneAppRelationShipList' => [ + 'description' => '流控泳道涉及应用列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'prod-app-58846'], + 'Rules' => ['description' => '关联规则。', 'type' => 'string', 'example' => '""'], + 'LaneId' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '348'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3b615783-01f1-4569-baa3-cb71bdb6****'], + 'Extra' => ['description' => '补充信息。', 'type' => 'string', 'example' => 'edas-canary'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + ], ], ], - [ - 'name' => 'AppTemplateName', - 'in' => 'query', - 'schema' => [ - 'title' => '创建应用使用的应用模版名称,若创建应用时指定应用模版,则将优先使用应用模版和AppConfig参数确定应用配置,忽略其他配置', - 'description' => '创建应用使用的应用模版名称,若创建应用时指定应用模版,则将优先使用应用模版和AppConfig参数确定应用配置,忽略其他配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'app-template001', - ], + ], + 'errorCodes' => [ + 601 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => '无效输入参数:{0}'], ], + ], + 'title' => '获取泳道列表', + 'summary' => '获取泳道组下的泳道列表。', + 'changeSet' => [ + ['createdAt' => '2023-05-08T08:27:32.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLane'], + ], + ], + 'ramActions' => [ [ - 'name' => 'AppConfig', - 'in' => 'query', - 'schema' => [ - 'title' => '使用应用模版时的应用配置,JSON格式字符串', - 'description' => '使用应用模版时的应用配置,JSON格式字符串。', - 'type' => 'string', - 'required' => false, - 'example' => '{}', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => 'LimitEphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'RequestsEphemeralStorage', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => '命名空间ID。'."\n" + ."\n" + .'自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:`cn-beijing:test`。 '."\n" + .'默认命名空间ID格式为:地域ID,例如:cn-beijing。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen:publish'], ], [ - 'name' => 'SecretName', + 'name' => 'GroupId', 'in' => 'query', + 'schema' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '用户指定的镜像拉取凭证名,需要自行创建相关Secret配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas-app-01-image-secret', + 'description' => '返回对象。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'BF238E37-671A-5045-B49A-0B29C166****'], + 'Data' => [ + 'description' => '泳道组列表数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NamespaceId' => ['description' => '微服务空间ID。', 'type' => 'string', 'example' => 'cn-shanghai:daily'], + 'Name' => ['description' => '泳道组名称。', 'type' => 'string', 'example' => 'name'], + 'Id' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '257'], + 'ApplicationList' => [ + 'description' => '泳道组涉及应用列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'java-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '406073bf-afc2-4142-b3d7-629a0308****'], + ], + 'description' => '', + ], + ], + 'EntryApplication' => [ + 'description' => 'EDAS入口/网关信息。', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'java-app'], + 'Source' => ['description' => '数据来源,需配置为EDAS。', 'type' => 'string', 'example' => 'EDAS'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '406073bf-afc2-4142-b3d7-629a0308****'], + ], + ], + ], + 'description' => '', + ], + ], + ], ], ], + ], + 'errorCodes' => [ + 601 => [ + ['errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'errorMessage' => 'The value of parameter {0} is invalid.', 'description' => '无效输入参数:{0}'], + ], + ], + 'title' => '获取泳道组列表', + 'summary' => '获取泳道组列表。', + 'changeSet' => [ + ['createdAt' => '2022-09-19T08:14:45.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSwimmingLaneGroup'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ContainerRegistryId', - 'in' => 'query', - 'schema' => [ - 'description' => '构建镜像仓库使用的仓库ID,留空表示使用EDAS提供的默认仓库。当前只支持EDAS提供的默认仓库。', - 'type' => 'string', - 'required' => false, - 'example' => 'leave empty', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'edas:ListSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => 'WorkloadType', - 'in' => 'query', - 'schema' => [ - 'description' => '创建应用时Workload的类型,目前仅支持Deployment类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'Deployment', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'Sidecars', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '为应用Pod设置Sidecar容器。支持设置容器配置的格式YAML,其值为Sidecar容器YAML配置base64编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"yamlEncoded":"Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="}]', - ], + 'schema' => ['description' => '资源类型,取值:'."\n" + ."\n" + .'- **application**:EDAS应用。'."\n" + ."\n" + .'- **cluster**:EDAS集群。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application'], ], [ - 'name' => 'InitContainers', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => '为应用Pod设置初始化容器。支持设置容器配置的格式YAML,其值为Init容器YAML配置base64编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" - .' }'."\n" - .']', - ], + 'schema' => ['description' => '资源ID列表, 列表的长度范围为1~20,JSON数组格式。', 'type' => 'string', 'required' => false, 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]'], ], [ - 'name' => 'UserBaseImageUrl', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '使用自定义JDK运行时,需要配置基础镜像地址。该地址需要可公开访问,EDAS服务端会拉取该镜像,用于构建应用镜像。', - 'type' => 'string', - 'required' => false, - 'example' => 'openjdk:8u302', - ], + 'schema' => ['description' => '标签键值对。'."\n" + .'- 单个资源最多贴20个标签。'."\n" + .'- key不能以**aliyun**和**acs:**开头,不能包含**http://**或者**https://**。'."\n" + .'- key和value最大不超过128字符,仅支持英文字母、数字和短划线(-)、半角逗号(,)、星号(*)、正斜线(/)、半角问号(?)和半角冒号(:)的组合。'."\n" + .'- JSON数组格式。', 'type' => 'string', 'required' => false, 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]'], ], [ - 'name' => 'TerminateGracePeriod', + 'name' => 'ResourceRegionId', 'in' => 'query', + 'schema' => ['description' => '资源所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '设置应用优雅停止超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'xxxxE654-xxxx-xxxx-xxxx-98F45996xxxx'], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '资源标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '标签值。', 'type' => 'string', 'example' => 'value1'], + 'ResourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'ALIYUN::EDAS::APPLICATION'], + 'ResourceId' => ['description' => '资源ID。', 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877'], + 'TagKey' => ['description' => '标签键。', 'type' => 'string', 'example' => 'key1'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'errorMessage' => 'The instance does not exist.', 'description' => '实例不存在'], + ], + ], + 'title' => '查询资源绑定的标签列表', + 'summary' => '查询云资源已经绑定的标签列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ], + ], + 'ramActions' => [ [ - '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' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:'."\n" - ."\n" - .'- 指定x86 64架构:linux/amd64'."\n" - ."\n" - .'- 指定arm 64架构:linux/arm64'."\n" - ."\n" - .'- 指定构建双架构镜像:linux/amd64,linux/arm64'."\n" - ."\n" - .'- 不输入:默认架构', - 'type' => 'string', - 'required' => false, - 'example' => 'linux/arm64,linux/amd64', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => [ [ - 'name' => 'Startup', - 'in' => 'query', - 'schema' => [ - 'description' => '启动探针可以用于对慢启动容器进行存活性检测,避免它们在启动运行之前就被杀掉,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}。'."\n" - ."\n" - .'如果设置为""或者{}表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'FeatureConfig', + 'name' => 'DebugEnable', 'in' => 'query', + 'schema' => ['description' => '是否允许远程调试。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '自定义监控与治理方案配置', - 'type' => 'string', - 'required' => false, - 'example' => '{"features":[{"name":"base.combination.arms","enable":true},{"name":"base.combination.mse","enable":true}]}', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'UserDefineRegionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserDefineRegionEntity' => [ + 'description' => '命名空间列表。', + 'type' => 'array', + 'items' => [ + 'description' => '命名空间对象。', + 'type' => 'object', + 'properties' => [ + 'BelongRegion' => ['description' => '隶属的物理地域ID。', 'type' => 'string', 'example' => 'cn-shenzhen'], + 'RegionName' => ['description' => '命名空间名称。', 'type' => 'string', 'example' => 'betaappManager'], + 'Description' => ['description' => '命名空间描述信息。', 'type' => 'string', 'example' => 'betaappManager'], + 'DebugEnable' => ['description' => '是否允许远程调试。', 'type' => 'boolean', 'example' => 'false'], + 'UserId' => ['description' => '用户主账号ID。', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com'], + 'Id' => ['description' => '唯一标识。', 'type' => 'integer', 'format' => 'int64', 'example' => '1330'], + 'RegionId' => ['description' => '命名空间ID。'."\n" + ."\n" + .'> 创建后不可变,格式为`物理地域ID:逻辑地域标识符`。', 'type' => 'string', 'example' => 'cn-shenzhen:betaappManager'], + 'MseInstanceId' => ['description' => '注册中心类型:'."\n" + ."\n" + .'* default:EDAS共享注册中心。'."\n" + .'* exclusive_mse:MSE Nacos注册中心。', 'type' => 'string', 'example' => 'default:EDAS'], + 'RegistryType' => ['description' => 'MSE注册中心实例ID。', 'type' => 'string', 'example' => 'mse_prepaid_public_cn-tl32n******'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], ], + ], + 'title' => '获取用户自定义命名空间列表', + 'summary' => '获取用户自定义命名空间列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-10-27T00:30:38.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-09-28T03:07:55.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserDefineRegion'], + ], + ], + 'ramActions' => [ [ - 'name' => 'CustomAgentVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '支持指定Agent版本', - 'type' => 'string', - 'required' => false, - 'example' => '2.8.3,3.2.10,4.3.1', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListUserDefineRegion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ListVpc' => [ + 'path' => '/pop/v5/vpc_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecurityContext', - 'in' => 'query', - 'schema' => [ - 'description' => '为应用 Pod 容器设置 SecurityContext属性。其值为 SecurityContext YAML 配置 base64 编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}', - ], + 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'ApplicationInfo' => [ - 'description' => '应用详情。', + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'VpcList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Dockerize' => [ - 'description' => '是否为Docker应用。'."\n" - .'- true:是。'."\n" - .'- false:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Owner' => [ - 'description' => '负责人。', - 'type' => 'string', - 'example' => 'zp', - ], - 'EdasId' => [ - 'description' => '用户账号ID。', - 'type' => 'string', - 'example' => '1172****6608****', - ], - 'ClusterType' => [ - 'description' => '应用集群环境类型如下:'."\n" - .'- 0:普通Docker集群。'."\n" - .'- 1:Swarm集群(已下线)。'."\n" - .'- 2:ECS集群。'."\n" - .'- 3:EDAS自建K8s集群(已下线)。'."\n" - .'- 4:Pandora自动注册应用集群类型。'."\n" - .'- 5:容器服务K8s集群和Serverless K8s集群。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'AppId' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'example' => 'e83acea6-****-47e1-96ae-c0e95377****', - ], - 'UserId' => [ - 'description' => '用户主账号。', - 'type' => 'string', - 'example' => 'edas_test****@aliyun****.com', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', + 'VpcEntity' => [ + 'description' => 'VPC列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-wz9pcq3jofczwpujq****'], + 'VpcName' => ['description' => 'VPC名称', 'type' => 'string', 'example' => 'edas-default-vpc4'], + 'Expired' => ['description' => 'VPC的状态是否可用'."\n" + .'- true:可用'."\n" + .'- false:不可用', 'type' => 'boolean', 'example' => 'false'], + 'UserId' => ['description' => '用户ID', 'type' => 'string', 'example' => 'edas_****_test@aliyun-****.com'], + 'EcsNum' => ['description' => '关联的ECS实例数量', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'RegionId' => ['description' => '所在地域', 'type' => 'string', 'example' => 'cn-shenzhen'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], - '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' => '创建K8s应用', - 'requestParamsDescription' => ' ', + 'title' => '获取 VPC 列表', + 'summary' => '获取VPC列表,该接口适用于ECS集群和K8s集群。', + 'requestParamsDescription' => '无请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeployK8sApplication' => [ - 'summary' => '在容器服务K8s集群或Serverless K8s集群中部署应用。', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:12:49.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpc'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:ListVpc', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + '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":""}]', + ], + 'MigrateEcu' => [ + 'summary' => '转移ECU到指定命名空间的默认集群。', + 'path' => '/pop/v5/resource/migrate_ecu', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18630,903 +12615,1049 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'PreStop', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => '停止前执行脚本,示例格式:`{"tcpSocket":{"host":"", "port":8080}}`。'."\n" - .'如果设置为`{}`代表删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "exec":{'."\n" - .' "command":['."\n" - .' "ls",'."\n" - .' "/"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], + 'schema' => ['description' => '实例ID,多个实例之间可用英文逗号(,)分隔。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2zej4i2jdf3ntwhj****'], ], [ - 'name' => 'Envs', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" - ."\n" - .'`{"name":"x", "value": "y"}`'."\n" - ."\n" - .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x2",'."\n" - .' "valueFrom": {'."\n" - .' "configMapKeyRef": {'."\n" - .' "name": "my-config",'."\n" - .' "key": "y2"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" - ."\n" - .'`{'."\n" - .' "name": "x3",'."\n" - .' "valueFrom": {'."\n" - .' "secretKeyRef": {'."\n" - .' "name": "my-secret",'."\n" - .' "key": "y3"'."\n" - .' }'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', - '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' => '命名空间ID:'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:cn-beijing:tdy218。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:cn-beijing。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:test_region'], ], - [ - 'name' => 'ImageTag', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '镜像Tag。', - 'type' => 'string', - 'required' => false, - 'example' => 'latest', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '返回数据:'."\n" + ."\n" + .'- true:成功。'."\n" + .'- false:失败。', 'type' => 'string', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '04B0ABAF-95F2-42B6-A7B1****'], + ], ], ], + ], + 'title' => '转移ECU到指定命名空间的默认集群', + 'description' => '## 限制说明'."\n" + .'该接口已不推荐使用,建议使用接口TransformClusterMember代替,详情请参见[TransformClusterMember](~~71514~~)。'."\n" + ."\n" + .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。'."\n" + ."\n" + .'## 基本概念'."\n" + .'- **命名空间**:指的是EDAS中设计的用于隔离集群、ECS实例和应用等资源及在EDAS中发布的微服务的一个逻辑概念,包括默认命名空间和自定义命名空间,每个地域下面包括一个默认命名空间和若干个自定义命名空间,默认情况下只有默认命名空间,如果不想隔离资源及微服务,则不必创建自定义命名空间。'."\n" + .'- **ECU**:ECS导入到集群中后即为ECU。'."\n" + .'- **ECC**:集群中的ECU在应用中部署后即成为ECC。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:12:49.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MigrateEcu'], + ], + ], + 'ramActions' => [ [ - 'name' => 'BatchWaitTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pod分批发布的最小间隔时间,详细信息请参见[minReadySeconds](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds)。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:MigrateEcu', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'ModifyScalingRule' => [ + 'summary' => '调用ModifyScalingRule接口修改弹性扩、缩容规则。', + 'path' => '/pop/v5/app/scaling_rules', + 'methods' => ['post', 'put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Command', - 'in' => 'query', - 'schema' => [ - 'description' => '容器启动命令。'."\n" - ."\n" - .'> 如果要取消该配置,需设置一个空字符串`""`来表示不做配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'ls', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '74ee****-db65-4322-a1f6-bcb60e5b****'], ], [ - 'name' => 'PostStart', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '启动后执行脚本,格式如:`{"exec":{"command":\\["cat","/etc/group"\\]}}`。如果设置为`{}`表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "exec":{'."\n" - .' "command":['."\n" - .' "ls",'."\n" - .' "/"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], + 'schema' => ['description' => '部署分组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8123db90-880f-486f-****-************'], ], [ - 'name' => 'Readiness', + 'name' => 'InCondition', 'in' => 'query', 'schema' => [ - 'description' => '容器业务状态检查,如果检查失败,经过K8s service的流量将不转入到该容器,格式如:`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": \\[{"name": "test","value": "testvalue"}\\]}}`。如果设置为`""`或者`{}`表示删除,不设置表示忽略。', + 'description' => '触发条件。'."\n" + ."\n" + .'- OR:任一条件'."\n" + .'- AND:所有条件', '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"}]}}', + 'docRequired' => false, + 'example' => '"OR"', + 'enum' => ['OR', 'AND'], ], ], [ - 'name' => 'Liveness', + 'name' => 'InEnable', 'in' => 'query', - 'schema' => [ - 'description' => '容器存活状态监测,格式如`{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}`。如果设置为`""`或者`{}`表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'schema' => ['description' => '是否包含缩容规则。'."\n" + ."\n" + .'- true:包含'."\n" + .'- false:不包含', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true'], ], [ - 'name' => 'Args', + 'name' => 'InCpu', 'in' => 'query', - 'schema' => [ - 'description' => '容器启动Args命令参数,格式必须符合JSON数组`\\["参数1","参数2"\\]`,其中key固定为字符串,清空需设置为空JSON数组`"\\[\\]"`。', - 'type' => 'string', - 'required' => false, - 'example' => '["args1","args2"]', - ], + 'schema' => ['description' => '触发指标:CPU使用率。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'Replicas', + 'name' => 'InDuration', 'in' => 'query', - 'schema' => [ - 'description' => '应用实例数,最小为0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '持续时间,单位为分钟。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'Image', + 'name' => 'InInstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => '镜像完整URL,覆盖镜像Tag参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1', - ], + 'schema' => ['description' => '分组缩容时需要保留的最小实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '3'], ], [ - 'name' => 'CpuLimit', + 'name' => 'InLoad', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的CPU限制。 单位:核数,设置为0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '触发指标:系统负载。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'MemoryLimit', + 'name' => 'InRT', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例的内存限制。单位:MB,设置为0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '触发指标:服务时延。单位为毫秒,最小值为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'CpuRequest', + 'name' => 'InStep', 'in' => 'query', - 'schema' => [ - 'description' => '应用运行过程中,应用实例需要申请的CPU配额,推荐设置。'."\n" - .'单位:核数,设置为0表示不限制。'."\n" - ."\n" - .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '每次缩容的实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1'], ], [ - 'name' => 'MemoryRequest', + 'name' => 'OutCondition', 'in' => 'query', 'schema' => [ - 'description' => '应用运行过程中,应用实例需要申请的内存配额,推荐设置。单位:MB。设置为0表示不申请。'."\n" + 'description' => '触发条件。'."\n" ."\n" - .'> 设置该参数时,还需要设置MemoryLimit参数,且需要小于等于MemoryLimit的参数值。', - 'type' => 'integer', - 'format' => 'int32', + .'- OR:任一条件'."\n" + .'- AND:所有条件', + 'type' => 'string', 'required' => false, - 'example' => '0', + 'docRequired' => false, + 'example' => '"OR"', + 'enum' => ['OR', 'AND'], ], ], [ - 'name' => 'NasId', + 'name' => 'OutCPU', 'in' => 'query', - 'schema' => [ - 'description' => '挂载的NAS的ID,必须与集群在同一个地域。它必须有可用的挂载点创建额度,或者它的挂载点已经在VPC内的交换机上。如果不填,且存在mountDescs字段,则默认将自动购买一个NAS并挂载到VPC内的交换机上。', - 'type' => 'string', - 'required' => false, - 'example' => 'dfs23****', - ], + 'schema' => ['description' => '触发指标:CPU使用率。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'MountDescs', + 'name' => 'OutDuration', 'in' => 'query', - 'schema' => [ - 'description' => '挂载配置描述,为一个序列化的JSON。例如:`\\[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}\\]`。其中,nasPath是指文件储存路径;mountPath是指挂载到容器内的路径。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}]', - ], + 'schema' => ['description' => '持续时间,单位为分钟。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'StorageType', + 'name' => 'OutEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'NAS存储类型,包括:'."\n" - .'* 通用型NAS:Capacity(容量型)、Performance(性能型)'."\n" - .'* 极速型NAS:standard(标准型)、advance(高级型)'."\n" - ."\n" - .'目前只支持Performance类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'Performance', - ], + 'schema' => ['description' => '是否包含扩容规则。', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true'], ], [ - 'name' => 'LocalVolume', + 'name' => 'OutInstanceNum', 'in' => 'query', - 'schema' => [ - 'description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中,nodePath为宿主机路径;mountPath为容器内的路径;type为挂载类型。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]', - ], + 'schema' => ['description' => '分组扩容时的最大实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '10'], ], [ - 'name' => 'PackageUrl', + 'name' => 'OutLoad', 'in' => 'query', - 'schema' => [ - 'description' => '部署包地址。通过FatJar或WAR包部署的应用需要配置部署包地址。'."\n" - ."\n" - .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar', - ], + 'schema' => ['description' => '触发指标:系统负载。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '50'], ], [ - 'name' => 'PackageVersion', + 'name' => 'OutRT', 'in' => 'query', - 'schema' => [ - 'description' => '部署包的版本号,WAR和FatJar类型必填。请自定义它的含义。'."\n" - ."\n" - .'> EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。', - 'type' => 'string', - 'required' => false, - 'example' => '20200720', - ], + 'schema' => ['description' => '触发指标:服务时延。单位为毫秒,最小值为0。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '0'], ], [ - 'name' => 'JDK', + 'name' => 'OutStep', 'in' => 'query', - 'schema' => [ - 'description' => '部署的包依赖的JDK版本。可选的参数值为Open JDK 7、Open JDK 8或Custom OpenJDK。镜像部署方式不支持此参数。当使用Custom OpenJDK时,还需配置UserBaseImageUrl字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], + 'schema' => ['description' => '每次扩容的实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '0'], ], [ - 'name' => 'WebContainer', + 'name' => 'ResourceFrom', 'in' => 'query', 'schema' => [ - 'description' => '部署包依赖的Tomcat版本。适用于通过WAR包部署的Spring Cloud和Dubbo应用,镜像不支持此参数。', + 'description' => '扩容实例来源。'."\n" + .'- NEW:弹性资源。'."\n" + .'- AVAILABLE:已有资源。已有资源优先为AVAILABLE_FIRST。'."\n" + ."\n" + .'NEW或AVAILABLE_FIRST需指定弹性扩容参数,弹性扩容包括两种模式:启动模版和基于现有实例规则。', 'type' => 'string', 'required' => false, - 'example' => 'apache-tomcat-7.0.91', + 'docRequired' => false, + 'example' => '"AVAILABLE"', + 'enum' => ['AVAILABLE', 'NEW', 'AVAILABLE_FIRST'], ], ], [ - 'name' => 'EdasContainerVersion', + 'name' => 'MultiAzPolicy', 'in' => 'query', 'schema' => [ - 'description' => '部署包依赖的EDAS Container版本。适用于通过WAR包部署的HSF应用,镜像不支持此参数。', + 'description' => '弹性扩容的多可用区扩缩容策略。包含两种策略:'."\n" + .'- PRIORITY:优先级策略。'."\n" + .'- BALANCE:均衡分布策略。', 'type' => 'string', 'required' => false, - 'example' => '3.5.9', + 'example' => '"PRIORITY"', + 'enum' => ['PRIORITY', 'BALANCE'], ], ], [ - 'name' => 'UriEncoding', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" - ."\n" - .'> 应用配置不设置该参数,使用Tomcat默认值。', - 'type' => 'string', - 'required' => false, - 'example' => 'GBK', - ], + 'schema' => ['description' => '弹性扩容的“启动模版”或“基于现有实例规则”所关联的VPC ID。', 'type' => 'string', 'required' => false, 'example' => '"vpc-bp1j55oz3bg*****"'], ], [ - 'name' => 'UseBodyEncoding', + 'name' => 'VSwitchIds', 'in' => 'query', - 'schema' => [ - 'description' => 'useBodyEncodingForURI是否启用。'."\n" - ."\n" - .'> 应用配置不设置该参数,使用默认值false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'VPC相关的vswitch ID列表,多个以半角逗号(,)分割。', 'type' => 'string', 'required' => false, 'example' => '"vsw-bp1ldxs3d4fd*****"'], ], [ - 'name' => 'UpdateStrategy', + 'name' => 'ScalingPolicy', 'in' => 'query', 'schema' => [ - 'description' => '分批发布策略'."\n" - ."\n" - .'- 例1:灰度1台+后续分2批+自动分批+分批间隔1分钟。'."\n" - .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'- 例2:灰度1台+后续分2批+手动分批。'."\n" - .'`{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'- 例3:分2批+自动分批+分批间隔0分钟。'."\n" - .'`{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`', + 'description' => '弹性缩容的回收模式。'."\n" + .'- release:释放模式'."\n" + .'- recycle:停机回收模式。', 'type' => 'string', 'required' => false, - 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', + 'example' => '"release"', + 'enum' => ['release', 'recycle'], ], ], [ - 'name' => 'McpuRequest', + 'name' => 'TemplateInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'CPU最小资源需求,单位:核数。设置为0表示不限制。'."\n" - ."\n" - .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => '弹性扩容“基于现有实例规则”的实例ID。OutEnable为true(真)才有效。', 'type' => 'string', 'required' => false, 'example' => '"1"'], ], [ - 'name' => 'McpuLimit', + 'name' => 'TemplateInstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'CPU能使用的最大值,单位:核数。设置为0表示不做限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '弹性扩容“基于现有实例规则”的实例名称。TemplateInstanceId存在才有效。', 'type' => 'string', 'required' => false, 'example' => '"tpl-tdy218"'], ], [ - 'name' => 'VolumesStr', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => '数据卷。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '实例登录密码。当弹性扩容使用“基于现有实例规则”才有效。', 'type' => 'string', 'required' => false, 'example' => '"Pwd*****"'], ], [ - 'name' => 'PackageVersionId', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => '部署包版本ID。', - 'type' => 'string', - 'required' => false, - 'example' => '2bcc********', - ], + 'schema' => ['description' => '实例登录密钥名称。当弹性扩容使用“基于现有实例规则”才有效。', 'type' => 'string', 'required' => false, 'example' => '"tdy218"'], ], [ - 'name' => 'ChangeOrderDesc', + 'name' => 'AcceptEULA', 'in' => 'query', - 'schema' => [ - 'description' => '变更记录描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'Upgrade', - ], + 'schema' => ['description' => '若使用弹性扩容,则必须设置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'RuntimeClassName', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => '容器运行时类型:'."\n" - ."\n" - .'* runc:普通容器运行时。'."\n" - .'* runv:安全沙箱容器。'."\n" - ."\n" - .'该参数仅适用于使用安全沙箱容器的集群。', - 'type' => 'string', - 'required' => false, - 'example' => 'runc', - ], + 'schema' => ['description' => '弹性扩容“启动模版”ID。OutEnable为true(真)才有效,优先级高于TemplateInstanceId。', 'type' => 'string', 'required' => false, 'example' => '"lt-wz9hkhn8wp*****"'], ], [ - 'name' => 'DeployAcrossZones', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => '是否将应用实例分布到多可用区。true为是,其他值为否。', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '弹性扩容“启动模版”版本。OutEnable为true(真)才有效。若使用默认模版,则设置为`-1`,否则设置为相应的版本号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1'], ], - [ - 'name' => 'BatchTimeout', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '单批发布超时时间,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Code码 ', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'CB36E997-FE54-476C-8C0D-********'], + ], + 'description' => '', ], ], - [ - 'name' => 'EnableAhas', - 'in' => 'query', - 'schema' => [ - 'description' => '是否接入AHAS。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + ], + 'title' => '设置扩缩容规则', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], ], + ], + 'ramActions' => [ [ - 'name' => 'WebContainerConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'Tomcat容器配置,设置为`""`或`"{}"`表示删除配置:'."\n" - .'- useDefaultConfig:是否使用自定义配置,若为true,则表示不使用自定义配置,若为false,则表示使用自定义配置。若不使用自定义配置,则下面的参数配置将不会生效。'."\n" - .'- contextInputType:选择应用的访问路径。'."\n" - .' - war:无需填写自定义路径,应用的访问路径是WAR包名称。'."\n" - .' - root:无需填写自定义路径,应用的访问路径是/。'."\n" - .' - custom:需要在下面的自定义路径中填写自定义的路径。'."\n" - .'- contextPath:自定义路径,当contextInputType类型为custom时,才需要配置此参数。'."\n" - .'- httpPort:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。'."\n" - .'- maxThreads:配置连接池的连接数大小,默认大小是400。'."\n" - .' '."\n" - .' > 此项配置对应用性能有很大影响,请由专业人士配置。'."\n" - ."\n" - .'- uriEncoding:Tomcat的编码格式,包括UTF-8、ISO-8859-1、GBK和GB2312。如果不设置则默认为ISO-8859-1。'."\n" - .'- useBodyEncoding:是否使用BodyEncoding for URL。'."\n" - .'- useAdvancedServerXml:是否使用高级配置自定义设置`server.xml`文件,当上述参数类型和具体参数无法满足您的需求时,可以选中使用高级设置,直接编辑Tomcat的`Server.xml`文件。'."\n" - .'- serverXml:高级配置中自定义设置的`server.xml`文本文件内容,当useAdvancedServerXml为true时生效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false}', + '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 \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"CB36E997-FE54-476C-8C0D-********\\"\\n}","errorExample":""},{"type":"xml","example":"<Code>200</Code>\\n<Message>success</Message>","errorExample":""}]', + ], + 'QueryApplicationStatus' => [ + 'path' => '/pop/v5/app/app_status', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'JavaStartUpConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。', - 'type' => 'string', - 'required' => false, - 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'SlsConfigs', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'Logstore配置,设置为`""`或`"{}"`表示删除配置:'."\n" - ."\n" - .'- Configs:'."\n" - ."\n" - .' - type:采集类型,文件类型为file,标准输出类型为stdout。'."\n" - ."\n" - .' - Logstore:logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则:'."\n" - .' - Logstore名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" - .' - 必须以小写字母和数字开头和结尾。'."\n" - .' - 名称长度为3~63个字符。若为空,则由系统自动生成。'."\n" - .' - LogDir:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配,采集路径应符合正则:`^/(.+)/(.*)^/$`。', - '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' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-441**************'], ], - [ - 'name' => 'DeployAcrossNodes', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否将应用实例分布到多个节点。true为是,其他值为否。', - 'type' => 'string', - 'required' => false, - 'example' => 'true', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-********'], + 'AppInfo' => [ + 'description' => '应用信息。', + 'type' => 'object', + 'properties' => [ + 'EcuList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ecu' => [ + 'description' => 'ECU信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECU信息对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-wz9b246zg************'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012'], + 'IpAddr' => ['description' => 'ECU的内网IP。', 'type' => 'string', 'example' => '172.16.*.**'], + 'AvailableCpu' => ['description' => '可用CPU。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626207270'], + 'UserId' => ['description' => '关联用户ID。', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-wz9fp1ljg***********'], + 'RegionId' => ['description' => '所在RegionID。', 'type' => 'string', 'example' => 'cn-shen****-*'], + 'EcuId' => ['description' => '这台ECU的唯一标示ID,可以通过在ECS实例上执行`dmidecode`获取。', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************'], + 'GroupId' => ['description' => '分组ID。', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************'], + 'DockerEnv' => ['description' => '是否安装了Docker。', 'type' => 'boolean', 'example' => 'false'], + 'Online' => ['description' => '是否在线。', 'type' => 'boolean', 'example' => 'true'], + 'AvailableMem' => ['description' => '可用内存。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ZoneId' => ['description' => '所在地域ID。', 'type' => 'string', 'example' => 'cn-shen****-*'], + 'Name' => ['description' => '名称。', 'type' => 'string', 'example' => 'EDAS-scaled-cluster: default cluster'], + 'HeartbeatTime' => ['description' => '心跳时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012'], + ], + ], + ], + ], + 'description' => '', + ], + 'EccList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ecc' => [ + 'description' => 'ECC信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECC信息对象。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-wz9b246zg************'], + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573635952012'], + 'EcuId' => ['description' => 'ECU唯一标识。', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************'], + 'EccId' => ['description' => 'ECC唯一标识。', 'type' => 'string', 'example' => '0cf49a6c-95a8-4aa8-****-************'], + 'GroupId' => ['description' => '分组ID。', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************'], + 'AppState' => ['description' => '应用实例状态:'."\n" + .'- 0:AGENT_OFF:Agent下线。'."\n" + .'- 1:STOPPED:应用已停止。'."\n" + .'- 3:RUNNING\\_BUT\\_URL\\_FAILED:健康检查失败。'."\n" + .'- 7:RUNNING:应用运行中。', 'type' => 'integer', 'format' => 'int32', 'example' => '7'], + 'TaskState' => ['description' => '实例上最近的一次任务的任务状态:'."\n" + .'- 0:UNKNOWN:未知状态。'."\n" + .'- 1:PROCESSING:任务处理中。'."\n" + .'- 2:SUCCESS:任务执行成功。'."\n" + .'- 3:FAILED:任务执行失败。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626226691'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + 'ContainerStatus' => ['description' => '容器状态。', 'type' => 'string', 'example' => '“”'], + 'Ip' => ['description' => 'ECU的内网IP。', 'type' => 'string', 'example' => '172.16.*.***'], + ], + ], + ], + ], + 'description' => '', + ], + 'GroupList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Group' => [ + 'description' => '分组信息。', + 'type' => 'array', + 'items' => [ + 'description' => '分组信息对象。', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '更新时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573627441388'], + 'GroupName' => ['description' => '分组名称。', 'type' => 'string', 'example' => '_DEFAULT_GROUP'], + 'GroupId' => ['description' => '分组ID。', 'type' => 'string', 'example' => '8123db90-880f-486f-****-************'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626155185'], + 'AppVersionId' => ['description' => '分组部署记录ID。', 'type' => 'string', 'example' => 'changeorder_a**_*******_**'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + 'PackageVersionId' => ['description' => '分组部署的包ID。', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************'], + 'GroupType' => ['description' => '表示分组类型:'."\n" + ."\n" + .'- 0:表示默认。'."\n" + .'- 1:表示用户创建。'."\n" + .'- 2:表示灰度分组。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************'], + ], + ], + ], + ], + 'description' => '', + ], + 'DeployRecordList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeployRecord' => [ + 'description' => 'DeployRecord信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'DeployRecord信息对象。', + 'type' => 'object', + 'properties' => [ + 'EccId' => ['description' => 'ECC唯一标识。', 'type' => 'string', 'example' => '0cf49a6c-95a8-4aa8-****-************'], + 'EcuId' => ['description' => 'ECU唯一标识。', 'type' => 'string', 'example' => '07bd417a-b863-477d-****-************'], + 'PackageMd5' => ['description' => '部署包MD5值。', 'type' => 'string', 'example' => 'd0db5bcb442e492104d0f00e10a03dd9'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626226691'], + 'PackageVersionId' => ['description' => '分组部署的包ID。', 'type' => 'string', 'example' => '441beb18-da42-44dc-****-************'], + 'DeployRecordId' => ['description' => '部署记录ID。', 'type' => 'string', 'example' => 'bbc6c0d5-d792-4907-****-************'], + ], + ], + ], + ], + 'description' => '', + ], + 'Application' => [ + 'description' => '应用基础信息。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckUrl' => ['description' => '健康检查URL。', 'type' => 'string', 'example' => '“”'], + 'Owner' => ['description' => '应用创建者。', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1573626207270'], + 'UserId' => ['description' => '云账号ID。', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'Port' => ['description' => '应用所占用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'RunningInstanceCount' => ['description' => '运行中的应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Phone' => ['description' => '电话。', 'type' => 'string', 'example' => '1886666****'], + 'RegionId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'cn-shenzhen:test'], + 'BuildPackageId' => ['description' => '容器版本ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Dockerize' => ['description' => '是否为Docker应用。', 'type' => 'boolean', 'example' => 'false'], + 'Email' => ['description' => '电子邮箱地址。', 'type' => 'string', 'example' => '1234567@qq.com'], + 'Cpu' => ['description' => 'CPU数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'InstanceCount' => ['description' => '包含的应用实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LaunchTime' => ['description' => '运行时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'Memory' => ['description' => '内存。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Name' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'EDAS-scaled-cluster:默认集群'], + 'ApplicationId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '3616cdca-4f92-4413-****-************'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => '0d247b93-8d62-4e34-****-************'], + ], + ], + ], + ], + ], ], ], - [ - 'name' => 'TrafficControlStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => '灰度发布流量控制策略。', - 'type' => 'string', - 'required' => false, - 'example' => '{"http":{"rules":[{"conditionType":"percent","percent":10}]}}', - ], + ], + '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: 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}","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' => '查询应用状态', + 'summary' => '调用QueryApplicationStatus接口查询应用状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-05-23T06:09:45.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryApplicationStatus'], ], + ], + 'ramActions' => [ [ - 'name' => 'PvcMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" - ."\n" - .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" - .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持以下两个配置参数:'."\n" - .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" - .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]', + '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}'], + ], ], ], + ], + ], + 'QueryEccInfo' => [ + 'path' => '/pop/v5/ecc', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ConfigMountDescs', - 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" - .'- name:ConfigMap或Secret的名称。'."\n" - .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" - .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', - '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" - .']', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'EnvFroms', + 'name' => 'EccId', 'in' => 'query', - 'schema' => [ - 'description' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" - ."\n" - .'EnvFroms的配置参数说明如下。'."\n" - .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" - .' - name:ConfigMap名称。'."\n" - .'- secretRef:Secret引用,该字段包括以下参数:'."\n" - .' - name:Secret名称。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}]', - ], + 'schema' => ['description' => 'ECC ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b197-40ab-9155-****'], ], - [ - 'name' => 'EmptyDirs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" - ."\n" - .'- mountPath:容器挂载路径,必填。'."\n" - .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" - .'- subPathExpr:子目录表达式,可选。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], + 'EccInfo' => [ + 'description' => 'ECC信息', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-23727****'], + 'EccId' => ['description' => 'ECC ID', 'type' => 'string', 'example' => 'a5b9****-40b4-4d7b-9c2a-55d6c1c0****'], + 'EcuId' => ['description' => 'ECU ID', 'type' => 'string', 'example' => '0d4e****-6d87-401f-ba81-13df9877****'], + 'GroupId' => ['description' => '分组ID', 'type' => 'string', 'example' => '57cd****-2d3b-496f-bcce-646d0a4d****'], + 'GroupName' => ['description' => '分组名', 'type' => 'string', 'example' => '_DEFAULT_GROUP'], + 'PackageMd5' => ['description' => '包版本的MD5码', 'type' => 'string', 'example' => 'bab6****7a090e41ca9445c9b3cd****'], + 'AppId' => ['description' => '应用ID', 'type' => 'string', 'example' => 'e809****-43d7-4c6b-8e01-b0d9d1db****'], + 'PackageVersion' => ['description' => '包版本', 'type' => 'string', 'example' => '20210209.153400'], + ], + ], + ], + 'description' => '', ], ], - [ - 'name' => 'CustomAffinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pod亲和性配置,当且仅当DeployAcrossNodes与DeployAcrossZones都为false时生效。', - '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}]}}', - ], + ], + 'title' => '查询ECC信息', + 'summary' => '适用于容器服务K8s集群。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:40:57.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryEccInfo'], ], + ], + 'ramActions' => [ [ - 'name' => 'CustomTolerations', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pod调度容忍配置,当且仅当DeployAcrossNodes与DeployAcrossZones都为false时生效。', - '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"}]', + '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\\": \\"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":""}]', + ], + 'QueryMigrateEcuList' => [ + 'path' => '/pop/v5/resource/migrate_ecu_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BuildPackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'EDAS-Container构建包号:'."\n" - ."\n" - .'- 如果部署时不需要更改EDAS-Container版本,则该参数可不设置。'."\n" - .'- 如果需要在本次部署时,更新目标应用的EDAS-Container版本,则需要设置。'."\n" - ."\n" - .'有以下两种获取方式:'."\n" - ."\n" - .'- 可通过查询容器版本列表接口ListBuildPack获取,请参见[ListBuildPack](~~423222~~)。'."\n" - .'- 在[容器版本说明](~~92614~~)表格中的**构建包序号**列获取。例如`59`表示`EDAS-Container 3.5.8 版本`。', - 'type' => 'string', - 'required' => false, - 'example' => '59', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'Annotations', + 'name' => 'LogicalRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '应用Pod注解。', - 'type' => 'string', - 'required' => false, - 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}', - ], + 'schema' => ['description' => '命名空间ID。'."\n" + .'- 自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:`cn-beijing:test`。'."\n" + .'- 默认命名空间ID格式为:`地域ID`,例如:`cn-beijing`。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou or cn-hangzhou:test'], ], - [ - 'name' => 'Labels', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '应用Pod标签。', - 'type' => 'string', - 'required' => false, - 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'EcuEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EcuEntity' => [ + 'description' => '可供迁移的实例列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-2zef6ob8m************'], + 'UpdateTime' => ['description' => '更新时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041109'], + 'IpAddr' => ['description' => 'ECU的私网IP', 'type' => 'string', 'example' => '192.168.0.150'], + 'AvailableCpu' => ['description' => '可用CPU,单位为核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'CreateTime' => ['description' => '创建时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041101'], + 'UserId' => ['description' => '主账号ID', 'type' => 'string', 'example' => 'edas_com***_****@******-*****.***'], + 'InstanceId' => ['description' => '实例ID', 'type' => 'string', 'example' => 'i-2zej4i2jd***********'], + 'Mem' => ['description' => '总内存', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'RegionId' => ['description' => '所在地域ID', 'type' => 'string', 'example' => 'cn-beijing'], + 'EcuId' => ['description' => '这台ECU的唯一标识ID,可以通过在ECS上执行`dmidecode`获取。', 'type' => 'string', 'example' => '70ed3f59-b476-49aa-****-************'], + 'Cpu' => ['description' => 'CPU限制配额,单位为核数。0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'DockerEnv' => ['description' => '是否安装了Docker:'."\n" + .'- true:已安装Docker'."\n" + .'- false:未安装Docker', 'type' => 'boolean', 'example' => 'false'], + 'Online' => ['description' => '是否在线。'."\n" + .'- true:在线'."\n" + .'- false:不在线', 'type' => 'boolean', 'example' => 'true'], + 'AvailableMem' => ['description' => '可用内存,单位为MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '2048'], + 'ZoneId' => ['description' => '可用区ID', 'type' => 'string', 'example' => 'cn-bei****-*'], + 'Name' => ['description' => '实例名称', 'type' => 'string', 'example' => 'product_test003'], + 'HeartbeatTime' => ['description' => '心跳时间的时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1573281041101'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], + ], + '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' => '查询可迁移的实例列表', + 'summary' => '调用QueryMigrateEcuList来查询可迁移的实例列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:40:57.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateEcuList'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EnableEmptyPushReject', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启推空保护', - 'description' => '是否开启推空保护:'."\n" - ."\n" - .'- true:开启推空保护。'."\n" - .'- false:不开启推空保护。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'edas:QueryMigrateEcuList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'QueryMigrateRegionList' => [ + 'path' => '/pop/v5/resource/migrate_region_select', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableLosslessRule', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损上线规则', - 'description' => '是否启用无损上线规则:'."\n" - ."\n" - .'- true:启用无损上线规则。'."\n" - .'- false:不启用无损上线规则。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ [ - 'name' => 'LosslessRuleWarmupTime', + 'name' => 'LogicalRegionId', 'in' => 'query', + 'schema' => ['description' => '命名空间ID', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou:test'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '无损上线服务预热时长', - 'description' => '服务预热时长,单位:秒。取值范围为0~86400秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'RegionEntityList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionEntity' => [ + 'description' => '命名空间列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionName' => ['description' => '命名空间名称', 'type' => 'string', 'example' => 'Beta'], + 'RegionNo' => ['description' => '命名空间ID', 'type' => 'string', 'example' => 'cn-beijing:beta'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], + ], + 'title' => '查询可供迁移的命名空间列表', + 'summary' => '查询可供迁移的命名空间列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-02-07T12:40:57.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMigrateRegionList'], + ], + ], + 'ramActions' => [ [ - 'name' => 'LosslessRuleDelayTime', - 'in' => 'query', - 'schema' => [ - 'title' => '无损上线延迟注册时长', - 'description' => '服务延迟注册时长,单位:秒。取值范围为0~86400秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:QueryMigrateRegionList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'QueryRegionConfig' => [ + 'path' => '/pop/v5/region_config', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LosslessRuleFuncType', - 'in' => 'query', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '无损上线服务预热曲线', - 'description' => '服务预热曲线。取值范围0~20。默认为2(适合于一般预热场景),表示在预热周期内服务提供者的流量接收曲线形状呈2次曲线形状。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'b197-40ab-9155-7ca7'], + 'RegionConfig' => [ + 'description' => '地域配置信息', + 'type' => 'object', + 'properties' => [ + 'No' => ['description' => '地域序号,该参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AddressServerHost' => ['description' => '地址服务器域名', 'type' => 'string', 'example' => '****.edas.aliyun.com'], + 'Tag' => ['description' => '地域标识。固定值,即`ALIYUN_SHARE`。', 'type' => 'string', 'example' => 'ALIYUN_SHARE'], + 'AgentInstallScript' => ['description' => 'Agent脚本安装路径', 'type' => 'string', 'example' => 'http://edas-qd.oss-cn-****-internal.aliyuncs.com/****sh'], + 'FileServerType' => ['description' => '文件服务器类型', 'type' => 'string', 'example' => 'oss'], + 'Name' => ['description' => '地域配置名称', 'type' => 'string', 'example' => '华北2'], + 'ImageId' => ['description' => '官方镜像ID', 'type' => 'string', 'example' => 'm-2zea4hx8f9zxqah2****'], + 'Id' => ['description' => '地域配置ID', 'type' => 'string', 'example' => 'cn-beijing'], + 'FileServerConfig' => [ + 'description' => '文件服务信息', + 'type' => 'object', + 'properties' => [ + 'InternalUrl' => ['description' => '文件服务器内部URL', 'type' => 'string', 'example' => 'oss-cn-beijing-****.aliyuncs.com'], + 'PublicUrl' => ['description' => '文件服务器公网URL', 'type' => 'string', 'example' => 'oss-cn-beijing.aliyuncs.com'], + 'VpcUrl' => ['description' => '文件服务器VPC URL', 'type' => 'string', 'example' => 'v*****-oss-cn-beijing.aliyuncs.com'], + 'Bucket' => ['description' => '文件服务器OSS Bucket', 'type' => 'string', 'example' => 'edas-bj'], + ], + ], + ], + ], + ], + 'description' => '', ], ], + ], + 'title' => '获取不同地域的配置内容', + 'summary' => '获取不同地域的配置内容。', + 'requestParamsDescription' => ' 无请求参数。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-13T11:26:59.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryRegionConfig'], + ], + ], + 'ramActions' => [], + '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":""}]', + ], + 'QuerySlsLogStoreList' => [ + 'path' => '/pop/v5/k8s/sls/query_sls_log_store_list', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LosslessRuleAligned', - 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册', - 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务注册:'."\n" - ."\n" - .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务注册后,该接口返回200,否则返回500。'."\n" - .'> 若同时配置`LosslessRuleRelated`为true,则该接口检查是否完成服务预热。'."\n" - ."\n" - .'- false:不为应用提供检查是否完成服务注册的接口。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'LosslessRuleRelated', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热', - 'description' => '是否启用无损滚动发布模式配置通过就绪检查前完成服务预热:'."\n" - ."\n" - .'- true:打开开关会为应用无侵入提供55199端口和/health路径的健康检查方式,当完成服务预热后,该接口返回200,否则返回500。'."\n" - .'- false:不为应用提供检查是否完成服务预热的接口。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'af58edcf-f7eb-****-****-db4e425f****'], ], [ - 'name' => 'LimitEphemeralStorage', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => '日志服务采集类型:'."\n" + ."\n" + .'- file: 文件类型。'."\n" + .'- stdout: 标准输出类型。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'file'], ], [ - 'name' => 'RequestsEphemeralStorage', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => '查询页面大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], ], [ - 'name' => 'Sidecars', + 'name' => 'CurrentPage', 'in' => 'query', + 'schema' => ['description' => '查询页码,从1开始编号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '为应用Pod设置Sidecar容器。支持设置容器配置的格式YAML,其值为Sidecar容器YAML配置base64编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg=="'."\n" - .' }'."\n" - .']', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回消息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'd6834ee9-5045-*************'], + 'TotalSize' => ['description' => '日志服务配置数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Result' => [ + 'description' => '日志服务配置结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Link' => ['description' => '日志服务链接。', 'type' => 'string', 'example' => 'https://sls.console.aliyun.com/lognext/project/k8s-log-c846f28edbd1d4c6aa9d78c0e********/logsearch/thisisiss'], + 'CreateTime' => ['description' => '创建时间。', 'type' => 'string', 'example' => '2020-05-18 22:08:46'], + 'Logstore' => ['description' => 'logstore名称。', 'type' => 'string', 'example' => 'thisisatestlogstore'], + 'ConsumerSide' => ['description' => '日志服务类型。', 'type' => 'string', 'example' => 'SLS log service'], + 'Project' => ['description' => 'project名称。', 'type' => 'string', 'example' => 'k8s-log-c846f28edbd1d4c6aa9d78c0e********'], + 'Source' => ['description' => '日志来源:'."\n" + ."\n" + .'- 标准输出:stdout.log。'."\n" + .'- 文件日志:采集路径。', 'type' => 'string', 'example' => '/var/log/*'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + ], + '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 log service\\",\\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' => '查询应用的日志服务配置详情', + 'summary' => '调用 QuerySlsLogStoreList 接口查询应用的日志服务配置详情。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-05-10T06:20:24.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'InitContainers', - 'in' => 'query', - 'schema' => [ - 'description' => '为应用Pod设置初始化容器。支持设置容器配置的格式YAML,其值为Init容器YAML配置base64编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '['."\n" - .' {'."\n" - .' "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo="'."\n" - .' }'."\n" - .']', + '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}'], + ], ], ], + ], + ], + 'ResetApplication' => [ + 'summary' => '重置一个应用。', + 'path' => '/pop/v5/changeorder/co_reset', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'UserBaseImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => '使用自定义JDK运行时,需要配置基础镜像地址。该地址需要可公开访问,EDAS服务端会拉取该镜像,用于构建应用镜像。', - 'type' => 'string', - 'required' => false, - 'example' => 'openjdk:8u302', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'CanaryRuleId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '金丝雀规则策略ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'a8daf22e-****-968c7ff2ea34', - ], + 'schema' => ['description' => '应用ID,可通过[ListApplication](~~149390~~)获取。', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92*********'], ], [ - 'name' => 'TerminateGracePeriod', + 'name' => 'EccInfo', 'in' => 'query', + 'schema' => ['description' => '应用下需要重置机器的eccid,多个用半角逗号(,)分隔,可通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', 'type' => 'string', 'required' => true, 'example' => '0cf49a6c-***********'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '设置应用优雅停止超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '120', + 'description' => '接口响应。', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次重置具体执行进展。', 'type' => 'string', 'example' => '1c66548e-a082-40************'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-*********'], + ], ], ], + ], + 'title' => '重置应用', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:04:11.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:04:11.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetApplication'], + ], + ], + 'ramActions' => [ [ - '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' => '镜像目标平台架构,当使用war、jar部署时有效,输入样例:'."\n" - ."\n" - .'- 指定x86 64架构:linux/amd64'."\n" - ."\n" - .'- 指定arm 64架构:linux/arm64'."\n" - ."\n" - .'- 指定构建双架构镜像:linux/amd64,linux/arm64'."\n" - ."\n" - .'- 不输入:默认架构', - 'type' => 'string', - 'required' => false, - 'example' => 'linux/arm64,linux/amd64', + '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' => [ + 'summary' => '适用于ECS应用。', + 'path' => '/pop/v5/changeorder/co_restart', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Startup', - 'in' => 'query', - 'schema' => [ - 'description' => '启动探针可以用于对慢启动容器进行存活性检测,避免它们在启动运行之前就被杀掉,格式如:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}。'."\n" - ."\n" - .'如果设置为""或者{}表示删除,不设置表示忽略。', - 'type' => 'string', - 'required' => false, - 'example' => '{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'CustomAgentVersion', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '设置应用挂载的自定义ArmsAgent探针版本。'."\n" - ."\n" - .'> 该功能为白名单开放。如有需求,请提交工单申请加入白名单。', - 'type' => 'string', - 'required' => false, - 'example' => '3.1.4', - ], + 'schema' => ['description' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d*******'], ], [ - 'name' => 'SecurityContext', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => '为应用 Pod 容器设置 SecurityContext属性。其值为 SecurityContext YAML 配置 base64 编码后的值。', - 'type' => 'string', - 'required' => false, - 'example' => '{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="}', - ], + 'schema' => ['description' => '应用中需要重启的ECS实例的EccId。可以通过调用QueryApplicationStatus接口获取EccId,具体操作,请参见[QueryApplicationStatus](~~149394~~)。'."\n" + .'- 如果包含多个EccId,用半角逗号(,)分隔。'."\n" + .'- 不设置该参数,表示重启该应用中的所有实例。', 'type' => 'string', 'required' => false, 'example' => '006c0ea5-5f8d-4398-af1e-**********'], ], ], 'responses' => [ @@ -19535,47 +13666,48 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID,可调用GetChangeOrderInfo接口获取,详情请参见[GetChangeOrderInfo](~~62072~~)。', - 'type' => 'string', - 'example' => 'cd65b247-****-475b-ad4b-7039040d625c', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。'."\n" + ."\n" + .'可以调用GetChangeOrderInfo接口查询此次重启的详细执行进展,具体操作,请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'example' => 'a9557bac-ddd7-*********************'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], ], ], ], ], - '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' => '部署K8s应用', + 'title' => '重启应用', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ScaleK8sApplication' => [ - 'summary' => '扩容或下线容器服务K8s集群的应用实例。', - 'path' => '/pop/v5/k8s/acs/k8s_apps', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2022-09-14T11:59:52.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T11:59:52.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartApplication'], + ], ], + '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\\": \\"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' => [ [ 'AK' => [], @@ -19583,46 +13715,17 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '23bf94d9-****-4994-****-616a827aa777', - ], - ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => '需要扩容或保留的应用实例数量,最小为 0。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-********ed2ae98de18d'], ], [ 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => '变更流程超时时间,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => '变更记录超时时间,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], ], 'responses' => [ @@ -19631,47 +13734,47 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更流程ID。可调用[GetChangeOrderInfo](~~62072~~)接口获取这次扩容或下线的具体执行进展。', - 'type' => 'string', - 'example' => '9d7232b2-****-****-b9d9-7e17695779ab', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], + 'ChangeOrderId' => ['description' => '此次操作的变更记录ID。', 'type' => 'string', 'example' => '*********-ed2ae98de18d'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], ], ], ], ], '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' => '扩容或下线容器服务K8s集群应用实例', + 'title' => '重启K8s应用', + 'summary' => '调用RestartK8sApplication接口来重启部署在容器服务K8s集群或Serverless K8s集群中的应用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RestartK8sApplication' => [ - 'path' => '/pop/v5/k8s/acs/restart_k8s_app', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartK8sApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + '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' => '[{"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":""}]', + ], + 'RetryChangeOrderTask' => [ + 'path' => '/pop/v5/changeorder/task_retry', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19679,426 +13782,373 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '93fdd228-********ed2ae98de18d', - ], + 'schema' => ['description' => '发布单任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '823-bhjf-23u4-eiuf*'], ], [ - 'name' => 'Timeout', + 'name' => 'RetryStatus', 'in' => 'query', - 'schema' => [ - 'description' => '变更记录超时时间,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => '重试状态。', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '此次操作的变更记录ID。', - 'type' => 'string', - 'example' => '*********-ed2ae98de18d', - ], - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '03FD1520-0FD6-436A-****-265318D7****', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '重试信息。', 'type' => 'string', 'example' => 'success retry task'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], ], + 'description' => '', ], ], ], '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":""}]', - 'title' => '重启K8s应用', - 'summary' => '调用RestartK8sApplication接口来重启部署在容器服务K8s集群或Serverless K8s集群中的应用。', + 'title' => '重试失败的发布单任务', + 'summary' => '调用RetryChangeOrderTask接口重试失败的发布单任务。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ConvertK8sResource' => [ - 'path' => '/pop/v5/oam/k8s_resource_convert', - 'methods' => [ - 'post', - ], - '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' => '[{"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":""}]', + ], + 'RollbackApplication' => [ + 'path' => '/pop/v5/changeorder/co_rollback', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型,仅支持设置为deployment。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'deployment', - 'default' => '', - ], + 'schema' => ['description' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~423162~~)。', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-4413-************'], ], [ - 'name' => 'ResourceName', + 'name' => 'HistoryVersion', 'in' => 'query', - 'schema' => [ - 'description' => '资源名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'deployment-to-convert', - ], + 'schema' => ['description' => '设置应用要回滚到的历史版本。请根据调用ListHistoryDeployVersion接口返回的`PackageVersion`填写,具体操作,请参见[ListHistoryDeployVersion](~~423163~~)。', 'type' => 'string', 'required' => true, 'example' => '2019-11-13 14:22:22'], ], [ - 'name' => 'Namespace', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - 'default' => '', - ], + 'schema' => ['description' => '应用分组ID。可以调用ListDeployGroup接口获取,具体操作,请参见[ListDeployGroup](~~423184~~)。'."\n" + ."\n" + .'<note>如果需要回滚全部分组的应用,请设置为`all`。</note>'."\n", 'type' => 'string', 'required' => true, 'example' => '8123db90-880f-48***************'], ], [ - 'name' => 'ClusterId', + 'name' => 'Batch', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID,参数详情的获取请参见[ListCluster](~~154995~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'b07c8192-****-adf4f7447720', - ], + 'schema' => ['description' => '分批次数。默认1批,最多5批。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => '分批间等待时间,默认0表示不等待,最多等待5分钟。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'convert success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'BA938591-*********-9690-BFD3F4DD7A93', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。可以调用GetChangeOrderInfo接口获取此次回滚变更的详细执行进展,具体操作,请参见[GetChangeOrderInfo](~~423155~~)。', 'type' => 'string', 'example' => '921026b8-d1be-************'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-*********'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"convert success\\",\\n \\"RequestId\\": \\"BA938591-*********-9690-BFD3F4DD7A93\\"\\n}","type":"json"}]', - 'title' => '将资源转化为应用', - 'summary' => '将一个Deployment资源转化为应用。', - ], - 'AbortAndRollbackChangeOrder' => [ - 'path' => '/pop/v5/changeorder/change_order_abort_and_rollback', - 'methods' => [ - 'put', + 'title' => '回滚应用', + 'summary' => '调用RollbackApplication接口回滚应用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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' => '[{"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":""}]', + ], + 'RollbackChangeOrder' => [ + 'summary' => '调用RollbackChangeOrder终止应用的变更流程,并回滚应用。该接口适用于ECS集群中的应用。', + 'path' => '/pop/v5/oam/changeorder/rollback', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => '变更单ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '6b55106c-c7f2-40f7-a1d4-092870*****', - ], + 'schema' => ['description' => '变更记录ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc5133d7-773f-4c81-****-e2103dce****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或 POP 错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '81E0B333-2871-****-****-B8F5FF43****', - ], - 'TraceId' => [ - 'description' => '调用链ID。', - 'type' => 'string', - 'example' => '210f07bf1640239405712621******', - ], - 'ErrorCode' => [ - 'description' => '错误码。', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID', 'type' => 'string', 'example' => 'B909AB1F-3763-4963-B1CE-0BDFA192****'], + 'TraceId' => ['description' => '调用链ID', 'type' => 'string', 'example' => '000000000000000000000000000000'], + 'ErrorCode' => ['description' => '错误码', 'type' => 'string', 'example' => 'success'], 'Data' => [ - 'description' => '变更单信息。', + 'description' => '变更单信息', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => '变更单ID。', - 'type' => 'string', - 'example' => '4f40e616-cdcd-4250-a018-efd459******', - ], + 'ChangeOrderId' => ['description' => '变更单ID', 'type' => 'string', 'example' => '4f40e616-cdcd-4250-a018-efd4599c****'], ], ], ], + 'description' => '', ], ], ], '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"}]', - 'title' => '终止并回滚变更单', - 'summary' => '调用AbortAndRollbackChangeOrder接口终止并回滚变更单,适用于容器服务K8s集群中的应用。', - ], - 'UpdateLocalitySetting' => [ - 'summary' => '调用 UpdateLocalitySetting 接口更新本地化配置', - 'path' => '/pop/sp/applications/locality/setting', - 'methods' => [ - 'post', + 'title' => '回滚变更单', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + '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' => '[{"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":""}]', + ], + 'ScaleInApplication' => [ + 'summary' => '使用ScaleInApplication缩容应用实例。', + 'path' => '/pop/v5/changeorder/co_scale_in', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'Region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'ecu所在地域id。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用ID,您可通过查询[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => true, 'example' => '3616cdca-4f92-44***********************'], ], [ - 'name' => 'NamespaceId', + 'name' => 'EccInfo', + 'in' => 'query', + 'schema' => ['description' => '应用下需要缩容的机器的eccid,多个用“,”分开,您可以通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', 'type' => 'string', 'required' => true, 'example' => '7040f221-42df-48e8-9*******************'], + ], + [ + 'name' => 'ForceStatus', 'in' => 'query', + 'schema' => ['description' => '是否要强制下线,一般只有ECS过期了才会设为true,正常情况不用填写。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '命名空间id>创建后不可变,格式为[unk]物理空间标识符[unk]。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次下线具体执行进展。如果forceStatus置为true则不产生ID,根据code判断是否成功。', 'type' => 'string', 'example' => 'ddf5a4c7-a507-4a6e****************'], + 'Code' => ['description' => 'code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息。', 'type' => 'string', 'example' => 'success'], + ], + 'description' => '', ], ], + ], + 'title' => '缩容应用实例', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:32:01.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:32:01.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleInApplication'], + ], + ], + '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\\": \\"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' => '扩容或下线容器服务K8s集群的应用实例。', + 'path' => '/pop/v5/k8s/acs/k8s_apps', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用id,可调用[listapplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'bfa00cfb-9642-4292-bb78-1d7d4c86004c', - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '23bf94d9-****-4994-****-616a827aa777'], ], [ - 'name' => 'Enabled', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => '设置是否已生效:'."\n" - .' '."\n" - .'- true:已生效。'."\n" - .'- false:未生效。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'false', - ], + 'schema' => ['description' => '需要扩容或保留的应用实例数量,最小为 0。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'minimum' => '0', 'example' => '2'], ], [ - 'name' => 'Threshold', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => '满足阈值表达式的总个数。', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => '变更流程超时时间,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => 'http状态码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求id', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Data' => [ - 'description' => '变更执行结果', - 'type' => 'object', - 'properties' => [ - 'Threshold' => [ - 'description' => 'ecu的阈值', - 'type' => 'number', - 'format' => 'float', - 'example' => '15', - ], - 'Enabled' => [ - 'description' => '是否可用', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'ChangeOrderId' => ['description' => '变更流程ID。可调用[GetChangeOrderInfo](~~62072~~)接口获取这次扩容或下线的具体执行进展。', 'type' => 'string', 'example' => '9d7232b2-****-****-b9d9-7e17695779ab'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一标识ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], ], ], ], ], - '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' => '更新微服务治理本地化配置', - 'description' => '> 当前仅支持Deployment资源的修改。', - ], - 'DeleteServiceGroup' => [ - 'summary' => '调用DeleteServiceGroup删除服务分组。', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'delete', + 'errorCodes' => [], + 'title' => '扩容或下线容器服务K8s集群应用实例', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleK8sApplication'], + ], ], - '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\\": \\"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":""}]', + ], + 'ScaleOutApplication' => [ + 'summary' => '调用ScaleOutApplication接口扩容应用。', + 'path' => '/pop/v5/changeorder/co_scale_out', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'GroupId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '服务分组 ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '789d9cda-74b1-****-****-05e21a0a7661', - ], + 'schema' => ['description' => '应用ID。获取应用ID,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413*****************'], + ], + [ + 'name' => 'EcuInfo', + 'in' => 'query', + 'schema' => ['description' => '指定ECU进行扩容。获取ecuid,请参见[ListScaleOutEcu](~~149371~~)。多个ECU,用半角逗号(,)分开。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8123db90-880f-486f-b***************'], + ], + [ + 'name' => 'DeployGroup', + 'in' => 'query', + 'schema' => ['description' => '需要扩容的应用实例分组。获取应用实例分组,请参见[QueryApplicationStatus](~~149394~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f1fb6f5-6769-4bd6******************'], ], ], 'responses' => [ @@ -20106,42 +14156,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F38****', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。可以调用GetChangeOrderInfo接口获取这次扩容具体执行进展,更多信息,请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'example' => 'f4208118-7171-4e20-92************'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-***********************'], ], + 'description' => '', ], ], ], - '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' => '删除服务分组', + 'title' => '扩容应用实例', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceConsumersPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceConsumersPage', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T05:51:32.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T05:51:32.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleOutApplication'], + ], ], + '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\\": \\"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":""}]', + ], + 'ScaleoutApplicationWithNewInstances' => [ + 'summary' => '在EDAS中代购ECS实例,并将代购的实例扩容到指定的应用分组。', + 'path' => '/pop/v5/scaling/scale_out', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20149,154 +14205,95 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'high', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'namespace', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => '扩容的目标应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'e370c17f-*****-3df0721a327'], ], [ - 'name' => 'origin', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '数据来源,取值如下:'."\n" - ."\n" - .'- agent:新版服务查询需要传递。'."\n" - .'- registry:旧版服务查询传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => '扩容应用的目标分组ID,可通过调用ListDeployGroup接口来获取,详情请参见[ListDeployGroup](~~62077~~)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'e37**********-33df0721a327'], ], [ - 'name' => 'serviceType', + 'name' => 'ScalingNum', 'in' => 'query', - 'schema' => [ - 'description' => '服务类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'dubbo', - ], + 'schema' => ['description' => '此次扩容的实例数量。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '2'], ], [ - 'name' => 'appId', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], + 'schema' => ['description' => 'ECS启动模板ID,可通过调用DescribeLaunchTemplates接口获取,详情请参见[DescribeLaunchTemplates](~~73759~~)。', 'type' => 'string', 'required' => false, 'example' => 'lt-****hy9s2 '], ], [ - 'name' => 'source', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => '来源,固定值:edas。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + 'schema' => ['description' => 'ECS启动模板版本,可通过调用DescribeLaunchTemplateVersions接口获取,详情请参见[DescribeLaunchTemplateVersions](~~73761~~)。'."\n" + ."\n" + .'> 设置为`-1`代表使用默认的启动模板版本。', 'type' => 'string', 'required' => false, 'example' => '-1'], ], [ - 'name' => 'serviceId', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '服务ID。已废弃,无需设置。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => '指定伸缩组的回收模式,取值范围:'."\n" + ."\n" + .'- recycle:伸缩组的回收模式为停机回收模式。'."\n" + .'- release:伸缩组的回收模式为释放模式。'."\n" + ."\n" + .'从一个伸缩组删除实例,详情请参见[RemoveInstances](~~25955~~)。', 'type' => 'string', 'required' => false, 'example' => 'release'], ], [ - 'name' => 'serviceName', + 'name' => 'TemplateInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '服务名。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => '扩容时使用的现有ECS实例ID,若填写此项,将以指定的ECS实例的规格和配置为模板来购买新的ECS实例。', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], ], [ - 'name' => 'serviceVersion', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => '扩容的集群ID,若指定了应用和分组进行扩容,此参数将被忽略。', 'type' => 'string', 'required' => false, 'example' => 'e37**********-33df0721a327'], ], [ - 'name' => 'group', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => '分组。', - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => '实例的付费方式。取值范围:'."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid(默认):按量付费。'."\n", 'type' => 'string', 'required' => false, 'example' => 'PrePaid'], ], [ - 'name' => 'ip', + 'name' => 'InstanceChargePeriodUnit', 'in' => 'query', - 'schema' => [ - 'description' => '服务提供者IP,支持模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', - ], + 'schema' => ['description' => '包年包月计费方式的时长单位。取值范围:'."\n" + ."\n" + .'- Week:按周计费。'."\n" + .'- Month(默认):按月计费。', 'type' => 'string', 'required' => false, 'example' => 'Month'], ], [ - 'name' => 'registryType', + 'name' => 'InstanceChargePeriod', 'in' => 'query', - 'schema' => [ - 'description' => '注册类型。已废弃,无需设置。', - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'schema' => ['description' => '购买资源的时长,单位由InstanceChargePeriodUnit指定。当参数InstanceChargeType取值为PrePaid时才生效。'."\n" + ."\n" + .'- InstanceChargePeriodUnit=Week时,Period取值:{“1”, “2”, “3”, “4”}。'."\n" + .'- InstanceChargePeriodUnit=Month时,Period取值:{“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “24”, “36”, ”48”, ”60”}。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1'], ], [ - 'name' => 'page', + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '是否要自动续费。当参数InstanceChargeType取值PrePaid时才生效。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false(默认):不自动续费。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'size', + 'name' => 'AutoRenewPeriod', 'in' => 'query', - 'schema' => [ - 'description' => '页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '单次自动续费的续费时长。取值范围:'."\n" + ."\n" + .'- InstanceChargePeriodUnit=Week时:{“1”, “2”, “3”}。'."\n" + .'- InstanceChargePeriodUnit=Month时:{“1”, “2”, “3”, “6”, “12”, "24", "36", "48", "60"}。'."\n" + ."\n" + .'默认值:1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -20305,660 +14302,352 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '数据结构体。', - 'type' => 'object', - 'properties' => [ - 'TotalPages' => [ - 'description' => '总页数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => '总数据量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Size' => [ - 'description' => '页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Content' => [ - 'description' => '组数据。', - 'type' => 'array', - 'items' => [ - 'description' => '组数据对象。', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => '服务消费者IP。', - 'type' => 'string', - 'example' => '10.20.x.xx', - ], - 'EdasAppName' => [ - 'description' => '服务消费者名称。', - 'type' => 'string', - 'example' => 'k8s-lq-cartservice', - ], - 'EdassAppId' => [ - 'description' => '服务消费者ID。', - 'type' => 'string', - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => '应用扩容的变更记录ID。', 'type' => 'string', 'example' => 'e370c17f-*****-3df0721a327'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加消息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'e370c17f-*****-3df0721a327'], + 'InstanceIds' => [ + 'description' => 'ECS实例ID列表。', + 'type' => 'array', + 'items' => ['description' => '代购产生的ECS实例列表。', 'type' => 'string', 'example' => '["i-28wt4****","i-28wt4****"]'], ], ], ], ], ], - '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' => '查询微服务消费者列表', - 'summary' => '获取服务消费者列表。', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.PermissionDenied.message', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '无权限操作'], + ], + ], + 'title' => '代购实例并扩容到指定分组', + 'description' => '## 限制说明'."\n" + ."\n" + .'若应用配置并开启了弹性伸缩规则,在触发自动缩容时将优先移除此接口代购的实例。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetServiceListPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceListPage', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleoutApplicationWithNewInstances'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ECSPurchase', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', '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' => '调用StartApplication来启动应用。', + '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' => 'region', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '地域。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用ID,可通过[ListApplication](~~149390~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3616cdca-4f92-4413**********'], ], [ - 'name' => 'namespace', + 'name' => 'EccInfo', 'in' => 'query', + 'schema' => ['description' => '应用下需要重置机器的eccid,多个用“,”分开,可通过调用[QueryApplicationStatus](~~149394~~)接口获取eccid。', 'type' => 'string', 'required' => false, 'example' => '""'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou:doc-test', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '变更流程ID,调用[GetChangeOrderInfo](~~62072~~)接口获取这次启动的执行进展。', 'type' => 'string', 'example' => '426d3328-11a***************'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-**************'], + ], + 'description' => '', ], ], + ], + 'title' => '启动应用', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartApplication'], + ], + ], + 'ramActions' => [ [ - 'name' => 'origin', - 'in' => 'query', - 'schema' => [ - 'description' => '数据来源,取值如下:'."\n" - ."\n" - .'- `agent`:新版服务查询需要传递。'."\n" - .'- `registry`:旧版服务查询传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'Agent', + '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 \\"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":""}]', + ], + 'StartK8sAppPrecheck' => [ + 'summary' => '调用StartK8sAppPrecheck接口开始K8s应用变更预检。', + 'path' => '/pop/v5/k8s/app_precheck', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'serviceType', - 'in' => 'query', - 'schema' => [ - 'description' => '服务类型,取值如下:'."\n" - ."\n" - .'- `dubbo`'."\n" - .'- `springCloud`'."\n" - .'- `hsf`'."\n" - .'- `istio`', - 'type' => 'string', - 'required' => false, - 'example' => 'SpringCloud', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'searchType', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => ' '."\n" - .'服务类型,取值如下:'."\n" - ."\n" - .'- `app`:应用维度查询。'."\n" - .'- `service`:服务维度查询。'."\n" - .'- `providerIp`:IP维度查询。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'App', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'c37aec2a-bcca-4ec1-****-****'], ], [ - 'name' => 'searchValue', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '搜索关键字:'."\n" - ."\n" - .'- 如果searchType=app,searchValue填写`appId`。'."\n" - .'- 如果serachType=service,searchValue填写`serviceName`。'."\n" - .'- 如果searchType=providerIp,searchValue填写应用IP地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibaba.edas.HelloService', - ], + 'schema' => ['description' => 'K8s集群的命名空间,它将决定您的应用部署在哪个K8s命名空间。默认为default。', 'type' => 'string', 'required' => true, 'example' => 'default'], ], [ - 'name' => 'side', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '提供者侧或者消费者侧,取值如下:'."\n" - ."\n" - .'- provider'."\n" - .'- consumer', - 'type' => 'string', - 'required' => false, - 'example' => 'provider', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => '应用ID。', 'type' => 'string', 'required' => false, 'example' => 'af58edcf-f7eb-****-****-db4e425f****'], ], [ - 'name' => 'page', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => '列表的页码,从0开始。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '应用名称。必须以字母开头,支持数字、字母和短划线(-),最多支持36个字符。', 'type' => 'string', 'required' => false, 'example' => 'testapp'], ], [ - 'name' => 'size', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时每页的行数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'example' => '10', - ], + 'schema' => ['description' => '应用实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '数据结构。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => ' '."\n" - .'数据。', - 'type' => 'object', - 'properties' => [ - 'TotalPages' => [ - 'description' => '总页数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => '总数据量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Size' => [ - 'description' => '页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'Content' => [ - 'description' => '组数据。', - 'type' => 'array', - 'items' => [ - 'description' => '数据结构。', - 'type' => 'object', - 'properties' => [ - 'EdasAppName' => [ - 'description' => '应用名。', - 'type' => 'string', - 'example' => 'k8s-lq-cartservice', - ], - 'InstanceNum' => [ - 'description' => '实例数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Version' => [ - 'description' => '版本号。', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'ServiceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'xx', - ], - 'EdasAppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'efbda488-7b33-432f-****-36530047****', - ], - 'ServiceName' => [ - 'description' => '服务名。', - 'type' => 'string', - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], - 'RegisterType' => [ - 'description' => '注册类型。', - 'type' => 'string', - 'example' => 'xx', - ], - 'Group' => [ - 'description' => '分组。', - 'type' => 'string', - 'example' => 'DUBBO', - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'name' => 'LimitmCpu', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例的CPU限额。 单位:毫核数,设置为0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], ], - ], - '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' => '查询微服务列表', - 'summary' => '调用GetServiceListPage接口获取服务列表。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetServiceMethodPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceMethodPage', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'RequestsmCpu', + 'in' => 'query', + 'schema' => ['description' => '应用创建时,应用实例的CPU限额,单位:毫核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'region', + 'name' => 'LimitMem', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用运行过程中,应用实例的内存限额,单位:MB。LimitMem取值要不小于RequestsMem。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4096'], ], [ - 'name' => 'namespace', + 'name' => 'RequestsMem', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => '应用创建时,应用实例的内存限额,单位:MB。设置为0时表示不限制。RequestsMem的取值不能大于LimitMem的取值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024'], ], [ - 'name' => 'origin', + 'name' => 'LimitEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => '数据来源。取值如下:'."\n" - .'- agent:新版服务查询需要传递。'."\n" - .'- registry:旧版服务查询传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ - 'name' => 'serviceType', + 'name' => 'RequestsEphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => '服务类型,支持以下类型:'."\n" - .'- dubbo:Dubbo服务。'."\n" - .'- springCloud:SpringCloud服务。'."\n" - .'- hsf:HSF服务。', - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], + 'schema' => ['description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'appId', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => false, - 'example' => '310b18c3-1dbe-4807-****-18d7d637****', - ], + 'schema' => ['description' => '部署环境变量,格式需要符合JSON对象数组。支持三种类型的环境变量,分别是普通环境变量,K8s ConfigMap环境变量,K8s Secret环境变量。普通环境变量格式如下所示:'."\n" + ."\n" + .'`{"name":"x", "value": "y"}`'."\n" + ."\n" + .'ConfigMap环境变量配置可以将指定的ConfigMap中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x2",'."\n" + .' "valueFrom": {'."\n" + .' "configMapKeyRef": {'."\n" + .' "name": "my-config",'."\n" + .' "key": "y2"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'Secret环境变量配置可以将指定的Secret中对应的key的值注入到容器的环境变量中,配置的格式如下所示:'."\n" + ."\n" + .'`{'."\n" + .' "name": "x3",'."\n" + .' "valueFrom": {'."\n" + .' "secretKeyRef": {'."\n" + .' "name": "my-secret",'."\n" + .' "key": "y3"'."\n" + .' }'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'> 如果要取消该配置,需设置一个空JSON数组“[]”来表示不做配置。', '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' => 'source', + 'name' => 'EnvFroms', 'in' => 'query', - 'schema' => [ - 'description' => '来源,固定值:edas。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + 'schema' => ['description' => '配置K8s EnvFrom类型的环境变量,将指定的ConfigMap或Secret挂载到指定目录,每个key对应目录下的一个文件,文件的内容为该key对应的value。'."\n" + ."\n" + .'EnvFroms的配置参数说明如下:'."\n" + .' - configMapRef:ConfigMap引用,该字段包括以下参数:'."\n" + ."\n" + .' name:ConfigMap名称。'."\n" + ."\n" + .'- secretRef:Secret引用,该字段包括以下参数:'."\n" + ."\n" + .' name:Secret名称。', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "name": "appname",'."\n" + .' "valueFrom": {'."\n" + .' "configMapKeyRef": {'."\n" + .' "name": "appconf"'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .']'], ], [ - 'name' => 'serviceId', + 'name' => 'EmptyDirs', 'in' => 'query', - 'schema' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas.service.consumer', - ], + 'schema' => ['description' => '配置K8s emptyDir挂载,支持将emptyDir卷挂载到指定的容器目录。EmptyDirs的配置参数说明如下:'."\n" + ."\n" + .'- mountPath:容器挂载路径,必填。'."\n" + .'- readOnly:是否只读,可选,true为只读,false为读写,默认为false。'."\n" + .'- subPathExpr:子目录表达式,可选。', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}]'], ], [ - 'name' => 'serviceName', + 'name' => 'JavaStartUpConfig', 'in' => 'query', - 'schema' => [ - 'description' => '服务名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas.service.consumer', - ], + 'schema' => ['description' => 'Java启动参数用于在Java应用启动时配置启动参数。可配置:内存配置、应用、GC策略、工具、服务注册和发现配置和自定义等配置,正确配置这些参数有助于降低垃圾回收(GC)开销,从而缩短服务器响应时间并提高吞吐量。参数格式为JSON字符串:original为配置值,startup为启动参数,系统将自动拼接所有的startup作为应用程序的Java启动参数。设置为`""`或`"{}"`表示删除配置。JSON中key取值如下:'."\n" + ."\n" + .'- InitialHeapSize:代表初始化堆大小。'."\n" + .'- MaxHeapSize:代表最大堆大小。'."\n" + .'- CustomParams:代表用户自定义内容,如JVM -D参数等。'."\n" + .'- 其它情况:可自行查看前端提交的JSON结构。', 'type' => 'string', 'required' => false, 'example' => '{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}}'], ], [ - 'name' => 'serviceVersion', + 'name' => 'ConfigMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => '配置K8s ConfigMap和Secret挂载,支持将ConfigMap和Secret挂载到指定的容器目录。ConfigMountDescs的配置参数说明如下:'."\n" + .'- name:ConfigMap或Secret的名称。'."\n" + .'- type:配置类型,支持ConfigMap和Secret两种类型。'."\n" + .'- mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。', 'type' => 'string', 'required' => false, 'example' => '[{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}]'], ], [ - 'name' => 'group', + 'name' => 'PvcMountDescs', 'in' => 'query', - 'schema' => [ - 'description' => '分组。', - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => '配置K8s PVC(PersistentVolumeClaim)挂载,支持将K8s PVC卷挂载到指定的容器目录。PvcMountDescs的配置参数说明如下:'."\n" + ."\n" + .'- pvcName:PVC卷名称,PVC卷必须已经存在,且处于Bound状态。'."\n" + .'- mountPaths:挂载目录列表,支持配置多个挂载目录。每个挂载目录支持两个配置参数。'."\n" + .' * mountPath:挂载路径,以正斜线(/)开头的容器绝对路径。'."\n" + .' * readOnly:挂载模式,true为只读,false为可读写,默认为false。', 'type' => 'string', 'required' => false, 'example' => '[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}]'], ], [ - 'name' => 'ip', + 'name' => 'Annotations', 'in' => 'query', - 'schema' => [ - 'description' => 'IP地址。', - 'type' => 'string', - 'required' => false, - 'example' => '127.0.0.1', - ], + 'schema' => ['description' => '应用Pod注解。', 'type' => 'string', 'required' => false, 'example' => '{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"}'], ], [ - 'name' => 'registryType', + 'name' => 'Labels', 'in' => 'query', - 'schema' => [ - 'description' => '注册中心类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'schema' => ['description' => '应用Pod标签。', 'type' => 'string', 'required' => false, 'example' => '{"label-name-1":"label-value-1","label-name-2":"label-value-2"}'], ], [ - 'name' => 'pageNumber', + 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => '页号。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '镜像URL。', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest'], ], [ - 'name' => 'pageSize', + 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '部署包地址。', 'type' => 'string', 'required' => false, 'example' => 'https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar'], ], [ - 'name' => 'methodController', + 'name' => 'LocalVolume', 'in' => 'query', - 'schema' => [ - 'description' => 'controller方法。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliware.edas.DemoController', - ], + 'schema' => ['description' => '宿主机文件挂载到容器内的配置。例如:`\\[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}\\]`。其中:'."\n" + ."\n" + .'- `nodePath`为宿主机路径。'."\n" + ."\n" + .'- `mountPath`为容器内的路径。'."\n" + ."\n" + .'- `type`为挂载类型。', 'type' => 'string', 'required' => false, 'example' => '[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}]'], ], [ - 'name' => 'path', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '请求路径。', - 'type' => 'string', - 'required' => false, - 'example' => '/echo/{str}', - ], + 'schema' => ['description' => '阿里云地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'name', + 'name' => 'ComponentIds', 'in' => 'query', - 'schema' => [ - 'description' => '方法名。', - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => '应用组件ID。可通过查询组件列表接口ListComponents接口获取。当创建的应用运行环境使用Apache Tomcat(适用于WAR包部署的Dubbo应用)或者标准Java应用运行环境(适用于JAR包部署的Spring Boot或Spring Cloud应用)时需要指定。'."\n" + ."\n" + .'常用的应用组件ID及含义:'."\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" + .'该参数需要更新Java或者Python SDK版本到2.57.3或以上版本才可以设置,未使用EDAS提供的SDK的(例如在使用aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli等)用户可直接设置该参数。', 'type' => 'string', 'required' => false, 'example' => '7'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'HttpCode' => [ - 'description' => 'HTTP响应码。', - 'type' => 'string', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'BDC0C0FE-D63B-4FC8-****-4081C57E****', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '7638276F-****-****-884F-54CC0BC84A8D'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息 。', 'type' => 'string', 'example' => 'success'], 'Data' => [ - 'description' => '数据结构体。', + 'description' => '接口返回数据。', 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => '页号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => '总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Result' => [ - 'description' => '方法结构体。', + 'Jobs' => [ + 'description' => '任务列表及任务详情。', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterDetails' => [ - 'description' => '参数详情。', - 'type' => 'string', - 'example' => '{}', - ], - 'NameDetail' => [ - 'description' => '方法详情。', - 'type' => 'string', - 'example' => 'name', - ], - 'ParameterNames' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'echo', - ], - 'ParameterDefinitions' => [ - 'description' => '参数定义。', - 'type' => 'string', - 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', - ], - 'Paths' => [ - 'description' => '方法路径。', - 'type' => 'string', - 'example' => '/consumer/alive', - ], - 'ParameterTypes' => [ - 'description' => '参数类型。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'RequestMethods' => [ - 'description' => '请求方法。', - 'type' => 'string', - 'example' => 'GET', - ], - 'ReturnDetails' => [ - 'description' => '返回详情。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'Name' => [ - 'description' => '方法名。', - 'type' => 'string', - 'example' => 'echo', - ], - 'MethodController' => [ - 'description' => '方法。', - 'type' => 'string', - 'example' => 'com.aliware.edas.EchoController', - ], - 'ReturnType' => [ - 'description' => '返回类型。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'ReturnDefinition' => [ - 'description' => '返回值。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '返回类型。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'Id' => [ - 'description' => '返回值ID。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], + 'items' => ['description' => '任务名称。', 'type' => 'string', 'example' => '集群健康检查。'], + 'example' => 'Cluster health check.', ], ], ], @@ -20966,180 +14655,198 @@ ], ], ], - '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' => '查询微服务方法列表', - 'summary' => '调用GetServiceMethodPage接口获取服务接口元数据列表。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetServiceProvidersPage' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceProvidersPage', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 500 => [ + ['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' => '开始K8s应用变更预检', + 'changeSet' => [ + ['createdAt' => '2022-11-02T07:06:12.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-07-29T08:12:20.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sAppPrecheck'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'edas:ReadCluster', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'StartK8sApplication' => [ + 'summary' => '启动容器服务K8s或Serverless K8s集群中的应用。', + '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' => 'region', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '启动的应用实例数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'namespace', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => '变更流程超时时间,单位秒,取值范围1~1800秒,不填默认值为600秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], [ - 'name' => 'origin', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '数据来源。取值如下:'."\n" - .'- agent:新版服务查询需要传递。'."\n" - .'- registry:旧版服务查询传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-*******-ed2ae98de18d'], ], - [ - 'name' => 'serviceType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '服务类型。取值如下:'."\n" - .'- dubbo:Dubbo类型。'."\n" - .'- springCloud:Spring Cloud类型。'."\n" - .'- hsf:HSF类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'dubbo', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '此次操作的变更流程ID。', 'type' => 'string', 'example' => '*********d237-4827-a4f4-ed2ae98de18d'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], + ], + 'description' => '', ], ], - [ - 'name' => 'appId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', - ], + ], + 'errorCodes' => [], + 'title' => '启动K8s应用', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartK8sApplication'], ], + ], + 'ramActions' => [ [ - 'name' => 'source', - 'in' => 'query', - 'schema' => [ - 'description' => '来源,固定值:edas。', - '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\\": \\"*********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":""}]', + ], + 'StopApplication' => [ + 'path' => '/pop/v5/changeorder/co_stop', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'serviceId', - 'in' => 'query', - 'schema' => [ - 'description' => '服务ID。已废弃,无需传值。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'serviceName', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '服务名。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + 'schema' => ['description' => '应用ID。可以通过调用ListApplication接口获取,具体操作,请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d*******'], ], [ - 'name' => 'serviceVersion', + 'name' => 'EccInfo', 'in' => 'query', - 'schema' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => '应用下需要停止的ECS实例的EccId。可以通过调用QueryApplicationStatus接口获取EccId,具体操作,请参见[QueryApplicationStatus](~~149394~~)。'."\n" + ."\n" + .'- 如果包含多个ECS实例,用半角逗号(,)分开。'."\n" + .'- 不设置该参数,表示停止该应用下所有实例。', 'type' => 'string', 'required' => false, 'example' => '74ee9166-****1f6-bcb60e5b****'], ], - [ - 'name' => 'group', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '分组。', - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => '变更流程ID。可以通过调用GetChangeOrderInfo接口获取变更流程的详细信息,具体操作,请参见[GetChangeOrderInfo](~~62072~~)。', 'type' => 'string', 'example' => 'a9557bac-ddd7-*********************'], + 'Code' => ['description' => 'Code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], + ], + 'description' => '', ], ], + ], + 'title' => '停止应用', + 'summary' => '停止应用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:21:15.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopApplication'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ip', - 'in' => 'query', - 'schema' => [ - 'description' => '服务提供者IP,支持模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', + '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":""}]', + ], + 'StopK8sApplication' => [ + 'path' => '/pop/v5/k8s/acs/stop_k8s_app', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'registryType', - 'in' => 'query', - 'schema' => [ - 'description' => '注册类型。已废弃,无需传值。', - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'page', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '列表的页码,从0开始。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口来获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93fdd228-d237-*******8de18d'], ], [ - 'name' => 'size', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时每页的行数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '变更流程超时时间,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], ], 'responses' => [ @@ -21148,122 +14855,68 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '数据结构体。', - 'type' => 'object', - 'properties' => [ - 'TotalPages' => [ - 'description' => '总页数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalElements' => [ - 'description' => '总数据量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Size' => [ - 'description' => '页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Content' => [ - 'description' => '组数据。', - 'type' => 'array', - 'items' => [ - 'description' => '组数据对象。', - 'type' => 'object', - 'properties' => [ - 'Timeout' => [ - 'description' => '服务超时时间。', - 'type' => 'string', - 'example' => '1000', - ], - 'Ip' => [ - 'description' => '服务提供者的IP地址。', - 'type' => 'string', - 'example' => '10.20.XX.XX', - ], - 'Port' => [ - 'description' => '服务提供者的端口号。', - 'type' => 'string', - 'example' => '12345', - ], - 'Iannotations' => [ - 'description' => '服务提供者的备注信息。', - 'type' => 'string', - 'example' => '172.178.XX.XX', - ], - 'SerializeType' => [ - 'description' => '序列化类型。', - 'type' => 'string', - 'example' => 'hessian2', - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => '此次变更的变更流程ID。', 'type' => 'string', 'example' => '*******27-a4f4-ed2ae98de18d'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '03FD1520-0FD6-436A-****-265318D7****'], ], ], ], ], - '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' => '查询微服务提供者列表', - 'summary' => '调用GetServiceProvidersPage接口获取服务提供者列表。', + 'errorCodes' => [], + 'title' => '停止K8s应用', + 'summary' => '停止部署在容器服务K8s集群或Serverless K8s集群中的应用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListConsumedServices' => [ - 'path' => '/pop/v5/service/listConsumedServices', - 'methods' => [ - 'get', + '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' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'a66c5d1f-****-****-8c2b-6925f781b203', - ], + 'schema' => ['description' => '需要查询或者修改应用高级监控功能的应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '9e224bc6-a646-4484-****-e617b7e7****'], + ], + [ + 'name' => 'EnableAdvancedMonitoring', + 'in' => 'query', + 'schema' => ['description' => '应用高级监控的开关,可选参数如下:'."\n" + ."\n" + .'- true:打开。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'在查询应用高级监控状态时,此参数不必填写。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -21271,117 +14924,55 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'ConsumedServicesList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListConsumedServices' => [ - 'description' => '消费的服务列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DockerApplication' => [ - 'description' => '是否是Docker应用:'."\n" - .'- true: 是。'."\n" - .'- false:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Type' => [ - 'description' => '消费的服务类型。', - 'type' => 'string', - 'example' => 'HSF', - ], - 'Version' => [ - 'description' => '消费的服务版本。', - 'type' => 'string', - 'example' => '1.0', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'Group2Ip' => [ - 'description' => '保留字段。', - 'type' => 'string', - 'example' => '""', - ], - 'Name' => [ - 'description' => '消费的服务名称。', - 'type' => 'string', - 'example' => 'service', - ], - 'Ips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ip' => [ - 'type' => 'array', - 'items' => [ - 'description' => '服务订阅地址。', - 'type' => 'string', - 'example' => '102.XX.XX.23', - ], - ], - ], - ], - 'Groups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'group' => [ - 'type' => 'array', - 'items' => [ - 'description' => '消费的服务对应的组别。', - 'type' => 'string', - 'example' => '”group“', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'The advanced monitoring status is disabled already for application which app_id is 9e224bc6-a646-4484-ae31-e617b7e7****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '577AED12-32D8-40B6-991F-17D7A601****'], + 'AdvancedMonitoringEnabled' => ['description' => '应用高级监控的开关状态:'."\n" + ."\n" + .'- true:打开。'."\n" + .'- false:关闭。', 'type' => 'boolean', 'example' => 'false'], ], + 'description' => '', ], ], ], - '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' => '查询消费的服务', - 'summary' => '调用ListConsumedServices查询消费的服务。', + 'errorCodes' => [ + 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' => '打开应用高级监控失败'], + ], + ], + 'title' => '查询或启停高级监控', + 'summary' => '调用SwitchAdvancedMonitoring接口查询ECS和K8s集群中应用高级监控开关状态及控制接口。', + 'description' => '使用SwitchAdvancedMonitoring接口需要保证EDAS POP API Java or Python SDK为3.15.2及以上版本。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListPublishedServices' => [ - 'path' => '/pop/v5/service/listPublishedServices', - 'methods' => [ - 'get', + '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' => [], @@ -21389,20 +14980,17 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1fbd8b72-****-****-bdfe-478dbc914121', - ], + 'schema' => ['description' => '同步的资源类型,该参数可选的参数值为:`ecs、slb、vpc、all`其中的一个,不支持其他格式的参数值。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ecs'], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'schema' => ['description' => '指定的资源ID,仅当Type为`ecs`时支持填写此参数,如有多个ID,需要以逗号分隔,一次最多同步50个资源。', 'type' => 'string', 'required' => false, 'example' => 'i-bp17c***5q8x,i-bp1**5q8x'], ], ], 'responses' => [ @@ -21410,258 +14998,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID。', - 'type' => 'string', - 'example' => '1D6FC-4307-4583-BA6F-215F3857E****', - ], - 'PublishedServicesList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListPublishedServices' => [ - 'description' => '发布的服务列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DockerApplication' => [ - 'description' => '是否是Docker应用:'."\n" - .'- true:是。'."\n" - .'- false:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Type' => [ - 'description' => '发布的服务类型。', - 'type' => 'string', - 'example' => 'RESTful', - ], - 'Version' => [ - 'description' => '发布的服务版本。', - 'type' => 'string', - 'example' => '--', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857E****', - ], - 'Group2Ip' => [ - 'description' => '保留字段。', - 'type' => 'string', - 'example' => '""', - ], - 'Name' => [ - 'description' => '发布的服务名称。', - 'type' => 'string', - 'example' => 'providers:com.****', - ], - 'Ips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ip' => [ - 'type' => 'array', - 'items' => [ - 'description' => '服务订阅地址。', - 'type' => 'string', - 'example' => '112.XX.XX.24', - ], - ], - ], - ], - 'Groups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'group' => [ - 'type' => 'array', - 'items' => [ - 'description' => '发布的服务对应的组别。', - 'type' => 'string', - 'example' => 'DEFAULT_GROUP', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口请求返回的状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '接口请求返回的消息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '接口请求返回的数据。', 'type' => 'string', 'example' => 'PopSyncResource success'], + 'RequestId' => ['description' => '接口请求唯一标识符。', 'type' => 'string', 'example' => 'F8DFGED-K98***************'], + 'Success' => ['description' => '接口请求结果,取值如下:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + ."\n" + .'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - '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' => '查询发布的服务', - 'summary' => '调用ListPublishedServices查询发布的服务。', + 'title' => '同步阿里云基础资源到EDAS', + 'summary' => '同步用户下的阿里云基础资源到EDAS。适用于ECS集群。', + 'description' => '调用此接口同步ECS资源信息时,将从ECS同步全量的实例数据,当ECS实例数超过100时,不建议频繁调用此接口。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetServiceDetail' => [ - 'path' => '/pop/sp/api/mseForOam/getServiceDetail', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '## 注意事项'."\n" + .'该接口在实际执行中,会遇到在API接口Client程序端在连接API网关超时(默认10秒)的情况,所以,用户在使用该接口时,须手工设置调用该接口时读取POP API网关返回的数据的超时时间(推荐设置为30秒,因POP API网关到接口Server端的服务处理时间最长即为30秒)。'."\n" + ."\n" + .'- 使用Java SDK时,Client端代码中使用该接口时设置读取超时时间方法:'."\n" + .'```'."\n" + .'SynchronizeResourceRequest request = new SynchronizeResourceRequest();'."\n" + .'request.setSysReadTimeout(30000); //单位毫秒,客户端API接口程序等待POP API网关返回数据的超时时间。'."\n" + .'request.setType("ecs");'."\n" + .'........'."\n" + .'```'."\n" + ."\n" + .'- 使用Python SDK时,Client端代码中使用该接口时设置读取超时时间方法:'."\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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'TagResources' => [ + 'summary' => '调用TagResources为指定的资源统一创建并绑定标签。', + 'path' => '/pop/v5/tag/tags', + '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' => 'region', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '资源类型,取值:'."\n" + .'- **application:EDAS**应用。 '."\n" + .'- **cluster**:EDAS集群。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application'], ], [ - 'name' => 'namespace', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou:doc-test', - ], + 'schema' => ['description' => '资源ID列表, 列表的长度范围为1~20,JSON数组格式。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877"]'], ], [ - 'name' => 'origin', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '数据来源,取值如下:'."\n" - .'- agent:新版服务查询需要传递。'."\n" - .'- registry:旧版服务查询传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'agent', - ], + 'schema' => ['description' => '标签键值对。设置时,请注意以下限制:'."\n" + .'- 单个资源最多贴20个标签。'."\n" + .'- key不能以**aliyun**和**acs:**开头,不能包含**http://**或者**https://**。'."\n" + .'- key和value最大不超过128字符,仅支持英文字母、数字和短划线(-)、半角逗号(,)、星号(*)、正斜线(/)、半角问号(?)和半角冒号(:)的组合。'."\n" + .'- JSON格式字符串。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"key":"key1","value":"v1"},{"key":"key2","value":"v2"}]'], ], [ - 'name' => 'serviceType', + 'name' => 'ResourceRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '服务类型,取值如下:'."\n" - .'- dubbo'."\n" - .'- springCloud'."\n" - .'- hsf'."\n" - .'- istio', - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], + 'schema' => ['description' => '资源所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], - [ - 'name' => 'appId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'efbda488-7b33-432f-a40d-****0047****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877'], + ], + 'description' => '', ], ], - [ - 'name' => 'source', - 'in' => 'query', - 'schema' => [ - 'description' => '来源,固定值:edas。', - 'type' => 'string', - 'required' => false, - 'example' => 'edas', - ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'errorMessage' => 'The instance does not exist.', 'description' => '实例不存在'], ], - [ - 'name' => 'serviceId', - 'in' => 'query', - 'schema' => [ - 'description' => '服务ID。已废弃,无需设置。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', - ], + ], + 'title' => '为资源绑定标签', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ], + ], + 'ramActions' => [ [ - 'name' => 'serviceName', - 'in' => 'query', - 'schema' => [ - 'description' => '服务名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.alibabacloud.hipstershop.CartService', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + '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":""}]', + ], + 'TransformClusterMember' => [ + 'path' => '/pop/v5/resource/transform_cluster_member', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'serviceVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'group', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => '服务分组。', - 'type' => 'string', - 'required' => false, - 'example' => 'DUBBO', - ], + 'schema' => ['description' => '实例ID集合 ,用半角逗号(,)分割:'."\n" + .'- 实例可以不属于任何集群,但一个实例最多只能归属于一个集群。'."\n" + .'- ECS实例和目标集群需在同一个VPC内。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2ze7s2v0b789k60p****'], ], [ - 'name' => 'ip', + 'name' => 'TargetClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '服务提供者IP,支持模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => '10.20.x.xx', - ], + 'schema' => ['description' => '目标集群ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'b3e3f77b-462e-****-****-bec8727a****'], ], [ - 'name' => 'registryType', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => '注册类型。已废弃,无需设置。', - 'type' => 'string', - 'required' => false, - 'example' => 'nacos', - ], + 'schema' => ['description' => '加入目标集群的实例需要设置的登录密码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Hello****'], ], ], 'responses' => [ @@ -21670,206 +15176,80 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口请求的状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口请求返回的信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => '调用是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '数据结构体。', - 'type' => 'object', - 'properties' => [ - 'EdasAppName' => [ - 'description' => 'EDAS应用名称。', - 'type' => 'string', - 'example' => 'test123', - ], - 'DubboApplicationName' => [ - 'description' => 'Dubbo应用名称。', - 'type' => 'string', - 'example' => 'cartservice', - ], - 'Version' => [ - 'description' => '版本号。', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'RegistryType' => [ - 'description' => '注册类型。', - 'type' => 'string', - 'example' => 'agent', - ], - 'SpringApplicationName' => [ - 'description' => 'Spring应用名。', - 'type' => 'string', - 'example' => 'edas.service.consumer', - ], - 'ServiceType' => [ - 'description' => '服务类型。', - 'type' => 'string', - 'example' => 'springCloud', - ], - 'ServiceName' => [ - 'description' => '服务名。', - 'type' => 'string', - 'example' => 'edas.service.consumer', - ], - 'Metadata' => [ - 'description' => '元数据。', - 'type' => 'string', - 'example' => '{}', - ], - 'Group' => [ - 'description' => '分组。', - 'type' => 'string', - 'example' => 'dubbo', - ], - 'Methods' => [ - 'description' => '方法列表。', - 'type' => 'array', - 'items' => [ - 'description' => '方法对象。', - 'type' => 'object', - 'properties' => [ - 'ParameterDetails' => [ - 'description' => '参数详情。', - 'type' => 'string', - 'example' => '{}', - ], - 'NameDetail' => [ - 'description' => '具体名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'ParameterNames' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'ParameterDefinitions' => [ - 'description' => '参数定义。', - 'type' => 'string', - 'example' => '[{"description":"","name":"arg0","type":"java.lang.String"}]', - ], - 'Paths' => [ - 'description' => '方法路径。', - 'type' => 'string', - 'example' => '["/consumer-echo/feign/{str}"]', - ], - 'ParameterTypes' => [ - 'description' => '参数类型。', - 'type' => 'string', - 'example' => '["java.lang.String"]', - ], - 'RequestMethods' => [ - 'description' => '请求方法。', - 'type' => 'string', - 'example' => 'GET', - ], - 'ReturnDetails' => [ - 'description' => '返回详情。', - 'type' => 'string', - 'example' => 'test', - ], - 'Name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => 'feign2', - ], - 'MethodController' => [ - 'description' => 'controller列表。', - 'type' => 'string', - 'example' => 'com.aliware.edas.DemoController', - ], - 'ReturnType' => [ - 'description' => '返回类型。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'ReturnDefinition' => [ - 'description' => '返回定义。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '类型。', - 'type' => 'string', - 'example' => 'foo', - ], - 'Id' => [ - 'description' => '返回值ID。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'Data' => ['description' => '提交成功返回`Transform submit success!`。', 'type' => 'string', 'example' => 'Transform submit success!'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], ], ], ], ], - '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' => '获取服务详情', - 'summary' => '获取服务详情。', + 'errorCodes' => [], + 'title' => '导入或转移ECS实例', + 'summary' => '接口导入或转移ECS实例。', + 'description' => '## 限制说明'."\n" + .'调用该接口导入ECS实例时,会重装ECS实例的操作系统,重装后,实例中所有数据都会被删除并且需要重新设置实例登录密码。请确保您要导入的ECS实例上没有重要的数据或数据已备份。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListMethods' => [ - 'path' => '/pop/v5/service/list_methods', - 'methods' => [ - 'get', + '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' => '[{"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":""}]', + ], + 'UnbindK8sSlb' => [ + 'summary' => '调用UnbindK8sSlb解绑容器服务k8s应用的SLB。', + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['delete'], + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'be213a4a-c7e4-473b-ab0****', - ], + 'schema' => ['description' => '应用ID,可以通过调用[ListApplication](~~149390~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], [ - 'name' => 'ServiceName', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '服务名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Method', - ], + 'schema' => ['description' => '集群ID,可以通过调用[GetK8sCluster](~~181437~~)获取。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee'], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => '设置SLB的类型:'."\n" + ."\n" + .'- **internet**:公网'."\n" + ."\n" + .'- **intranet**:私网', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet'], + ], + [ + 'name' => 'SlbName', + 'in' => 'query', + 'schema' => ['description' => '负载均衡SLB实例名称。', 'type' => 'string', 'required' => false, 'example' => 'a2d4ab12666544a479cdd0711a97****'], ], ], 'responses' => [ @@ -21877,215 +15257,82 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '69AD2AA7-DB47-449B-941B-B14409DF****', - ], - 'ServiceMethodList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServiceMethod' => [ - 'description' => '返回的服务方法列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MethodName' => [ - 'description' => '方法名称。', - 'type' => 'string', - 'example' => 'echo', - ], - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'App', - ], - 'Output' => [ - 'description' => '方法返回类型。', - 'type' => 'string', - 'example' => 'java.lang.string', - ], - 'ServiceName' => [ - 'description' => '服务名称。', - 'type' => 'string', - 'example' => 'com.alibaba.edas.demo.EchoService', - ], - 'ParamTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ParamType' => [ - 'description' => '方法入参类型列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'example' => 'string', - ], - ], - ], - ], - 'InputParams' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InputParam' => [ - 'description' => '方法入参列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'b0a8441e-****-4e8e-9874-b56dea02952f'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1234-1sda-321d-1234'], ], + 'description' => '', ], ], ], - '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' => '查询服务方法列表', - 'summary' => '调用ListMethods接口查询服务方法列表。', + 'title' => '解绑容器服务 k8s 应用的 SLB', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListServiceGroups' => [ - 'summary' => '调用ListServiceGroups查询HSF应用的服务分组列表。', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:38:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:38:18.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindK8sSlb'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'ServiceGroupsList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListServiceGroups' => [ - 'description' => '服务分组列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GroupId' => [ - 'description' => '服务分组ID', - 'type' => 'string', - 'example' => '789d9cda-74b1-****-****-05e21a0a7661', - ], - 'GroupName' => [ - 'description' => '服务分组名称', - 'type' => 'string', - 'example' => 'edas-test-group', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳', - 'type' => 'string', - 'example' => '1575357165770', - ], - ], - ], - ], - ], - ], + '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\\": \\"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' => '查询服务分组列表', - 'requestParamsDescription' => ' 无请求参数。', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'InsertServiceGroup' => [ - 'summary' => '调用InsertServiceGroup创建服务分组。', - 'path' => '/pop/v5/service/serviceGroups', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UnbindSlb' => [ + 'summary' => '调用UnbindSlb接口解除绑定SLB。', + 'path' => '/pop/app/unbind_slb_json', + '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' => '创建服务分组', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'edas-test-group', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d-********************'], + ], + [ + 'name' => 'SlbId', + 'in' => 'query', + 'schema' => ['description' => 'SLB实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-wz9vo49****************'], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'SLB网络类型:'."\n" + ."\n" + .'- **internet**:外网实例。'."\n" + ."\n" + .'- **intranet**:内网实例。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'internet'], + ], + [ + 'name' => 'DeleteListener', + 'in' => 'query', + 'schema' => ['description' => '是否删除监听:'."\n" + .'* true: 删除。'."\n" + .'* false:不删除。', 'type' => 'string', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -22093,42 +15340,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Code码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '唯一请求ID', - 'type' => 'string', - 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'Unbind slb success'], + 'Data' => ['description' => '空值,无实际含义。', 'type' => 'string', 'example' => '{}'], + 'RequestId' => ['description' => '请求唯一ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-************'], ], + 'description' => '', ], ], ], - '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' => '创建服务分组', + 'errorCodes' => [], + 'title' => '解除绑定SLB', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateK8sIngressRule' => [ - 'summary' => '调用CreateK8sIngressRule接口创建应用路由规则。', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindSlb'], + ], ], - '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\\": \\"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":""}]', + ], + 'UntagResources' => [ + 'summary' => '调用UntagResources接口为指定的资源列表统一解绑标签。', + 'path' => '/pop/v5/tag/tags', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22136,159 +15387,90 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', + 'name' => 'ResourceRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => '资源所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing'], ], [ - 'name' => 'Name', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '路由规则名称。只能为小写字母、数字和短划线(-),必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-ingress-rule', - ], + 'schema' => ['description' => '资源类型,取值:'."\n" + .'- **application**:EDAS应用。 '."\n" + .'- **cluster**:EDAS集群。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'application'], ], [ - 'name' => 'IngressConf', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'JSON对象字符串表示的应用路由规则,格式如下所示:'."\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" - .'代码字段解释如下:'."\n" - ."\n" - .'- rules:路由规则列表。'."\n" - ."\n" - .'- host:路由规则域名。'."\n" - ."\n" - .'- secretName:TLS证书类型的Secret,当需要支持HTTPS协议时需要配置该证书。'."\n" - ."\n" - .'- paths:匹配路径列表。'."\n" - ."\n" - .'- path:匹配路径。'."\n" - ."\n" - .'- backend:后端服务,支持配置由EDAS控制台创建的Service。'."\n" - ."\n" - .'- serviceName:后端服务名称。'."\n" - ."\n" - .'- servicePort:后端服务端口。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', - ], + 'schema' => ['description' => '资源ID列表,列表范围为1~20。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["f5ad6ff7-xxxx-xxxx-xxxx-2axxxx82xxxx"]'], ], [ - 'name' => 'Annotations', + 'name' => 'TagKeys', 'in' => 'query', - 'schema' => [ - 'description' => '注解。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"alb.ingress.kubernetes.io/rewrite-target\\":\\"/consumer-echo/test\\"}', - ], + 'schema' => ['description' => '要解绑的标签键列表,列表的取值范围1~20,json数组格式。', 'type' => 'string', 'required' => false, 'example' => '["tagKey1","tagKey2"]'], ], [ - 'name' => 'Labels', + 'name' => 'DeleteAll', 'in' => 'query', - 'schema' => [ - 'description' => '标签。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"test-labels\\":\\"test-value\\"}', - ], + 'schema' => ['description' => '是否删除选定资源下所有的用户标签,默认为false。'."\n" + ."\n" + .'- **true**:删除资源的标签。'."\n" + ."\n" + .'- **false**:不删除资源的标签。'."\n" + ."\n" + .'> 仅当**tagKeys**为空,**deleteAll=true**时,才可以删除所有的客户标签。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => '000e5836-xxxx-xxxx-xxxx-0d6ab2ac4877'], ], + 'description' => '', ], ], ], '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' => '实例不存在'], ], ], - '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' => '创建应用路由规则', + 'title' => '删除资源标签', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteK8sIngressRule' => [ - 'summary' => '调用DeleteK8sIngressRule接口删除应用路由规则。', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'delete', + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'UpdateAccountInfo' => [ + 'summary' => '编辑账号信息。', + 'path' => '/pop/v5/account/edit_account_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22296,44 +15478,22 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], + 'schema' => ['description' => '账号名称', 'type' => 'string', 'required' => false, 'example' => 'edas-test'], ], [ - 'name' => 'Namespace', + 'name' => 'Telephone', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => '联系方式', 'type' => 'string', 'required' => false, 'example' => '1321234****'], ], [ - 'name' => 'Name', + 'name' => 'Email', 'in' => 'query', - 'schema' => [ - 'description' => '路由规则名称。只能为小写字母、数字和短划线(-)必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-ingress-rule', - ], + 'schema' => ['description' => '电子邮箱地址', 'type' => 'string', 'required' => false, 'example' => '1321234****@alibaba-inc.com'], ], ], 'responses' => [ @@ -22341,46 +15501,47 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'edit successfully'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'ECD1D6FC-4307-4583-BA6F-215F3857EAF4'], ], + 'description' => '', ], ], ], - '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' => '删除应用路由规则', + 'title' => '编辑账号信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateK8sIngressRule' => [ - 'summary' => '更新应用路由规则。', - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2022-09-14T05:51:32.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T05:51:32.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + '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":""}]', + ], + 'UpdateApplicationBaseInfo' => [ + 'summary' => '描述信息、Owner信息。', + 'path' => '/pop/v5/app/update_app_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22388,428 +15549,280 @@ ], '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' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Namespace', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c627c157-560d-43ff-****-************'], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '路由规则名称。只能为小写字母、数字和短划线(-),必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-ingress-rule', - ], - ], - [ - 'name' => 'IngressConf', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'JSON对象字符串表示的应用路由规则,格式如下所示:'."\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" - .'代码字段解释如下:'."\n" - .'- rules:路由规则列表。'."\n" - .'- host:路由规则域名。'."\n" - .'- secretName:TLS证书类型的Secret,当需要支持HTTPS协议时需要配置该证书。'."\n" - .'- paths:匹配路径列表。'."\n" - .'- path:匹配路径。'."\n" - .'- backend:后端服务,支持配置由EDAS控制台创建的Service。'."\n" - .'- serviceName:后端服务名称。'."\n" - .'- servicePort:后端服务端口。', - 'type' => 'string', - 'required' => false, - 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}', - ], + 'schema' => ['description' => '应用名称必须以字母开头,允许数字、字母、下划线(_)以及短划线(-)组合,最多支持36个字符。', 'type' => 'string', 'required' => false, 'example' => 'hello-edas'], ], [ - 'name' => 'Annotations', + 'name' => 'Desc', 'in' => 'query', - 'schema' => [ - 'description' => '注解。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"nginx.ingress.kubernetes.io/ssl-redirect\\":\\"true\\",\\"nginx.ingress.kubernetes.io/configuration-snippet\\":\\"set $test value\\"}', - ], + 'schema' => ['description' => '描述信息,最多支持256个字符。', 'type' => 'string', 'required' => false, 'example' => 'Test application'], ], [ - 'name' => 'Labels', + 'name' => 'Owner', 'in' => 'query', - 'schema' => [ - 'description' => '标签。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"test-label\\":\\"test-label-value\\"}', - ], + 'schema' => ['description' => '应用负责人,最大长度为127个字符。', 'type' => 'string', 'required' => false, 'example' => 'test@aliyun_xxx.com'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', + 'Code' => ['description' => 'code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-**************'], + 'Applcation' => [ + 'description' => '应用列表。', + 'type' => 'object', + 'properties' => [ + 'ExtSlbIp' => ['description' => '公网SLB实例的IP。', 'type' => 'string', 'example' => '39.97.XX.XX'], + 'Owner' => ['description' => '应用负责人。', 'type' => 'string', 'example' => 'test@aliyun_XXX.com'], + 'SlbPort' => ['description' => '私网SLB端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ExtSlbName' => ['description' => '公网SLB名称。', 'type' => 'string', 'example' => 'test'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1577259573911'], + 'UserId' => ['description' => '云账号ID。', 'type' => 'string', 'example' => 'edas_com***@****.***'], + 'Port' => ['description' => '应用所占用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'RunningInstanceCount' => ['description' => '正在运行的应用实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SlbIp' => ['description' => '私网SLB IP。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'Dockerize' => ['description' => '是否为Docker应用。', 'type' => 'boolean', 'example' => 'false'], + 'Description' => ['description' => '应用描述。', 'type' => 'string', 'example' => 'test'], + 'InstanceCount' => ['description' => '包含实例数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'c627c157-560d-43ff-****-************'], + 'Memory' => ['description' => '配置的应用实例内存大小,单位为M。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Name' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test'], + 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'd7730a49-629a-47bd-****-f45eb01f****'], + 'SlbId' => ['description' => '私网SLB实例的ID。', 'type' => 'string', 'example' => 'a3d4*******'], + 'HealthCheckUrl' => ['description' => '健康检查URL。', 'type' => 'string', 'example' => 'http://127.0.XX.XX:8080/_etc.html'], + 'ApplicationType' => ['description' => '应用部署类型:'."\n" + .'- War代表WAR包部署。'."\n" + .'- FatJar代表JAR包部署。'."\n" + .'- Image代表镜像部署。'."\n" + .'- 空代表未部署。', 'type' => 'string', 'example' => 'FatJar'], + 'ExtSlbId' => ['description' => '公网SLB实例的ID。', 'type' => 'string', 'example' => 'ace93*******'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing:****'], + 'BuildPackageId' => ['description' => '容器版本ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '58'], + 'Cpu' => ['description' => 'CPU核数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ClusterType' => ['description' => '应用集群环境类型:'."\n" + .'- 0:普通Docker集群。'."\n" + .'- 1:Swarm集群。'."\n" + .'- 2:ECS集群。'."\n" + .'- 3:EDAS自带K8s集群。'."\n" + .'- 4:Pandora自动注册应用集群类型。'."\n" + .'- 5:容器服务K8s集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'SlbName' => ['description' => '私网SLB名称。', 'type' => 'string', 'example' => 'test'], + ], ], ], + 'description' => '', ], ], ], - '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}","errorExample":""},{"type":"xml","example":"<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - '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' => '修改应用名称', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sIngressRules' => [ - 'path' => '/pop/v5/k8s/acs/k8s_ingress', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationBaseInfo'], + ], ], - '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}'], + ], + ], + ], ], + ], + 'UpdateApplicationScalingRule' => [ + 'summary' => '调用UpdateApplicationScalingRule接口更新应用的弹性伸缩规则。', + 'path' => '/pop/v1/eam/scale/application_scaling_rule', + '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' => 'RegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => false, 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], ], [ - 'name' => 'ClusterId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx', - ], + 'schema' => ['description' => '弹性伸缩策略的名称。', 'type' => 'string', 'required' => false, 'example' => 'cpu-trigger'], ], [ - 'name' => 'Namespace', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '弹性策略类型,当前仅支持以下类型:'."\n" + .'* trigger:触发器类型。', 'type' => 'string', 'required' => false, 'example' => 'trigger'], ], [ - 'name' => 'Condition', + 'name' => 'ScalingRuleEnable', 'in' => 'query', - 'schema' => [ - 'description' => '过滤条件,JSON类型,格式为{"field":"Name", "pattern":"my-"},其中:'."\n" - ."\n" - .'- field:需要匹配的字段,支持Name和ClusterName。'."\n" - ."\n" - .'- pattern:匹配内容。'."\n" - ."\n" - .'以{"field":"Name", "pattern":"my-"}这条过滤条件为例,该条过滤规则会匹配名称为“my-”开头的路由规则。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"field":"Name", "pattern":"my-"}', - ], + 'schema' => ['description' => '弹性策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'ScalingRuleMetric', + 'in' => 'query', + 'schema' => ['description' => '此参数已废弃。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'ScalingRuleTimer', + 'in' => 'query', + 'schema' => ['description' => '此参数已废弃。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'ScalingRuleTrigger', + 'in' => 'query', + 'schema' => ['description' => '触发器策略,为ScalingRuleTriggerDTO的JSON格式,具体样式,请参见请求参数补充说明。', 'type' => 'string', 'required' => false, 'example' => 'ScalingRuleTriggerDTO{......}'], + ], + [ + 'name' => 'ScalingBehaviour', + 'in' => 'query', + 'schema' => ['description' => '配置自定义弹性行为,具体数据结构参考样例。', '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}]}}'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '5C1C9DE7-88FF-4B56-A47B-3DBBCEB******', - ], - 'Data' => [ - 'description' => '接口响应数据。', - 'type' => 'array', - 'items' => [ - 'description' => '接口响应数据对象。', - 'type' => 'object', - 'properties' => [ - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'my-dev-cluster', - ], - 'ClusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => '5b2b4ab4-efbc-4a81-9c45-a5942881****', + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求唯一表示ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a'], + 'AppScalingRule' => [ + 'description' => '弹性伸缩策略。', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => '更新弹性伸缩策略的时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'CreateTime' => ['description' => '创建弹性伸缩策略的时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'AppId' => ['description' => '弹性伸缩策略所属应用的应用ID。', 'type' => 'string', 'example' => '78194c76-3dca-418e-a263-cccd1ab4****'], + 'LastDisableTime' => ['description' => '弹性伸缩策略最近一次被禁用的时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1574251601785'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleEnabled' => ['description' => '弹性伸缩策略的启用状态。'."\n" + ."\n" + .'- **true**:启用'."\n" + ."\n" + .'- **false**:禁用', 'type' => 'boolean', 'example' => 'true'], + 'ScaleRuleType' => ['description' => '弹性伸缩策略类型,仅支持trigger类型。', 'type' => 'string', 'example' => 'trigger'], + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleRuleName' => ['description' => '弹性伸缩的策略名称。', 'type' => 'string', 'example' => 'cpu-trigger'], + 'Metric' => [ + 'description' => '此参数已废弃。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Metrics' => [ + 'description' => '此参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => '此参数已废弃。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MetricType' => ['description' => '此参数已废弃。', 'type' => 'string', 'example' => 'cpu'], + ], + 'description' => '', + ], + ], ], - 'RegionId' => [ - 'description' => '阿里云地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', + ], + 'Trigger' => [ + 'description' => '触发器配置列表。', + 'type' => 'object', + 'properties' => [ + 'MinReplicas' => ['description' => '最小副本数,不能低于0。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxReplicas' => ['description' => '最大副本数,不能超过1000。', 'type' => 'integer', 'format' => 'int32', 'example' => '122'], + 'Triggers' => [ + 'description' => '触发器配置列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '触发器类型,只支持cron和app_metric。', 'type' => 'string', 'example' => 'cron'], + 'MetaData' => ['description' => '触发器元信息。', 'type' => 'string', 'example' => '{"dryRun":true}'], + 'Name' => ['description' => '触发器名称。', 'type' => 'string', 'example' => 'cpu'], + ], + 'description' => '', + ], + ], ], - 'IngressConfs' => [ - 'description' => '应用路由列表。', - 'type' => 'array', - 'items' => [ - 'description' => '应用路由列表对象。', + ], + 'Behaviour' => [ + 'description' => '弹性行为配置。', + 'type' => 'object', + 'properties' => [ + 'ScaleUp' => [ + 'description' => '弹性扩容行为配置。', 'type' => 'object', 'properties' => [ - 'CreationTime' => [ - 'description' => '应用路由创建时间。', - 'type' => 'string', - 'example' => '2021-04-27 20:16:52', - ], - 'SslRedirect' => [ - 'description' => '是否启用SSL重定向:'."\n" - .'- true:启用。'."\n" - .'- false:关闭。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Endpoint' => [ - 'description' => '应用路由入口IP地址。', - 'type' => 'string', - 'example' => '47.11x.xx.xx', - ], - 'Namespace' => [ - 'description' => '应用路由所属K8s命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'Name' => [ - 'description' => '应用路由名称。', - 'type' => 'string', - 'example' => 'my-ingress', - ], - 'DashboardUrl' => [ - 'description' => '应用路由监控URL。', - 'type' => 'string', - 'example' => 'http://grafana.console.aliyun.com/d/10xxxx/ingress', - ], - 'Rules' => [ - 'description' => '应用路由规则列表。', + 'StabilizationWindowSeconds' => ['description' => '扩容冷却时间。取值范围\\[0, 3600\\],单位为秒。默认为0秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'SelectPolicy' => ['description' => '弹性扩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', 'type' => 'array', 'items' => [ - 'description' => '应用路由规则对象。', 'type' => 'object', 'properties' => [ - 'SecretName' => [ - 'description' => '保存TLS证书的Secret名称。', - 'type' => 'string', - 'example' => 'my-secret', - ], - 'Host' => [ - 'description' => '应用路由域名。', - 'type' => 'string', - 'example' => 'example.com', - ], - 'Paths' => [ - 'description' => '应用路由匹配路径列表。', - 'type' => 'array', - 'items' => [ - 'description' => '应用路由匹配路径对象。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '应用路由状态,支持以下状态:'."\n" - ."\n" - .'- **Normal**:状态正常。'."\n" - ."\n" - .'- **ServiceNotFound**:后端Service不存在。'."\n" - ."\n" - .'- **InvalidServicePort**:无效服务端口。'."\n" - ."\n" - .'- **NotManagedService**:非EDAS管控Service。'."\n" - ."\n" - .'- **Unknown**:未知错误。', - 'type' => 'string', - 'example' => 'Normal', - ], - 'Path' => [ - 'description' => '匹配路径。', - 'type' => 'string', - 'example' => '/foo/bar', - ], - 'AppName' => [ - 'description' => 'EDAS应用名称。', - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => 'EDAS应用ID。', - 'type' => 'string', - 'example' => '43d30ba5-c568-460c-8080-d447ed1a****', - ], - 'Backend' => [ - 'description' => '后端服务配置。', - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => '后端服务名称。', - 'type' => 'string', - 'example' => 'http-service', - ], - 'ServicePort' => [ - 'description' => '后端服务端口。', - 'type' => 'string', - 'example' => '8080', - ], - ], - ], - 'CollectRate' => [ - 'description' => '基于EDAS为网关注入TraceId支持调用链路查询能力,设置匹配该条规则流量的采样率。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'PathType' => [ - 'description' => '路径匹配类型:'."\n" - .'- ImplementationSpecific:默认。'."\n" - .'- Exact:完整匹配。'."\n" - .'- Prefix:前缀匹配。', - 'type' => 'string', - 'example' => 'ImplementationSpecific', - ], - ], - ], - ], - 'EnableTls' => [ - 'description' => '是否启用TLS:'."\n" - .'- true:启用。'."\n" - .'- false:不启用。', - 'type' => 'boolean', - 'example' => 'false', - ], + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], ], + 'description' => '', ], ], - 'AlbId' => [ - 'description' => '应用型负载均衡ALB实例ID。', - 'type' => 'string', - 'example' => 'alb-5sde0tq62r********', - ], - 'IngressType' => [ - 'description' => '应用路由类型:'."\n" - .'- **NginxIngress**:使用nginx应用路由控制器。'."\n" - .'- **AlbIngress**:使用ALB应用路由控制器。'."\n" - ."\n" - .'默认使用NginxIngress。', - 'type' => 'string', - 'example' => 'NginxIngress', - ], - 'OfficalBasicUrl' => [ - 'description' => '社区版本基础监控地址。', - 'type' => 'string', - 'example' => 'https://g.console.aliyun.com/d/xxxxxx/nginx-ingress-dashboard-official', - ], - 'OfficalRequestUrl' => [ - 'description' => '社区版本请求性能监控地址。', - 'type' => 'string', - 'example' => 'https://g.console.aliyun.com/d/xxxxxx/request-handling-performance-official', - ], - 'MseGatewayId' => [ - 'description' => 'MSE网关实例ID。', - 'type' => 'string', - 'example' => 'gw-xxxxxxxx', - ], - 'MseGatewayName' => [ - 'description' => 'MSE网关实例名称。', - 'type' => 'string', - 'example' => 'gw-test-name', - ], - 'Annotations' => [ - 'description' => '注解。', - 'type' => 'string', - 'example' => '{"test-annotation":"test-annotation-value"}', - ], - 'Labels' => [ - 'description' => '标签。', - 'type' => 'string', - 'example' => '{"test-label": "test-labels"}', + ], + ], + 'ScaleDown' => [ + 'description' => '弹性缩容行为配置。', + 'type' => 'object', + 'properties' => [ + 'StabilizationWindowSeconds' => ['description' => '缩容冷却时间。取值范围\\[0, 3600\\],单位为秒。默认为300秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'SelectPolicy' => ['description' => '弹性缩容步长策略,可选值Max、Min、Disable。', 'type' => 'string', 'example' => 'Max'], + 'Policies' => [ + 'description' => '策略配置。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodSeconds' => ['description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'Type' => ['description' => '策略类型,可为Pods或Percent。', 'type' => 'string', 'example' => 'Pods'], + 'Value' => ['description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', 'type' => 'string', 'example' => '10'], + ], + 'description' => '', + ], ], ], ], @@ -22818,35 +15831,99 @@ ], ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => '更新应用的弹性伸缩规则', + 'requestParamsDescription' => '## 请求参数补充说明'."\n" + .'```'."\n" + .'public class ScalingRuleTriggerDTO {'."\n" + .' /**'."\n" + .' * 最大实例数,上限1000。'."\n" + .' */'."\n" + .' Integer maxReplicas;'."\n" + .' /**'."\n" + .' * 最小实例数,下限0。'."\n" + .' */'."\n" + .' Integer minReplicas;'."\n" + ."\n" + .' /**'."\n" + .' * 触发器列表,支持多个触发器。'."\n" + .' */'."\n" + .' List<Trigger> triggers;'."\n" + ."\n" + .' @Data'."\n" + .' @ToString'."\n" + .' @Builder'."\n" + .' @AllArgsConstructor'."\n" + .' @NoArgsConstructor'."\n" + .' public static class Trigger {'."\n" + .' /**'."\n" + .' * 触发器类型,支持cron(定时), app_metric(应用监控)。'."\n" + .' */'."\n" + .' String type;'."\n" + ."\n" + .' /**'."\n" + .' * 触发器名称,必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。'."\n" + .' */'."\n" + .' String name;'."\n" + ."\n" + .' /**'."\n" + .' 触发器元数据,string->string的map Json,不同类型的触发器支持的元数据不同。'."\n" + .' 1. cron'."\n" + .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" + .' * period周期:daily, weekly, monthly。'."\n" + .' * dryRun: false是观测并扩缩,true是仅观测。'."\n" + .' * timerInDay:描述每天的扩缩周期,指在什么时候开始维持多少副本数。'."\n" + .' * timerInWeek:cron表达式的周,比如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(qps)'."\n" + .' * arms_appstat.incall_rt(rt)'."\n" + .' * arms_appstat.system_CPU(cpu使用率)'."\n" + .' * arms_appstat.system_MEM(内存使用率)'."\n" + .' * dryRun同cron。'."\n" + .' * targetValAvg:true为需要进行平均,false为不需要平均, 除了qps为true,其他均为false。'."\n" + .' * targetAverageValue/targetValue: targetValAvg为true则为targetAverageValue,targetValAvg为false则为targetValue。'."\n" + .' */'."\n" + .' String metadata;'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-01-03T03:43:53.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-01-03T03:15:48.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ], + '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' => '[{"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' => '获取应用路由列表', - 'summary' => '获取应用路由列表。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'CreateConfigTemplate' => [ - 'summary' => '调用CreateConfigTemplate接口创建配置模板。'."\n" + 'UpdateConfigTemplate' => [ + 'summary' => '调用UpdateConfigTemplate接口更新配置模板。'."\n" .'。', 'path' => '/pop/v5/config_template', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22854,63 +15931,42 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => ['title' => '配置模板ID', 'description' => '配置模板ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123'], + ], + [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => '配置模板名称,不限字符类型,最长不超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'my-template', - ], + 'schema' => ['title' => '配置模板名称', 'description' => '配置模板名称,不限字符类型,最长不超过64个字符。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'configtmpl1'], ], [ 'name' => 'Format', 'in' => 'formData', - 'schema' => [ - 'title' => '模板数据格式', - 'description' => '模板数据格式,支持以下格式:'."\n" - ."\n" - .'- JSON:JSON格式;'."\n" - .'- XML:XML格式;'."\n" - .'- YAML:YAML格式;'."\n" - .'- Properties:Properties格式;'."\n" - .'- KeyValue:键值对;'."\n" - .'- Custom:自定义格式。', - 'type' => 'string', - 'required' => false, - 'example' => 'JSON', - ], + 'schema' => ['title' => '模板数据格式', 'description' => '模板数据格式,支持以下格式:'."\n" + ."\n" + .'- JSON:JSON格式;'."\n" + .'- XML:XML格式;'."\n" + .'- YAML:YAML格式;'."\n" + .'- Properties:Properties格式;'."\n" + .'- KeyValue:键值对;'."\n" + .'- Custom:自定义格式。', 'type' => 'string', 'required' => false, 'example' => 'JSON'], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'title' => '模板描述', - 'description' => '模板描述,不限字符类型,最长不超过255个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '我的配置模板', - ], + 'schema' => ['title' => '模板描述', 'description' => '模板描述,不限字符类型,最长不超过255个字符。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'Test configuration template'], ], [ 'name' => 'Content', 'in' => 'formData', - 'schema' => [ - 'title' => '模板内容', - 'description' => '模板内容,需要与Format标注的格式相匹配。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'schema' => ['title' => '模板内容', 'description' => '模板内容,需要与Format标注的格式相匹配。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => '{"name":"william","age":18}'], ], ], 'responses' => [ @@ -22920,64 +15976,48 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'title' => '响应数据', - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'title' => '模板ID', - 'description' => '模板ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '125122', - ], - ], - ], + 'RequestId' => ['title' => '请求ID', 'description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-*************'], + 'Code' => ['title' => '响应码', 'description' => '接口状态或POP错误码。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['title' => '响应码文本描述', 'description' => '附加信息。'."\n" + ."\n", 'type' => 'string', 'example' => 'success'], ], ], ], ], '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 \\"Data\\": {\\n \\"Id\\": 125122\\n }\\n}","type":"json"}]', - 'title' => '创建配置模板', - ], - 'CreateK8sConfigMap' => [ - 'summary' => '调用CreateK8sConfigMap接口创建K8s配置项。', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D16979DC-4D42-*************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '更新配置模板', + 'changeSet' => [ + ['createdAt' => '2022-01-13T07:39:34.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateConfigTemplate'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UpdateConfigTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateContainer' => [ + 'path' => '/pop/v5/changeorder/co_update_container', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22985,332 +16025,245 @@ ], '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' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'b07c8192-****-adf4f7447720', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'e83acea6-****-47e1-96ae-c0e953772cdc'], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => '配置项数据, 为JSON数组字符串。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'BuildPackId', + 'in' => 'query', + 'schema' => ['description' => 'EDAS-Container的构建包ID。可以在容器版本说明文档的表格中获取对应版本的构建包ID,更多信息,请参见[容器版本说明](~~92614~~)。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '59'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-**************', - ], + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'eb1b9862-****-476f-9e78-d6aa0842835a'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323******'], ], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'errorCodes' => [], + 'title' => '更新HSF应用的EDAS-Container版本', + 'summary' => '调用UpdateContainer接口更新HSF应用的EDAS-Container版本。EDAS-Container包含Ali-Tomcat和Pandora。', + '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\\": \\"D16979DC-4D42-**************\\"\\n}","type":"json"}]', - 'title' => '创建K8s配置项', + '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":""}]', ], - 'CreateK8sSecret' => [ - 'summary' => '调用CreateK8sSecret接口创建K8s保密配置。', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateContainerConfiguration' => [ + 'summary' => '调用UpdateContainerConfiguration接口设置ECS集群中应用或应用分组的Tomcat。', + 'path' => '/pop/v5/app/container_config', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], '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' => '集群ID', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '712082c3-****-****-9217-a947b5cde6ee', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-secret', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-43ff-************'], ], [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => '分组ID。'."\n" + .'- 如果ID不为空,则设置指定应用分组的Tomcat。'."\n" + .'- 如果ID为“”,则设置应用的Tomcat。', 'type' => 'string', 'required' => false, 'example' => '8123db90-880f-**************'], ], [ - 'name' => 'Type', - 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置类型,支持以下两种类型:'."\n" - ."\n" - .'- Opaque:用户自定义数据类型'."\n" - ."\n" - .'- kubernetes.io/tls:TLS证书类型', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Opaque', - ], + 'name' => 'ContextPath', + 'in' => 'query', + 'schema' => ['description' => 'Tomcat的ContextPath,支持空字符串、null-war包名称、ROOT-根目录或其他非空自定义字符串。'."\n" + .'支持英文字母、数字、 短划线(-)和下划线(_)。'."\n" + .'- 应用分组不设置该参数,则使用应用配置。'."\n" + .'- 应用不设置该参数,则使用根目录`/`。', 'type' => 'string', 'required' => false, 'example' => '/'], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置数据,使用JSON数组表示,数组对象包括以下内容:'."\n" - .'- Key:保密配置键'."\n" - .'- Value:保密配置值', - 'type' => 'string', - 'required' => false, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'HttpPort', + 'in' => 'query', + 'schema' => ['description' => '应用端口。'."\n" + .'- 应用分组不设置该参数,则使用应用配置。'."\n" + .'- 应用不设置该参数,则使用默认值8080。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], ], [ - 'name' => 'CertId', - 'in' => 'formData', - 'schema' => [ - 'description' => '阿里云证书服务的证书ID。', - 'type' => 'string', - 'required' => false, - 'example' => '6651483', - ], + 'name' => 'MaxThreads', + 'in' => 'query', + 'schema' => ['description' => '最大线程数。'."\n" + .'- 应用分组不设置该参数,则使用应用配置。'."\n" + .'- 应用不设置该参数,使用默认值250。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ - 'name' => 'CertRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '证书所属的区域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'URIEncoding', + 'in' => 'query', + 'schema' => ['description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。'."\n" + .'- 应用分组不设置该参数,则使用应用配置。'."\n" + .'- 应用不设置该参数,则使用Tomcat默认值。', 'type' => 'string', 'required' => false, 'example' => 'ISO-8859-1'], ], [ - 'name' => 'Base64Encoded', - 'in' => 'formData', - 'schema' => [ - 'description' => '数据是否进过base64编码,true - 已编码, false - 未编码。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'UseBodyEncoding', + 'in' => 'query', + 'schema' => ['description' => 'useBodyEncodingForURI是否启用。'."\n" + .'- 应用分组不设置该参数,则使用应用配置。'."\n" + .'- 应用不设置该参数,则使用默认值false。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-***************'], + 'ContainerConfiguration' => [ + 'description' => '容器配置信息。', + 'type' => 'object', + 'properties' => [ + 'HttpPort' => ['description' => '应用端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'ContextPath' => ['description' => 'Tomcat的ContextPath。', 'type' => 'string', 'example' => '/'], + 'UseBodyEncoding' => ['description' => 'useBodyEncodingForURI是否启用。', 'type' => 'boolean', 'example' => 'true'], + 'MaxThreads' => ['description' => '最大线程数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'URIEncoding' => ['description' => 'URI编码方式,支持ISO-8859-1、GBK、GB2312和UTF-8。', 'type' => 'string', 'example' => 'ISO-8859-1'], + ], ], ], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => '设置应用下的分组设置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T08:04:11.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T08:04:11.000Z', 'description' => '错误码发生变更'], + ], + '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 \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4D9F-DR94-FD****************\\"\\n}","type":"json"}]', - 'title' => '创建K8s保密配置', + '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":""}]', ], - 'DeleteConfigTemplate' => [ - 'summary' => '调用DeleteConfigTemplate接口删除配置模板。', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateHealthCheckUrl' => [ + 'path' => '/pop/v5/app/modify_hc_url', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => '配置模板ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '555', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-43ff-***************'], + ], + [ + 'name' => 'hcURL', + 'in' => 'query', + 'schema' => ['description' => '健康检查URL,需要以`http://`开头,最大长度不超过255字符,例如:`http://127.0.0.1:8080/_ehc.html`。不传该参数,可不修改应用检查URL。', 'type' => 'string', 'required' => false, 'example' => 'http://127.0.0.1:8080/_ehc.html'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'code码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'D16979DC-4D42-*****************'], + 'HealthCheckURL' => ['description' => '健康检查URL', 'type' => 'string', 'example' => 'http://127.0.0.1:8080/_ehc.html'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message ', - 'errorMessage' => 'You are not authorized to perform the operation. ', + 'title' => '设置健康检查 URL', + 'summary' => '调用UpdateHealthCheckUrl来设置健康检查URL。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-14T09:28:45.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateHealthCheckUrl'], + ], + ], + '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\\": \\"D16979DC-4D42-************\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除配置模板', + '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":""}]', ], - 'DeleteK8sConfigMap' => [ - 'summary' => '调用DeleteK8sConfigMap接口删除K8s配置项。', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateHookConfiguration' => [ + 'summary' => '调用UpdateHookConfiguration来为应用或分组设置挂载脚本。', + 'path' => '/pop/app/config_app_hook_json', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23318,44 +16271,23 @@ ], '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' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '51e37e91-6403-423a-9913-f236aa7a6a50', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd498****-1dd8ec229862'], ], [ - 'name' => 'Namespace', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => '分组ID', 'type' => 'string', 'required' => false, 'example' => 'd498****-1dd8ec229862'], ], [ - 'name' => 'Name', + 'name' => 'Hooks', 'in' => 'query', - 'schema' => [ - 'description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'schema' => ['description' => '挂载脚本配置,为一段JSON格式文本,如:'."\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' => true, 'docRequired' => true, 'example' => '[{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}]'], ], ], 'responses' => [ @@ -23363,92 +16295,116 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-************', + 'Code' => ['description' => '响应码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'd498****-1dd8ec229862'], + 'HooksConfiguration' => [ + 'description' => '挂载脚本配置', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IgnoreFail' => ['description' => '是否忽略失败,取值如下:'."\n" + ."\n" + .'- **true**:忽略失败'."\n" + ."\n" + .'- **false**:不忽略失败', 'type' => 'boolean', 'example' => 'true'], + 'Name' => ['description' => '挂载脚本名', 'type' => 'string', 'example' => 'postprepareInstanceEnvironmentOnScaleOut'], + 'Script' => ['description' => '挂载脚本内容', 'type' => 'string', 'example' => 'ls'], + ], + 'description' => '', + ], ], ], + 'description' => '', ], ], ], '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 \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-************\\"\\n}","type":"json"}]', - 'title' => '删除K8s配置项', - ], - 'DeleteK8sSecret' => [ - 'summary' => '调用DeleteK8sSecret接口删除K8s保密配置。', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'delete', + 'title' => '为应用或分组设置挂载脚本', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + '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' => '[{"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":""}]', + ], + 'UpdateJvmConfiguration' => [ + 'summary' => '调用UpdateJvmConfiguration来配置应用或应用分组的JVM。', + 'path' => '/pop/v5/app/app_jvm_config', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], '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' => '集群ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2b3a1013-31c7-433b-8fe7-3895d838b824', - ], + 'schema' => ['description' => '应用ID', 'type' => 'string', 'required' => true, 'example' => 'c627c157-560d-*************'], ], [ - 'name' => 'Name', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-secret', - ], + 'schema' => ['description' => '分组ID,您可调用[ListDeployGroup](~~62077~~)来查询。'."\n" + ."\n" + .'> - 如果ID不为空,设置分组信息。'."\n" + .'- ID为空,则设置应用的配置信息。'."\n", 'type' => 'string', 'required' => false, 'example' => '0afc726e-077e-4357-98b2-db9f7145****'], ], [ - 'name' => 'Namespace', + 'name' => 'Options', 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => '自定义参数:'."\n" + ."\n" + .'> - 分组配置不设置该参数,使用应用配置。'."\n" + .'- 应用配置不设置该参数,使用默认值。', 'type' => 'string', 'required' => false, 'example' => '-Dproperty=value'], + ], + [ + 'name' => 'MinHeapSize', + 'in' => 'query', + 'schema' => ['description' => '初始化堆内存大小,单位MB:'."\n" + ."\n" + .'> - 分组配置不设置该参数,使用应用配置。'."\n" + .'- 应用配置不设置该参数,使用默认值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500'], + ], + [ + 'name' => 'MaxPermSize', + 'in' => 'query', + 'schema' => ['description' => '持久代内存大小,单位MB:'."\n" + .'> - 分组配置不设置该参数,使用应用配置。'."\n" + .'- 应用配置不设置该参数,使用默认值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'MaxHeapSize', + 'in' => 'query', + 'schema' => ['description' => '最大堆内存大小,单位MB:'."\n" + .'> - 分组配置不设置该参数,使用应用配置。'."\n" + .'- 应用配置不设置该参数,使用默认值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500'], ], ], 'responses' => [ @@ -23456,48 +16412,57 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', + 'Code' => ['description' => '接口状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'D16979DC-4D42-********************'], + 'JvmConfiguration' => [ + 'description' => 'JVM参数', + 'type' => 'object', + 'properties' => [ + 'MaxPermSize' => ['description' => '持久代内存大小,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'Options' => ['description' => '可选参数', 'type' => 'string', 'example' => '”“'], + 'MaxHeapSize' => ['description' => '最大堆内存大小,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'MinHeapSize' => ['description' => '初始化堆内存大小,单位MB。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + ], ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', + 'title' => '来配置应用分组内的JVM设置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-13T06:36:42.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-13T06:36:42.000Z', 'description' => '错误码发生变更'], + ], + '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}","type":"json"}]', - 'title' => '删除K8s保密配置', + '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":""}]', ], - 'UpdateConfigTemplate' => [ - 'summary' => '调用UpdateConfigTemplate接口更新配置模板。'."\n" - .'。', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateK8sApplicationBaseInfo' => [ + 'summary' => '调用UpdateK8sApplicationBaseInfo接口修改K8s应用基本信息。', + 'path' => '/pop/v5/oam/update_app_basic_info', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23505,133 +16470,82 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Id', - 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => '配置模板ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '123', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '待修改的应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4f038ddf-b27b-****-****-88e44375****'], ], [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => '配置模板名称,不限字符类型,最长不超过64个字符。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'configtmpl1', - ], + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '应用描述,不超过256个字符。', 'type' => 'string', 'required' => false, 'example' => 'app for pre-production'], ], [ - 'name' => 'Format', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板数据格式', - 'description' => '模板数据格式,支持以下格式:'."\n" - ."\n" - .'- JSON:JSON格式;'."\n" - .'- XML:XML格式;'."\n" - .'- YAML:YAML格式;'."\n" - .'- Properties:Properties格式;'."\n" - .'- KeyValue:键值对;'."\n" - .'- Custom:自定义格式。', - 'type' => 'string', - 'required' => false, - 'example' => 'JSON', - ], + 'name' => 'Owner', + 'in' => 'query', + 'schema' => ['description' => '应用负责人,不超过128个字符。', 'type' => 'string', 'required' => false, 'example' => 'John Doe'], ], [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板描述', - 'description' => '模板描述,不限字符类型,最长不超过255个字符。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => '测试配置模板', - ], + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => ['description' => '应用负责人电话号码。', 'type' => 'string', 'required' => false, 'example' => '1361234xxxx'], ], [ - 'name' => 'Content', - 'in' => 'formData', - 'schema' => [ - 'title' => '模板内容', - 'description' => '模板内容,需要与Format标注的格式相匹配。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"name":"william","age":18}', - ], + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => '应用负责人电子邮箱。', 'type' => 'string', 'required' => false, 'example' => 'mymail@example.com'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-*************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '接口状态或POP错误码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => '附加信息。'."\n" - ."\n", - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '57F146F6-3C94-****-****-A66EF4B9*****'], + 'Result' => ['description' => '修改结果。', 'type' => 'string', 'example' => 'success'], ], + 'description' => '', ], ], ], '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' => '更新配置模板', - ], - 'UpdateK8sConfigMap' => [ - 'summary' => '调用UpdateK8sConfigMap接口更新K8s配置项。', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'put', + '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' => '更新K8s应用基本信息', + '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}'], + ], + ], + ], ], + ], + 'UpdateK8sApplicationConfig' => [ + 'path' => '/pop/v5/k8s/acs/k8s_app_configuration', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23639,55 +16553,70 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => [], 'parameters' => [ [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => '应用ID,可以调用ListApplication接口获取,详情请参见[ListApplication](~~423162~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '23bf94d9-****-4994-9917-616a827aa777'], + ], + [ 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx', - ], + 'in' => 'query', + 'schema' => ['description' => '集群ID,可以调用ListCluster接口获取,详情请参见[ListCluster](~~411844~~)。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2'], ], [ - 'name' => 'Namespace', - 'in' => 'formData', - 'schema' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'name' => 'CpuLimit', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例的CPU限额,单位:核。设置为0表示不做限制。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1'], ], [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-configmap', - ], + 'name' => 'MemoryLimit', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例的内存限额,单位:MB。设置为0表示不做限制。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '4'], ], [ - 'name' => 'Data', - 'in' => 'formData', - 'schema' => [ - 'description' => '配置项数据,JSON数组字符串。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], + 'name' => 'McpuLimit', + 'in' => 'query', + 'schema' => ['description' => 'CPU能使用的最大值,单位:核数。设置为0表示不做限制。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'CpuRequest', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例需要申请的CPU配额,推荐设置。单位:核数,设置为0表示不限制。'."\n" + ."\n" + .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'McpuRequest', + 'in' => 'query', + 'schema' => ['description' => 'CPU最小资源需求,单位:核数。设置为0表示不限制。'."\n" + ."\n" + .'> 设置该参数时,还需要设置CpuLimit参数,且需要小于等于CpuLimit的参数值。', 'type' => 'string', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'MemoryRequest', + 'in' => 'query', + 'schema' => ['description' => '应用运行过程中,应用实例需要申请的内存配额,推荐设置。单位:MB。设置为0表示不申请。'."\n" + ."\n" + .'> 设置该参数时,还需要设置MemoryLimit参数,且需要小于等于MemoryLimit的参数值。', 'type' => 'string', 'required' => false, 'example' => '400'], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => '变更流程超时时间,单位:秒。取值范围1~1800秒,默认值为600秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'EphemeralStorageRequest', + 'in' => 'query', + 'schema' => ['description' => '临时存储最小资源需求,单位:GB。设置0表示不限制。'."\n" + ."\n" + .'> 设置该参数时,还需要设置EphemeralStorageLimit参数,且需要小于等于EphemeralStorageLimit的参数值。', 'type' => 'string', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'EphemeralStorageLimit', + 'in' => 'query', + 'schema' => ['description' => '临时存储资源需求上限,单位:GB。设置0表示不限制。', 'type' => 'string', 'required' => false, 'example' => '4'], ], ], 'responses' => [ @@ -23695,47 +16624,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => '8806d1c6-****-48eb-9373-6bdef3007466'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 400 => [ + ['errorCode' => 'Edas.errorcode.K8SAppConfiguration.UpdateFail', 'errorMessage' => 'Failed to set app configuration.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","type":"json"}]', - 'title' => '更新K8s配置项', - ], - 'UpdateK8sSecret' => [ - 'summary' => '调用UpdateK8sSecret接口更新K8s保密配置。', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'put', + 'title' => '修改K8s集群中应用配置', + 'summary' => '调用UpdateK8sApplicationConfig接口修改容器服务K8s或Serverless K8s集群中应用的配置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-07-04T06:00:03.000Z', 'description' => '请求参数发生变更'], + ], + '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' => '[{"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":""}]', + ], + 'UpdateK8sConfigMap' => [ + 'summary' => '调用UpdateK8sConfigMap接口更新K8s配置项。', + 'path' => '/pop/v5/k8s/acs/k8s_config_map', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23743,102 +16678,27 @@ ], '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' => '集群ID。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'my-secret', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '7246cxxx-53xx-xxxx-xxxx-xxxxxxxx'], ], [ 'name' => 'Namespace', 'in' => 'formData', - 'schema' => [ - 'description' => 'K8s集群命名空间。'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'default', - ], + 'schema' => ['description' => 'K8s命名空间。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'Type', + 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置类型,支持以下两种类型:'."\n" - ."\n" - .'- Opaque:用户自定义数据类型'."\n" - ."\n" - .'- kubernetes.io/tls:TLS证书类型', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'Opaque', - ], + 'schema' => ['description' => '配置项名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-configmap'], ], [ 'name' => 'Data', 'in' => 'formData', - 'schema' => [ - 'description' => '保密配置数据,使用JSON数组表示,数组对象包括以下内容:'."\n" - .'- Key:保密配置键'."\n" - .'- Value:保密配置值', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]', - ], - ], - [ - 'name' => 'CertId', - 'in' => 'formData', - 'schema' => [ - 'description' => '证书ID。', - 'type' => 'string', - 'required' => false, - 'example' => '6650277', - ], - ], - [ - 'name' => 'CertRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '证书所在地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Base64Encoded', - 'in' => 'formData', - 'schema' => [ - 'description' => '数据部分是否已经经过Base64编码。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '配置项数据,JSON数组字符串。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], ], ], 'responses' => [ @@ -23846,536 +16706,289 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'b197-40ab-9155-****'], ], + 'description' => '', ], ], ], '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 \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', - 'title' => '更新K8s保密配置', - ], - 'ListConfigTemplates' => [ - 'summary' => '调用ListConfigTemplates接口获取配置模板列表。', - 'path' => '/pop/v5/config_template', - 'methods' => [ - 'get', + 'title' => '更新K8s配置项', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sConfigMap'], + ], ], - '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' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"b197-40ab-9155-****\\"\\n}","type":"json"}]', + ], + 'UpdateK8sIngressRule' => [ + 'path' => '/pop/v5/k8s/acs/k8s_ingress', + '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' => 'CurrentPage', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '页码', - 'description' => '页码,从1开始计数。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => '5b2b4ab4-efbc-4a81-9c45-xxxxxxxxxxxxx'], ], [ - 'name' => 'PageSize', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'title' => '页大小', - 'description' => '页大小。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'K8s集群命名空间。'."\n", 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ - 'name' => 'Id', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板ID', - 'description' => '配置模板ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c******', - ], + 'schema' => ['description' => '路由规则名称。只能为小写字母、数字和短划线(-),必须以小写字母开头,不以短划线(-)结尾,长度不超过63个字符。'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-ingress-rule'], ], [ - 'name' => 'Name', + 'name' => 'IngressConf', 'in' => 'query', - 'schema' => [ - 'title' => '配置模板名称', - 'description' => '配置模板名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'config-tmpl-1', - ], + 'schema' => ['description' => 'JSON对象字符串表示的应用路由规则,格式如下所示:'."\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" + .'代码字段解释如下:'."\n" + .'- rules:路由规则列表。'."\n" + .'- host:路由规则域名。'."\n" + .'- secretName:TLS证书类型的Secret,当需要支持HTTPS协议时需要配置该证书。'."\n" + .'- paths:匹配路径列表。'."\n" + .'- path:匹配路径。'."\n" + .'- backend:后端服务,支持配置由EDAS控制台创建的Service。'."\n" + .'- serviceName:后端服务名称。'."\n" + .'- servicePort:后端服务端口。', 'type' => 'string', 'required' => false, 'example' => '{"rules":[{"host":"abc.com","secretName":"tls-secret","paths":[{"path":"/path","backend":{"servicePort":80,"serviceName":"xxx"}}]}]}'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4D9F-DR94-FD****************', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '接口状态或POP错误码。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'title' => '响应码文本描述', - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'title' => '查询结果', - 'description' => '查询结果。', - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'title' => '当前分页', - 'description' => '当前分页号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '页大小', - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'title' => '配置模板总数', - 'description' => '配置模板总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Result' => [ - 'title' => '配置模板列表', - 'description' => '配置模板列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'title' => '配置模板ID', - 'description' => '配置模板ID。', - 'type' => 'string', - 'example' => '3d84efaf-37d9-49fb-a3a8-b38d5c2b460c', - ], - 'Name' => [ - 'title' => '配置模板名称', - 'description' => '配置模板名称。', - 'type' => 'string', - 'example' => 'config-tmpl-1', - ], - 'Format' => [ - 'title' => '模板数据格式', - 'description' => '模板数据格式。', - 'type' => 'string', - 'example' => 'JSON', - ], - 'Description' => [ - 'title' => '模板描述', - 'description' => '模板描述。', - 'type' => 'string', - 'example' => '测试配置模板', - ], - 'Content' => [ - 'title' => '模板内容', - 'description' => '模板内容。', - 'type' => 'string', - 'example' => '{"name":"William"}', - ], - 'GmtCreate' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1638171689626', - ], - 'GmtModified' => [ - 'title' => '更新时间', - 'description' => '更新时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1638171689626', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'Edas.errorcode.PermissionDenied.message ', - 'errorMessage' => 'You are not authorized to perform the operation. ', - ], - ], - ], - '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' => '获取配置模板列表', - ], - 'GetJavaStartUpConfig' => [ - 'path' => '/pop/v5/oam/java_start_up_config', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => ['description' => '注解。', 'type' => 'string', 'required' => false, 'example' => '{\\"nginx.ingress.kubernetes.io/ssl-redirect\\":\\"true\\",\\"nginx.ingress.kubernetes.io/configuration-snippet\\":\\"set $test value\\"}'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Labels', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5fdf50e8-*', - ], + 'schema' => ['description' => '标签。', 'type' => 'string', 'required' => false, 'example' => '{\\"test-label\\":\\"test-label-value\\"}'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'JavaStartUpConfig' => [ - 'description' => 'Java启动参数配置。', - 'type' => 'object', - 'properties' => [ - 'StartUpArgs' => [ - 'description' => '生效的启动参数配置。', - 'type' => 'string', - 'example' => '-Xms512m', - ], - 'OriginalConfigs' => [ - 'description' => '显示的启动参数配置。', - 'type' => 'string', - 'example' => '-Xms512m', - ], - ], - ], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], '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' => '无权限操作'], ], ], - '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' => '获取应用的Java启动参数配置', - 'summary' => '调用GetJavaStartUpConfig接口获取应用的Java启动参数配置。', + 'title' => '更新应用路由规则', + 'summary' => '更新应用路由规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetWebContainerConfig' => [ - 'path' => '/pop/v5/oam/web_container_config', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-10-27T06:18:56.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sIngressRule'], + ], ], + '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' => [ + 'path' => '/pop/v5/oam/update_k8s_resource_config', + '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' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5a166fbd-****-****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2e7059e9-2d********5e8ecac64ff'], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => ['description' => 'K8s命名空间ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'app-namespace'], + ], + [ + 'name' => 'ResourceContent', + 'in' => 'formData', + 'schema' => ['description' => 'YAML格式的描述内容。', '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'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], - 'WebContainerConfig' => [ - 'description' => 'Tomcat配置内容。', - 'type' => 'object', - 'properties' => [ - 'ContextPath' => [ - 'description' => '上下文路径。', - 'type' => 'string', - 'example' => 'ROOT', - ], - 'UseAdvancedServerXml' => [ - 'description' => '是否使用高级配置。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'UseDefaultConfig' => [ - 'description' => '是否使用默认配置。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'HttpPort' => [ - 'description' => 'HTTP服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ContextInputType' => [ - 'description' => '上下文路径类型。', - 'type' => 'string', - 'example' => 'root', - ], - 'UseBodyEncoding' => [ - 'description' => '是否使用Body字符编码。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'UriEncoding' => [ - 'description' => 'URI编码类型。', - 'type' => 'string', - 'example' => 'ISO-8859-1', - ], - 'MaxThreads' => [ - 'description' => '最大线程数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'ServerXml' => [ - 'description' => 'Server XML高级配置内容。', - 'type' => 'string', - 'example' => '<Server port=*****', - ], - ], - ], + 'Code' => ['description' => 'Code码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '唯一请求ID。', 'type' => 'string', 'example' => '7638276F-****-****-884F-54CC0BC84A8D'], ], ], ], ], - '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 \\"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' => '获取应用的Tomcat配置', - 'summary' => '调用GetWebContainerConfig接口获取应用的Tomcat配置。', - 'description' => '****', + 'title' => '更新容器服务K8s资源', + 'summary' => '更新K8s资源。', + 'description' => '> 当前仅支持Deployment资源的修改。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListK8sConfigMaps' => [ - 'summary' => '调用ListK8sConfigMaps接口获取K8s配置项列表。', - 'path' => '/pop/v5/k8s/acs/k8s_config_map', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-06T08:28:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-10T06:57:02.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sResource'], + ], ], + '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' => '调用UpdateK8sSecret接口更新K8s保密配置。', + 'path' => '/pop/v5/k8s/acs/k8s_secret', + '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' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => '集群ID。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '9c28bbb9-****-44b3-b953-54ef8a2d0be2'], ], [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'c0830281-366c-41b6-80fb-542e76******', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'my-secret'], ], [ 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'in' => 'formData', + 'schema' => ['description' => 'K8s集群命名空间。'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'default'], ], [ - 'name' => 'PageNo', - 'in' => 'query', - 'schema' => [ - 'description' => '当前页面,从0开始计数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'name' => 'Type', + 'in' => 'formData', + 'schema' => ['description' => '保密配置类型,支持以下两种类型:'."\n" + ."\n" + .'- Opaque:用户自定义数据类型'."\n" + ."\n" + .'- kubernetes.io/tls:TLS证书类型', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Opaque'], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询,每页显示的条数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'name' => 'Data', + 'in' => 'formData', + 'schema' => ['description' => '保密配置数据,使用JSON数组表示,数组对象包括以下内容:'."\n" + .'- Key:保密配置键'."\n" + .'- Value:保密配置值', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"Key":"name","Value":"william"},{"Key":"age","Value":"12"}]'], ], [ - 'name' => 'Condition', - 'in' => 'query', - 'schema' => [ - 'description' => '过滤条件,JSON对象字符串,示例:{"field":"Name", "pattern":"configmap-"}。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"field":"Name", "pattern":"configmap-"}', - ], + 'name' => 'CertId', + 'in' => 'formData', + 'schema' => ['description' => '证书ID。', 'type' => 'string', 'required' => false, 'example' => '6650277'], ], [ - 'name' => 'ShowRelatedApps', - 'in' => 'query', - 'schema' => [ - 'description' => '是否返回使用该配置项的应用列表,true表示返回,false表示不返回。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'CertRegionId', + 'in' => 'formData', + 'schema' => ['description' => '证书所在地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'Base64Encoded', + 'in' => 'formData', + 'schema' => ['description' => '数据部分是否已经经过Base64编码。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -24383,535 +16996,145 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或pop错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D16979DC-4D42-****************', - ], - 'Result' => [ - 'description' => '检索结果。', - 'type' => 'object', - 'properties' => [ - 'Total' => [ - 'description' => '总记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'ConfigMaps' => [ - 'description' => '配置项列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => '创建时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。', - 'type' => 'string', - 'example' => '2022-01-31T02:46:14Z', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'my-cluster', - ], - 'Namespace' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'Name' => [ - 'description' => '配置项名称。', - 'type' => 'string', - 'example' => 'my-config', - ], - 'ClusterId' => [ - 'description' => '集群ID,可通过调用GetK8sCluster接口获取,请参见[GetK8sCluster](~~181437~~)。', - 'type' => 'string', - 'example' => 'd73918f4-3b08-4c17-bb07-eaf8********', - ], - 'Data' => [ - 'description' => '配置项数据列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '用户自定义ConfigMap键。', - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => '用户自定义ConfigMap值。', - 'type' => 'string', - 'example' => 'william', - ], - ], - ], - ], - 'RelatedApps' => [ - 'description' => '关联的应用列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '728cbdf2-da10-49b8-b69c-9168a********', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D16979DC-4D42-****************'], ], + 'description' => '', ], ], ], '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 \\"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' => '获取K8s配置项列表', - ], - 'ListK8sSecrets' => [ - 'summary' => '调用ListK8sSecrets接口获取K8s保密配置列表。', - 'path' => '/pop/v5/k8s/acs/k8s_secret', - 'methods' => [ - 'get', + 'title' => '更新K8s保密配置', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSecret'], + ], ], - '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' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"D16979DC-4D42-****************\\"\\n}","type":"json"}]', + ], + 'UpdateK8sService' => [ + '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' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '7a953f9a-2946-4c7a-9d82-9939db******', - ], - ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云地域ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '应用ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], [ - 'name' => 'PageNo', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '当前页码,从0开始计数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'K8s Service名称,需要遵循以下规范:'."\n" + ."\n" + .'- 仅支持小写字母、数字和短划线(-)。'."\n" + .'- 只能以字母开头,并且以字母或数字结尾。'."\n" + .'- 长度范围为2~32字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'service-http'], ], [ - 'name' => 'PageSize', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询,每页显示的条数。值为0时不进行分页,返回所有内容。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'K8s服务类型,当前只支持ClusterIP类型。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ClusterIP'], ], [ - 'name' => 'Condition', + 'name' => 'ServicePorts', 'in' => 'query', - 'schema' => [ - 'description' => '过滤条件,JSON对象字符串,示例:{"field":"Name", "pattern":"configmap-"}。', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"field\\":\\"Name\\",\\"pattern\\":\\"product\\"}', - ], + 'schema' => ['description' => 'K8s Service端口映射表,需要符合JsonArray格式,支持的参数如下:'."\n" + .'- **protocol**:必填,服务协议,支持TCP和UDP。'."\n" + .'- **port**:必填,前端服务端口,取值范围1~65535。'."\n" + .'- **targetPort**:必填,后端容器端口,取值范围1~65535。'."\n" + ."\n" + .'参考示例:'."\n" + .'`[{"protocol": "TCP", "port": 80, "targetPort": 8080},{"protocol": "TCP", "port": 81, "targetPort": 8081}]`', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{"protocol":"TCP","port":80,"targetPort":8080}]'], ], [ - 'name' => 'ShowRelatedApps', + 'name' => 'ExternalTrafficPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '返回使用该保密配置的应用列表。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '设置外部流量管理策略:'."\n" + .'- Local:Local模式。'."\n" + .'- Cluster:Cluster模式。'."\n" + ."\n" + .'默认为Local模式。', 'type' => 'string', 'required' => false, 'example' => 'Local'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'b197-40ab-9155-****', - ], - 'Result' => [ - 'description' => 'K8s保密配置查询结果。', - 'type' => 'object', - 'properties' => [ - 'Total' => [ - 'description' => '总记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'Secrets' => [ - 'description' => '保密配置列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '保密配置类型,支持以下两种类型:'."\n" - ."\n" - .'- Opaque:用户自定义数据类型。'."\n" - ."\n" - .'- kubernetes.io/tls:TLS证书类型。', - 'type' => 'string', - 'example' => 'Opaque', - ], - 'CreationTime' => [ - 'description' => '创建时间。格式为:<i>yyyy-MM-dd</i>T<i>HH:mm:ss</i>Z(UTC时间)。'."\n", - 'type' => 'string', - 'example' => '2022-05-26T02:57:02Z', - ], - 'ClusterName' => [ - 'description' => '集群名称。', - 'type' => 'string', - 'example' => 'test-cluster', - ], - 'Namespace' => [ - 'description' => 'K8s集群命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'Base64Encoded' => [ - 'description' => '数据是否进过base64编码:'."\n" - .'- true:已编码。'."\n" - .'- false:未编码。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'CertRegionId' => [ - 'description' => '证书所属的区域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'CertId' => [ - 'description' => '阿里云证书服务的证书ID。', - 'type' => 'string', - 'example' => '123456', - ], - 'Name' => [ - 'description' => '保密配置名称,必须以字母开头,支持数字、字母和短划线(-),最多支持63个字符。'."\n", - 'type' => 'string', - 'example' => 'my-secret', - ], - 'ClusterId' => [ - 'description' => 'EDAS集群ID。', - 'type' => 'string', - 'example' => '4472a6d3-f01d-4087-85a7-3dc52********', - ], - 'RelatedIngressRules' => [ - 'description' => '关联的应用路由规则列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '应用路由规则名称。', - 'type' => 'string', - 'example' => 'testrulename', - ], - 'Namespace' => [ - 'description' => 'K8s命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'RelatedApps' => [ - 'description' => '应用路由关联应用列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'EDAS应用名称。', - 'type' => 'string', - 'example' => 'app-test', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '6dc74432-5a35-4e68-8aaa-3700********', - ], - ], - ], - ], - ], - ], - ], - 'Data' => [ - 'description' => '保密配置数据。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '用户自定义的secret键。', - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => '用户自定义的secret值。', - 'type' => 'string', - 'example' => 'william', - ], - ], - ], - ], - 'RelatedApps' => [ - 'description' => '使用了该保密配置的应用列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'my-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'b08eeb18-8946-410c-a1ea-dbbc********', - ], - ], - ], - ], - 'CertDetail' => [ - 'description' => 'SSL证书详情。', - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => '证书结束时间。', - 'type' => 'string', - 'example' => '2022-02-22T02:32:41Z', - ], - 'Status' => [ - 'description' => '证书状态:'."\n" - .'- normal:有效证书。'."\n" - .'- invalid:无效证书。'."\n" - .'- expired:证书已过期。'."\n" - .'- not\\_yet\\_valid:尚未到生效时间。'."\n" - .'- about\\_to\\_expire:证书即将过期。'."\n", - 'type' => 'string', - 'example' => 'normal', - ], - 'StartTime' => [ - 'description' => '证书生效时间。', - 'type' => 'string', - 'example' => '2022-01-02T22:40:00Z', - ], - 'Issuer' => [ - 'description' => '证书颁发机构。', - 'type' => 'string', - 'example' => 'CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE', - ], - 'DomainNames' => [ - 'description' => 'SSL证书关联的域名列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'example.com', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => 'b4b37bde-a125-****-****-741f7f4a9ae3'], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], ], ], ], ], '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 \\"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' => '获取K8s保密配置列表', - ], - 'RetryChangeOrderTask' => [ - 'summary' => '调用RetryChangeOrderTask接口重试失败的发布单任务。', - 'path' => '/pop/v5/changeorder/task_retry', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '更新K8s服务', + 'summary' => '更新K8s集群中应用的K8s服务Service。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-06-16T02:42:31.000Z', 'description' => '请求参数发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sService'], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'TaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '发布单任务ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '823-bhjf-23u4-eiuf*', - ], - ], + 'ramActions' => [ [ - 'name' => 'RetryStatus', - 'in' => 'query', - 'schema' => [ - 'description' => '重试状态。', - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态或POP错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '重试信息。', - 'type' => 'string', - 'example' => 'success retry task', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4823-bhjf-23u4-eiufh', - ], + '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}'], ], ], ], ], - '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":""}]', - 'title' => '重试失败的发布单任务', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'CreateApplicationScalingRule' => [ - 'summary' => '调用CreateApplicationScalingRule接口创建应用的弹性伸缩规则。', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateK8sSlb' => [ + 'path' => '/pop/v5/k8s/acs/k8s_slb_binding', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24919,485 +17142,86 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => '应用ID,可以通过调用[ListApplication](~~149390~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5a166fbd-****-****-a286-781659d9f54c'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略的名称。支持以小写字母开头,允许小写字母、数字、中划线(-)组成,长度为1~32字符的字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'schema' => ['description' => '集群ID,可以通过调用[GetK8sCluster](~~181437~~)获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '712082c3-****-****-9217-a947b5cde6ee'], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略类型,仅支持**trigger**类型。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'trigger', - ], + 'schema' => ['description' => '设置SLB的类型:'."\n" + ."\n" + .'* Internet:公网。'."\n" + .'* Intranet:私网。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Internet'], ], [ - 'name' => 'ScalingRuleEnable', + 'name' => 'SlbProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '是否启用弹性伸缩策略。'."\n" - ."\n" - .'- **true**:启用规则。'."\n" - ."\n" - .'- **false**:禁用规则。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'SLB协议,目前仅支持TCP。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'TCP'], ], [ - 'name' => 'ScalingRuleMetric', + 'name' => 'TargetPort', 'in' => 'query', - 'schema' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '后端端口,即应用的服务端口,范围1~65535。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '8082'], ], [ - 'name' => 'ScalingRuleTimer', + 'name' => 'Port', 'in' => 'query', - 'schema' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '前端端口,范围1~65535。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '80'], ], [ - 'name' => 'ScalingRuleTrigger', + 'name' => 'ServicePortInfos', 'in' => 'query', - 'schema' => [ - 'description' => '触发器策略。设置为ScalingRuleTriggerDTO的JSON格式,具体样式,请参见请求参数补充说明。', - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingRuleTriggerDTO{......}', - ], + 'schema' => ['description' => '多个端口需求以及非TCP协议需求填写字段。必须符合JsonArray格式,参考示例:'."\n" + .'[{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"1362469756373809_16c185d6fa2_1914500329_-xxxxxxx","targetPort":8181,"lo'."\n" + .'adBalancerProtocol":"HTTPS"}]'."\n" + .'- port:必填,前端端口,范围1~65535。不能重复。'."\n" + .'- targetPort:必填,后端端口,范围1~65535。'."\n" + .'- loadBalancerProtocol:必填,只支持TCP和HTTPS,对于HTTP类型的填写TCP即可。'."\n" + .'- certId:如果是HTTPS,则该参数必填证书ID,可以在slb控制台进行购买。'."\n" + .'- 注意该参数用来支持多端口支持,需要配合appId、clusterId、type、slbId进行使用。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"targetPort":8080,"port":82,"loadBalancerProtocol":"TCP"},{"port":81,"certId":"136246975637380916c185d6fa21914500329_-xxxxxxx","targetPort":8181,"lo adBalancerProtocol":"HTTPS"}'], ], [ - 'name' => 'ScalingBehaviour', + 'name' => 'Specification', 'in' => 'query', - 'schema' => [ - 'description' => '配置自定义弹性行为,具体数据结构参考样例。', - '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' => 'SLB规格,目前支持以下SLB实例的规格:'."\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" + .'不填默认为slb.s1.small。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => '弹性伸缩策略。', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => '创建弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => '弹性伸缩策略所属应用的应用ID。', - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => '弹性伸缩策略最近一次被禁用的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => '弹性伸缩策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => '规则类型,只支持trigger。', - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => '弹性伸缩的策略名称。', - 'type' => 'string', - 'example' => 'cpu', - ], - 'Metric' => [ - 'description' => '此参数已废弃。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => '此参数已废弃。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => '触发器配置。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '最小副本数,不能低于0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxReplicas' => [ - 'description' => '最大副本数,不能超过1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => '触发器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '触发器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '触发器类型,只支持cron和app_metric。', - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => '触发器元信息。', - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => '触发器名称。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'description' => '弹性行为。', - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'description' => '弹性扩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '扩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SelectPolicy' => [ - 'description' => '弹性扩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'description' => '策略配置。', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'description' => '弹性缩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '缩容冷却时间。取值范围[0, 3600],单位为秒。默认为300秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'SelectPolicy' => [ - 'description' => '弹性缩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'description' => '策略配置。', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - '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' => '创建应用弹性伸缩规则', - 'requestParamsDescription' => '## 请求参数补充说明'."\n" - .'```'."\n" - .'public class ScalingRuleTriggerDTO {'."\n" - .' /**'."\n" - .' * 最大实例数,上限1000。'."\n" - .' */'."\n" - .' Integer maxReplicas;'."\n" - .' /**'."\n" - .' * 最小实例数,下限0。'."\n" - .' */'."\n" - .' Integer minReplicas;'."\n" - ."\n" - .' /**'."\n" - .' * 触发器列表,支持多个触发器。'."\n" - .' */'."\n" - .' List<Trigger> triggers;'."\n" - ."\n" - .' @Data'."\n" - .' @ToString'."\n" - .' @Builder'."\n" - .' @AllArgsConstructor'."\n" - .' @NoArgsConstructor'."\n" - .' public static class Trigger {'."\n" - .' /**'."\n" - .' * 触发器类型,支持cron(定时), app_metric(应用监控)。'."\n" - .' */'."\n" - .' String type;'."\n" - ."\n" - .' /**'."\n" - .' * 触发器名称,必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。'."\n" - .' */'."\n" - .' String name;'."\n" - ."\n" - .' /**'."\n" - .' 触发器元数据,string->string的map Json,不同类型的触发器支持的元数据不同。'."\n" - .' 1. cron'."\n" - .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" - .' * period周期:daily, weekly, monthly。'."\n" - .' * dryRun: false是观测并扩缩,true是仅观测。'."\n" - .' * timerInDay:描述每天的扩缩周期,指在什么时候开始维持多少副本数。'."\n" - .' * timerInWeek:cron表达式的周,比如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(qps)'."\n" - .' * arms_appstat.incall_rt(rt)'."\n" - .' * arms_appstat.system_CPU(cpu使用率)'."\n" - .' * arms_appstat.system_MEM(内存使用率)'."\n" - .' * dryRun同cron。'."\n" - .' * targetValAvg:true为需要进行平均,false为不需要平均, 除了qps为true,其他均为false。'."\n" - .' * targetAverageValue/targetValue: targetValAvg为true则为targetAverageValue,targetValAvg为false则为targetValue。'."\n" - .' */'."\n" - .' String metadata;'."\n" - .' }'."\n" - .'}'."\n" - .'```', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteApplicationScalingRule' => [ - 'summary' => '调用DeleteApplicationScalingRule接口删除应用的弹性伸缩规则。', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'SLB调度算法。不填写则默认值为rr。支持负载均衡支持轮询 (rr)、加权轮询 (wr) 两种调度算法。'."\n" + ."\n" + .'- 加权轮询 (wrr):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + .'- 轮询 (rr):按照访问顺序依次将外部请求分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'SlbName', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => 'SLB实例名称。', 'type' => 'string', 'required' => false, 'example' => 'SLB_doctest'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'DisableForceOverride', 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略的名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'schema' => ['description' => '禁止覆盖SLB监听配置:'."\n" + .'* true:禁止覆盖。'."\n" + .'* false:允许覆盖。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -25405,287 +17229,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'Code' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Message' => [ - 'type' => 'string', - ], + 'ChangeOrderId' => ['description' => '变更流程ID。', 'type' => 'string', 'example' => '9a1dcdee-****-****-ad37-cbf9dc91fba9'], + 'Code' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-eiufh'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5d6fa0bc-cc3**********\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>5d6fa0bc-cc3**********</RequestId>","errorExample":""}]', - 'title' => '删除应用弹性伸缩规则', + 'title' => '更新K8s负载均衡SLB', + 'summary' => '调用UpdateK8sSlb更新容器服务K8s应用绑定的负载均衡SLB。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DisableApplicationScalingRule' => [ - 'summary' => '禁用应用弹性伸缩规则。', - 'path' => '/pop/v1/eam/scale/disable_application_scaling_rule', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2022-10-18T16:44:18.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateK8sSlb'], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略的名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'cron-trigger', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => '5d6fa0bc-cc3**********', - ], - 'AppScalingRule' => [ - 'description' => '弹性伸缩策略。', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => '创建弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => '弹性伸缩策略所属应用的应用ID。', - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => '弹性伸缩策略最近一次被禁用的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => '弹性伸缩策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => '弹性伸缩策略类型,只支持trigger。', - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => '弹性伸缩策略的名称。', - 'type' => 'string', - 'example' => 'cron-trigger', - ], - 'Metric' => [ - 'description' => '此参数已废弃。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Metrics' => [ - 'description' => '此参数已废弃。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => '触发器配置。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '最小副本数,不能低于0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '最大副本数,不能超过1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Triggers' => [ - 'description' => '触发器。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '触发器类型,只支持cron和app_metric。', - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => '触发器元信息。', - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => '触发器名称。', - 'type' => 'string', - 'example' => 'cron-trigger', - ], - ], - ], - ], - ], - ], - ], - ], + '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 \\"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' => '禁用应用弹性伸缩规则', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'EnableApplicationScalingRule' => [ - 'summary' => '调用EnableApplicationScalingRule接口启用应用弹性伸缩规则。', - 'path' => '/pop/v1/eam/scale/enable_application_scaling_rule', - 'methods' => [ - 'put', - ], - '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' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => ['description' => 'ecu所在地域id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => '命名空间id>创建后不可变,格式为[unk]物理空间标识符[unk]。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], + 'schema' => ['description' => '应用id,可调用[listapplication](~~149390~~)接口获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bfa00cfb-9642-4292-bb78-1d7d4c86004c'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'Enabled', 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略的名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], + 'schema' => ['description' => '设置是否已生效:'."\n" + .' '."\n" + .'- true:已生效。'."\n" + .'- false:未生效。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false'], + ], + [ + 'name' => 'Threshold', + 'in' => 'query', + 'schema' => ['description' => '满足阈值表达式的总个数。', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '15'], ], ], 'responses' => [ @@ -25693,182 +17313,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => '弹性伸缩策略。', + 'HttpStatusCode' => ['description' => 'http状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Code' => ['description' => '接口状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求id', 'type' => 'string', 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de*****'], + 'Success' => ['description' => '调用是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Data' => [ + 'description' => '变更执行结果', 'type' => 'object', 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => '创建弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => '弹性伸缩策略所属应用的应用ID。', - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => '弹性伸缩策略最近一次被禁用的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => '弹性伸缩策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => '弹性伸缩策略类型,仅支持trigger类型。', - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => '弹性伸缩的策略名称。', - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => '此参数已废弃。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => '此参数已废弃。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'MetricType' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => '触发器配置。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '最小副本数,下限0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '最大副本数,上限1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => '触发器列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '触发器类型,仅支持cron和app_metric。', - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => '触发器元信息。', - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => '触发器名称。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], + 'Threshold' => ['description' => 'ecu的阈值', 'type' => 'number', 'format' => 'float', 'example' => '15'], + 'Enabled' => ['description' => '是否可用', 'type' => 'boolean', 'example' => 'true'], ], ], ], + 'description' => '', ], ], ], - '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' => '启用应用弹性伸缩规则', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UpdateApplicationScalingRule' => [ - 'summary' => '调用UpdateApplicationScalingRule接口更新应用的弹性伸缩规则。', - 'path' => '/pop/v1/eam/scale/application_scaling_rule', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '更新微服务治理本地化配置', + 'summary' => '调用 UpdateLocalitySetting 接口更新本地化配置', + 'description' => '> 当前仅支持Deployment资源的修改。', + '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 \\"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"}]', + ], + 'UpdateRole' => [ + 'summary' => '编辑角色。', + 'path' => '/pop/v5/account/edit_role', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25876,750 +17365,63 @@ ], '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' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => '弹性伸缩策略的名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'cpu-trigger', - ], - ], - [ - 'name' => 'ScalingRuleType', - 'in' => 'query', - 'schema' => [ - 'description' => '弹性策略类型,当前仅支持以下类型:'."\n" - .'* trigger:触发器类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'trigger', - ], - ], - [ - 'name' => 'ScalingRuleEnable', - 'in' => 'query', - 'schema' => [ - 'description' => '弹性策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'ScalingRuleMetric', - 'in' => 'query', - 'schema' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'ScalingRuleTimer', - 'in' => 'query', - 'schema' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'ScalingRuleTrigger', + 'name' => 'RoleId', 'in' => 'query', - 'schema' => [ - 'description' => '触发器策略,为ScalingRuleTriggerDTO的JSON格式,具体样式,请参见请求参数补充说明。', - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingRuleTriggerDTO{......}', - ], + 'schema' => ['description' => '角色ID,可以使用[ListRole](~~149410~~)获取。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '32371'], ], [ - 'name' => 'ScalingBehaviour', + 'name' => 'ActionData', 'in' => 'query', - 'schema' => [ - 'description' => '配置自定义弹性行为,具体数据结构参考样例。', - '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}]}}', - ], + 'schema' => ['description' => '操作权限集合,格式:`权限组ID1:权限码1;...;权限组IDn:权限码n`,例如`1:1;1:2;2:1;2:2`。详细权限组及权限码含义请参见[ListAuthority](~~149409~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '15:1'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一表示ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRule' => [ - 'description' => '弹性伸缩策略。', - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新弹性伸缩策略的时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'CreateTime' => [ - 'description' => '创建弹性伸缩策略的时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'AppId' => [ - 'description' => '弹性伸缩策略所属应用的应用ID。', - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => '弹性伸缩策略最近一次被禁用的时间戳,单位毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1574251601785', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => '弹性伸缩策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => '弹性伸缩策略类型,仅支持trigger类型。', - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => '弹性伸缩的策略名称。', - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => '此参数已废弃。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => '此参数已废弃。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => '触发器配置列表。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '最小副本数,不能低于0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '最大副本数,不能超过1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => '触发器配置列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '触发器类型,只支持cron和app_metric。', - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => '触发器元信息。', - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => '触发器名称。', - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'description' => '弹性行为配置。', - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'description' => '弹性扩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '扩容冷却时间。取值范围\\[0, 3600\\],单位为秒。默认为0秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SelectPolicy' => [ - 'description' => '弹性扩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'description' => '弹性缩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '缩容冷却时间。取值范围\\[0, 3600\\],单位为秒。默认为300秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'SelectPolicy' => [ - 'description' => '弹性缩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'edit successfully'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4823-bhjf-23u4-****'], ], ], ], ], - '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' => '更新应用的弹性伸缩规则', - 'requestParamsDescription' => '## 请求参数补充说明'."\n" - .'```'."\n" - .'public class ScalingRuleTriggerDTO {'."\n" - .' /**'."\n" - .' * 最大实例数,上限1000。'."\n" - .' */'."\n" - .' Integer maxReplicas;'."\n" - .' /**'."\n" - .' * 最小实例数,下限0。'."\n" - .' */'."\n" - .' Integer minReplicas;'."\n" - ."\n" - .' /**'."\n" - .' * 触发器列表,支持多个触发器。'."\n" - .' */'."\n" - .' List<Trigger> triggers;'."\n" - ."\n" - .' @Data'."\n" - .' @ToString'."\n" - .' @Builder'."\n" - .' @AllArgsConstructor'."\n" - .' @NoArgsConstructor'."\n" - .' public static class Trigger {'."\n" - .' /**'."\n" - .' * 触发器类型,支持cron(定时), app_metric(应用监控)。'."\n" - .' */'."\n" - .' String type;'."\n" - ."\n" - .' /**'."\n" - .' * 触发器名称,必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。'."\n" - .' */'."\n" - .' String name;'."\n" - ."\n" - .' /**'."\n" - .' 触发器元数据,string->string的map Json,不同类型的触发器支持的元数据不同。'."\n" - .' 1. cron'."\n" - .' {"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}'."\n" - .' * period周期:daily, weekly, monthly。'."\n" - .' * dryRun: false是观测并扩缩,true是仅观测。'."\n" - .' * timerInDay:描述每天的扩缩周期,指在什么时候开始维持多少副本数。'."\n" - .' * timerInWeek:cron表达式的周,比如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(qps)'."\n" - .' * arms_appstat.incall_rt(rt)'."\n" - .' * arms_appstat.system_CPU(cpu使用率)'."\n" - .' * arms_appstat.system_MEM(内存使用率)'."\n" - .' * dryRun同cron。'."\n" - .' * targetValAvg:true为需要进行平均,false为不需要平均, 除了qps为true,其他均为false。'."\n" - .' * targetAverageValue/targetValue: targetValAvg为true则为targetAverageValue,targetValAvg为false则为targetValue。'."\n" - .' */'."\n" - .' String metadata;'."\n" - .' }'."\n" - .'}'."\n" - .'```', + 'title' => '编辑角色', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeApplicationScalingRules' => [ - 'path' => '/pop/v1/eam/scale/application_scaling_rules', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-07T13:17:15.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRole'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID,可调用[ListApplication](~~149390~~)接口获取。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '接口状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一ID。', - 'type' => 'string', - 'example' => 'a5281053-08e4-47a5-b2ab-5c0323de7b5a', - ], - 'AppScalingRules' => [ - 'description' => '应用的弹性伸缩策略。', - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => '当前页。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '每页展示的弹性策略数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalSize' => [ - 'description' => '弹性策略总的数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Result' => [ - 'description' => '应用的弹性策略查询结果。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => '更新弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'CreateTime' => [ - 'description' => '创建弹性伸缩策略的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'AppId' => [ - 'description' => '弹性伸缩策略所属应用的应用ID。', - 'type' => 'string', - 'example' => '78194c76-3dca-418e-a263-cccd1ab4****', - ], - 'LastDisableTime' => [ - 'description' => '弹性伸缩策略最近一次被禁用的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '23212323123', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleEnabled' => [ - 'description' => '弹性策略的启用状态。'."\n" - ."\n" - .'- **true**:启用'."\n" - ."\n" - .'- **false**:禁用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => '弹性策略类型,仅支持trigger类型。', - 'type' => 'string', - 'example' => 'trigger', - ], - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleRuleName' => [ - 'description' => '弹性策略的名称。', - 'type' => 'string', - 'example' => 'cpu-trigger', - ], - 'Metric' => [ - 'description' => '此参数已废弃。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Metrics' => [ - 'description' => '此参数已废弃。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => '此参数已废弃。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricType' => [ - 'description' => '此参数已废弃。', - 'type' => 'string', - 'example' => 'asd', - ], - ], - ], - ], - ], - ], - 'Trigger' => [ - 'description' => '触发器配置列表。', - 'type' => 'object', - 'properties' => [ - 'MinReplicas' => [ - 'description' => '最小副本数,不能低于0。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '最大副本数,不能超过1000。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '122', - ], - 'Triggers' => [ - 'description' => '触发器配置列表。', - 'type' => 'array', - 'items' => [ - 'description' => '触发器配置列表对象。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '触发器类型,只支持cron和app_metric。', - 'type' => 'string', - 'example' => 'cron', - ], - 'MetaData' => [ - 'description' => '触发器元信息。', - 'type' => 'string', - 'example' => '{"dryRun":true}', - ], - 'Name' => [ - 'description' => '触发器名称。', - 'type' => 'string', - 'example' => 'cron-trigger', - ], - ], - ], - ], - ], - ], - 'Behaviour' => [ - 'description' => '弹性行为。', - 'type' => 'object', - 'properties' => [ - 'ScaleUp' => [ - 'description' => '弹性扩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '扩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'SelectPolicy' => [ - 'description' => '弹性扩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'description' => '策略配置对象。', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'ScaleDown' => [ - 'description' => '弹性缩容行为配置。', - 'type' => 'object', - 'properties' => [ - 'StabilizationWindowSeconds' => [ - 'description' => '缩容冷却时间。取值范围[0, 3600],单位为秒。默认为300秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'SelectPolicy' => [ - 'description' => '弹性缩容步长策略,可选值Max、Min、Disable。', - 'type' => 'string', - 'example' => 'Max', - ], - 'Policies' => [ - 'description' => '策略配置。', - 'type' => 'array', - 'items' => [ - 'description' => '策略配置。', - 'type' => 'object', - 'properties' => [ - 'PeriodSeconds' => [ - 'description' => '检查执行的周期,取值范围[0, 1800],单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Type' => [ - 'description' => '策略类型,可为Pods或Percent。', - 'type' => 'string', - 'example' => 'Pods', - ], - 'Value' => [ - 'description' => '弹性行为的策略值,大于零的整数。若策略类型为Pods,则该值表示Pods数量;若策略类型为Percent,则该值表示百分比,允许超过100%。', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:UpdateRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - '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' => '获取应用弹性伸缩规则', - 'summary' => '调用DescribeApplicationScalingRules接口获取应用的弹性伸缩规则。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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":""}]', ], - 'InsertSwimmingLaneGroup' => [ - 'summary' => '新建泳道组。', - 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateSlsLogStore' => [ + 'path' => '/pop/v5/k8s/sls/update_sls_log_store', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26627,168 +17429,73 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道组名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'EntryApp', - 'in' => 'query', - 'schema' => [ - 'description' => '入口应用。格式为:EDAS:{应用ID}。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'EDAS:5cc89013-9232-4b36-b3eb-ff89b3d2****', - ], - ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道组涉及所有应用ID列表,多个应用之间使用半角逗号(,)分隔。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****,ee33ed0c-fddc-47b5-9f63-e1ccc4be****', - ], + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => ['description' => '应用ID,可通过调用ListApplication接口获取,详情请参见[ListApplication](~~149390~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'af58edcf-f7eb-****-****-db4e425f****'], ], [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '自定义命名空间的RegionId。格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou:test', - ], + 'name' => 'Configs', + 'in' => 'formData', + 'schema' => ['description' => 'Logstore配置:'."\n" + .'- **Configs**:'."\n" + .' - **type**:采集类型,文件类型为file,标准输出类型为stdout。'."\n" + .' - **Logstore**:Logstore名称。请确保Logstore名称在同一个集群中不重复,其命名应符合规则:'."\n" + .' - 日志库名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" + .' - 必须以小写字母和数字开头和结尾。'."\n" + .' - 名称长度为3~63个字符。'."\n" + .' '."\n" + .' > 若为空,则由系统自动生成。'."\n" + .' '."\n" + .' - **LogDir**:若为标准输出类型,则采集路径为stdout.log,若为文件类型,则为采集的文件路径,支持通配符,采集路径应符合正则:`^/(.+)/(.*)[^/]$`。', '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/*"}]'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D5268CAC-D356-5C8D-BC7C-FBE0D13B****', - ], - 'Data' => [ - 'description' => '接口返回数据。', - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], - 'Name' => [ - 'description' => '泳道组名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Id' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '64', - ], - 'ApplicationList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Application' => [ - 'description' => '泳道组所有设计应用列表。', - 'type' => 'array', - 'items' => [ - 'description' => '应用列表对象。', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25****', - ], - ], - ], - ], - ], - ], - 'EntryApplication' => [ - 'description' => 'EDAS入口/网关信息。', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'bdb251cc-02a6-48dd-891b-2ab21b25c****', - ], - ], - ], - ], - ], + 'Code' => ['description' => '接口状态或POP错误码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => 'D16979DC-4D42-**************'], ], ], ], ], - 'errorCodes' => [ - 605 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', + 'title' => '配置应用的日志服务', + 'summary' => '调用UpdateSlsLogStore接口配置应用的日志服务。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-05-10T06:20:24.000Z', 'description' => '错误码发生变更'], + ], + '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\\": \\"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' => '新建泳道组', + '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":""}]', ], - 'InsertSwimmingLane' => [ - 'summary' => '新建泳道。', + 'UpdateSwimmingLane' => [ 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26796,89 +17503,32 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'LogicalRegionId', + 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => '自定义命名空间的RegionId。'."\n" - .'格式为:`物理Region:自定义命名空间标识符`,例如`cn-hangzhou:test`。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '224'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '泳道名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], + 'schema' => ['description' => '泳道名称。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test-swimlane'], ], [ - 'name' => 'Tag', + 'name' => 'EnableRules', 'in' => 'query', - 'schema' => [ - 'description' => '标签。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tag', - ], + 'schema' => ['description' => '流控规则是否开启。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true'], ], [ - 'name' => 'GroupId', + 'name' => 'AppInfos', 'in' => 'query', - 'schema' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '95', - ], + 'schema' => ['description' => '流控泳道涉及应用列表。', 'type' => 'string', 'required' => false, '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' => '流控条件。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"priority":1,"path":"/traffic","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testvalue","cond":"==","operator":"rawvalue"}]}]', - ], - ], - [ - 'name' => 'EnableRules', - 'in' => 'query', - 'schema' => [ - 'description' => '是否启用流控规则。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'AppInfos', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道涉及应用信息。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"appId":"f72deaac-26ba-429a-948d-5fa47c4a****"},{"appId":"5049d2c8-f997-4fc9-92a2-153506a6****"}]', - ], + 'schema' => ['description' => '流控规则配置。', 'type' => 'string', 'required' => false, 'example' => '[{"priority":1,"path":"/traffictest","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testheadervalue","cond":"==","operator":"rawvalue"}]}]'], ], ], 'responses' => [ @@ -26887,128 +17537,30 @@ 'description' => '返回对象。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '75972A87-5682-5277-ADA7-DA2A01BE****', - ], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => ' 请求ID。', 'type' => 'string', 'example' => '6CB46AEA-309C-5041-9EC7-FCF4478F****'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'GroupId' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '95', - ], - 'EntryRule' => [ - 'description' => '泳道流控规则。'."\n" - ."\n" - .'priority:泳道规则优先级,取值范围:1~100。'."\n" - ."\n" - .'path:泳道规则匹配的路径。'."\n" - ."\n" - .'restItems:条件匹配规则列表。'."\n" - ."\n" - .'condition:条件匹配类型。'."\n" - .' - AND:同时满足条件。'."\n" - .' - OR:满足任一条件。'."\n" - ."\n" - .'restItems.type:规则类型。'."\n" - .'可选值范围:'."\n" - .'- header:按请求Header进行匹配。'."\n" - .'- cookie:按请求cookie进行匹配。'."\n" - .'- param:按请求参数进行匹配。'."\n" - ."\n" - .'restItems.name:规则匹配的键。'."\n" - ."\n" - .'restItems.value:规则匹配的值。'."\n" - ."\n" - .'restItems.cond:规则匹配的条件。'."\n" - .'可取值范围:'."\n" - .'- "==":等于。'."\n" - .'- "!=":不等于。'."\n" - .'- ">":大于。'."\n" - .'- "<":小于。'."\n" - .'- ">=":大于等于。'."\n" - .'- "<=":小于等于。'."\n" - .'- "in":在可选值内。'."\n" - ."\n" - .'restItems.operator:值的类型。'."\n" - .'可取值范围:'."\n" - .'- rawvalue:取原值。'."\n" - .'- mod:取模。'."\n" - .'- list:列表取值。', - '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' => '泳道关联应用列表。', - 'type' => 'string', - 'example' => '[{"appId":"9dcba109-ee9f-4e67-8916-41'."\n" - .'*******"}]', - ], - 'Tag' => [ - 'description' => '流控泳道标签。', - 'type' => 'string', - 'example' => '8202e09', - ], - 'Name' => [ - 'description' => '泳道名称。', - 'type' => 'string', - 'example' => 'test1', - ], - 'Id' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '88', - ], + 'NamespaceId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'cn-beijing:qa'], + 'GroupId' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '171'], + 'EntryRule' => ['description' => '泳道规则。', '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' => '泳道标签。', 'type' => 'string', 'example' => '2cb6b8a'], + 'Name' => ['description' => '泳道名称。', 'type' => 'string', 'example' => 'test-swimlane'], + 'Id' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '321'], 'SwimmingLaneAppRelationShipList' => [ - 'description' => '泳道涉及应用关联关系列表。', + 'description' => '流控泳道涉及应用关联关系列表。', 'type' => 'array', 'items' => [ - 'description' => '泳道涉及应用关联关系。', + 'description' => '流控泳道涉及应用关联关系。', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-app', - ], - 'Rules' => [ - 'description' => '关联规则。', - 'type' => 'string', - 'example' => 'dubbo', - ], - 'LaneId' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '88', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'bd170895-096c-4944-9007-d4582c77****', - ], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-app'], + 'Rules' => ['description' => '关联规则。', 'type' => 'string', 'example' => 'dubbo'], + 'LaneId' => ['description' => '泳道ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '321'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****'], ], ], ], @@ -27018,98 +17570,33 @@ ], ], ], - 'errorCodes' => [ - 605 => [ - [ - '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\\": \\"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' => '新建泳道', - ], - 'DeleteSwimmingLane' => [ - 'summary' => '删除全链路流量控制流控泳道。', - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'title' => '更新泳道', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLane'], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'LaneId', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '241', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息 。', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '是否成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4264F69C-686C-4107-B493-0599C8d1****', - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1,\\n \\"RequestId\\": \\"4264F69C-686C-4107-B493-0599C8d1****\\"\\n}","type":"json"}]', - 'title' => '删除泳道', + '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"}]', ], 'UpdateSwimmingLaneGroup' => [ 'summary' => '更新泳道组。', 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27117,55 +17604,27 @@ ], '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' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '98', - ], + 'schema' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '98'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '泳道组名称。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test-swimlanegroup', - ], + 'schema' => ['description' => '泳道组名称。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'test-swimlanegroup'], ], [ 'name' => 'EntryApp', 'in' => 'query', - 'schema' => [ - 'description' => '入口应用。格式为:EDAS:{应用ID}。', - 'type' => 'string', - 'required' => false, - 'example' => 'EDAS:dd2690a7-3fe4-4975-9a4c-5a60ffd6****', - ], + 'schema' => ['description' => '入口应用。格式为:EDAS:{应用ID}。', 'type' => 'string', 'required' => false, 'example' => 'EDAS:dd2690a7-3fe4-4975-9a4c-5a60ffd6****'], ], [ 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'description' => '泳道组涉及应用ID列表。', - '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****', - ], + 'schema' => ['description' => '泳道组涉及应用ID列表。', '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****'], ], ], 'responses' => [ @@ -27174,42 +17633,16 @@ 'description' => '接口响应。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '7580ED24-A2F0-5ECC-9F2B-B92E2509****', - ], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '附加信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '7580ED24-A2F0-5ECC-9F2B-B92E2509****'], 'Data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou:test', - ], - 'Name' => [ - 'description' => '泳道组名称。', - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '98', - ], + 'NamespaceId' => ['description' => '命名空间ID。', 'type' => 'string', 'example' => 'cn-hangzhou:test'], + 'Name' => ['description' => '泳道组名称。', 'type' => 'string', 'example' => 'name'], + 'Id' => ['description' => '泳道组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '98'], 'ApplicationList' => [ 'description' => '泳道组涉及应用列表。', 'type' => 'array', @@ -27217,16 +17650,8 @@ 'description' => '应用列表对象。', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****', - ], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-app'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****'], ], ], ], @@ -27234,16 +17659,8 @@ 'description' => 'EDAS入口/网关信息。', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-gateway', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => 'd52c9de9-53d0-4191-aa72-88974a6f****', - ], + 'AppName' => ['description' => '应用名称。', 'type' => 'string', 'example' => 'test-gateway'], + 'AppId' => ['description' => '应用ID。', 'type' => 'string', 'example' => 'd52c9de9-53d0-4191-aa72-88974a6f****'], ], ], ], @@ -27254,826 +17671,1008 @@ ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'OperationFailed.AuthExchange', - 'errorMessage' => 'Error transforming authentication data into whitelist rules.', + ['errorCode' => 'OperationFailed.AuthExchange', 'errorMessage' => 'Error transforming authentication data into whitelist rules.', 'description' => ''], + ], + ], + 'title' => '更新泳道组', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSwimmingLaneGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'edas:ManageTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'EDAS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], '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' => '更新泳道组', ], - 'UpdateSwimmingLane' => [ - 'summary' => '更新泳道', - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'put', + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', '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' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', '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' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-beijing.aliyuncs.com', 'endpoint' => 'edas.cn-beijing.aliyuncs.com', 'vpc' => 'edas-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-hangzhou.aliyuncs.com', 'endpoint' => 'edas.cn-hangzhou.aliyuncs.com', 'vpc' => 'edas-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-hongkong.aliyuncs.com', 'endpoint' => 'edas.cn-hongkong.aliyuncs.com', 'vpc' => 'edas-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-qingdao.aliyuncs.com', 'endpoint' => 'edas.cn-qingdao.aliyuncs.com', 'vpc' => 'edas-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-shanghai.aliyuncs.com', 'endpoint' => 'edas.cn-shanghai.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-shenzhen.aliyuncs.com', 'endpoint' => 'edas.cn-shenzhen.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'edas.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'edas.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'edas-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', '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' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', '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' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', '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' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'edas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => 'edas-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => '北京政务云', 'areaId' => 'industryCloud', 'areaName' => '行业云', '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' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'edas.aliyuncs.com', 'endpoint' => 'edas.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', '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' => '分组在切换应用分组时已经过期'], + ['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' => '实例无法切换到灰度应用分组,请确认目标应用分组类型'], + ['code' => 'Edas.errorcode.InstanceNotExist.Cluster.message', 'message' => 'The cluster instance does not exist.', 'http_code' => 500, 'description' => '集群实例不存在'], + ['code' => 'Edas.errorcode.InstanceNotExist.Instance.message', 'message' => 'The instance does not exist.', 'http_code' => 500, 'description' => '实例不存在'], + ['code' => 'Edas.errorcode.K8SAppConfiguration.UpdateFail', 'message' => 'An error occurred while setting the application configuration.', 'http_code' => 500, 'description' => '设置应用配置失败。'], + ['code' => 'Edas.errorcode.OperationFailed.ApplicationsDifferent.message', 'message' => 'The specified instance does not belong to the specified group.', 'http_code' => 500, 'description' => '所在分组的应用与所在实例的应用不匹配。'], + ['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' => '命名空间名称的长度不能超过63个字符。'], + ['code' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', 'message' => 'The value of parameter {0} is invalid.', 'http_code' => 601, 'description' => '无效输入参数:{0}'], + ['code' => 'Edas.errorcode.ParameterMissing.message', 'message' => 'You must specify all required parameters.', 'http_code' => 400, 'description' => '参数不能为空。'], + ['code' => 'Edas.errorcode.PermissionDenied.message', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 500, 'description' => '无权限操作'], + ['code' => 'Edas.errorcode.ScaleOut.NoTemplateFoundForTemplate.message', 'message' => 'The template set does not exist.', 'http_code' => 500, 'description' => '没有启动模板集'], + ['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' => '您要创建的配置标示已经被别的应用占用,请重新命名Data ID或者选择不同分组'], + ['code' => 'InstanceExist.PackageVersion', 'message' => 'Package version {0} already exists.', 'http_code' => null, 'description' => '版本号{0}已存在。'], + ['code' => 'InstanceNotExist.AddedLogPath', 'message' => 'The added path does not exist.', 'http_code' => null, 'description' => '添加的路径不存在!'], + ['code' => 'InstanceNotExist.DeletedLogPath', 'message' => 'The path to be deleted {0} does not exist.', 'http_code' => null, 'description' => '将要删除的路径{0}不存在'], + ['code' => 'InstanceNotExist.LogPath', 'message' => 'Make sure the file path exists.', 'http_code' => null, 'description' => '请确认文件路径是否存在!'], + ['code' => 'InstanceNotExist.PointedApplication', 'message' => 'Application {0} does not exist or is deleted.', 'http_code' => null, 'description' => '应用{0}不存在或已删除'], + ['code' => 'InstanceNotExist.PointedECS', 'message' => 'Instance {0} does not exist. Select another one.', 'http_code' => null, 'description' => '实例{0}不存在,请重新选择'], + ['code' => 'InstanceNotExist.ServiceGroup', 'message' => 'Group {0} does not exist.', 'http_code' => null, 'description' => '分组{0}不存在'], + ['code' => 'InstanceNotExist.ServiceOrMethodName', 'message' => 'Authentication cancellation method is valid only when the service or method name exists.', 'http_code' => null, 'description' => '当取消授权方法时,服务或者方法名字必须存在才能操作'], + ['code' => 'OperationFailed.AuthExchange', 'message' => 'Error transforming authentication data into whitelist rules.', 'http_code' => null, 'description' => '鉴权数据转换白名单规则异常'], + ['code' => 'OperationFailed.CallLark', 'message' => 'Error calling lark: {0}', 'http_code' => null, 'description' => '调用lark报错: {0}'], + ['code' => 'OperationFailed.DifferentRegion', 'message' => 'The requested resources are not in the same region. Request cannot be processed.', 'http_code' => null, 'description' => '所请求资源不在同一个 Region,无法继续。'], + ['code' => 'OperationFailed.FeatureDisabled', 'message' => 'The feature is disabled.', 'http_code' => null, 'description' => '此功能在当前环境下已被关闭'], + ['code' => 'OperationFailed.FileUnaccessible', 'message' => 'Make sure the file path can be accessed by admin users.', 'http_code' => null, 'description' => '请确认文件路径权限可被admin用户访问!'], + ['code' => 'OperationFailed.InvalidAction', 'message' => 'Invalid action status: {0}', 'http_code' => null, 'description' => '无效指令类型 {0}'], + ['code' => 'OperationFailed.InvalidActionStatus', 'message' => 'Invalid action status: {0}', 'http_code' => null, 'description' => '无效指令状态 {0}'], + ['code' => 'OperationFailed.JVMConfig', 'message' => 'Error configuring JVM parameters.', 'http_code' => null, 'description' => 'JVM参数配置失败'], + ['code' => 'OperationFailed.ModifyApplicationVersionDescription', 'message' => 'Error changing application version descriptions.', 'http_code' => null, 'description' => '修改应用版本描述错误'], + ['code' => 'OperationFailed.ModifyClusterInfo', 'message' => 'Error when modifying cluster information.', 'http_code' => null, 'description' => '修改集群信息失败'], + ['code' => 'OperationFailed.QuotaExceedInServiceGroup', 'message' => 'A maximum of {0} configurations are allowed in each group.', 'http_code' => null, 'description' => '每个分组下最多有 {0} 个配置'], + ['code' => 'OperationFailed.RequestTooMuch', 'message' => 'Queries per second have exceeded the limit.', 'http_code' => null, 'description' => '每秒访问次数超过限制'], + ['code' => 'OperationFailed.ResourceUsed', 'message' => 'The corresponding resources have been used.', 'http_code' => null, 'description' => '对应的资源已被使用。'], + ['code' => 'OperationFailed.SignatureMismatched', 'message' => 'Authentication failed. The signature value calculated by the server does not match the input signature value.', 'http_code' => null, 'description' => '认证失败,服务端计算所得签名与传入签名值不匹配'], + ['code' => 'ParameterInvalid', 'message' => 'The parameters are invalid.', 'http_code' => null, 'description' => '参数异常'], + ['code' => 'ParameterInvalid.DeployTag', 'message' => 'The label does not meet the requirements.', 'http_code' => null, 'description' => '标签不符合要求'], + ['code' => 'ParameterInvalid.DeployUrl', 'message' => 'The URL must start with \'http://\'.', 'http_code' => null, 'description' => 'URL必须以\'http://\'开头'], + ['code' => 'ParameterInvalid.Encoding', 'message' => 'The encoding is not supported.', 'http_code' => null, 'description' => '编码不支持'], + ['code' => 'ParameterInvalid.JVMConfig.IllegalCharactor', 'message' => 'Custom parameters contain illegal characters.', 'http_code' => null, 'description' => '自定义参数含有非法字符'], + ['code' => 'ParameterInvalid.LicenseSerialNumber.Actived', 'message' => 'The serial number has been activated.', 'http_code' => null, 'description' => '该序列号已被激活'], + ['code' => 'ParameterInvalid.LicenseSerialNumber.Expired', 'message' => 'The activated serial number has expired.', 'http_code' => null, 'description' => '激活序列号已过期'], + ['code' => 'ParameterInvalid.PointedParameter', 'message' => 'Invalid parameters: {0}', 'http_code' => null, 'description' => '无效输入参数:{0}'], + ['code' => 'ParameterInvalid.TimeDisorder', 'message' => 'The start time must be ealier than the end time.', 'http_code' => null, 'description' => '开始时间应该早于结束时间!'], + ['code' => 'ParameterInvalid.TomcatConnectorType', 'message' => 'Select the BIO or NIO type for connectors.', 'http_code' => null, 'description' => '连接器类型请选择BIO或NIO'], + ['code' => 'ParameterMissing.InstanceId', 'message' => 'instanceId cannot be empty.', 'http_code' => null, 'description' => 'instanceId 不得为空'], + ['code' => 'ParameterMissing.PointedParameter', 'message' => '{0} cannot be empty.', 'http_code' => null, 'description' => '{0}为空'], + ['code' => 'PermissionDenied.ActiveLicense', 'message' => 'Only the primary account is allowed to activate the serial number.', 'http_code' => null, 'description' => '对不起, 只有主账号才允许激活序列号'], + ['code' => 'PermissionDenied.DeleteOtherServiceGroup', 'message' => 'You cannot delete service groups that you do not own.', 'http_code' => null, 'description' => '不能删除不属于您的服务分组'], + ['code' => 'PermissionDenied.PointedResource', 'message' => 'You do not have access to the corresponding resources:{0}', 'http_code' => null, 'description' => '您没有对应资源的访问权限: {0}'], + ['code' => 'TypeIncorrect.PushEvent', 'message' => 'User{0}cannot push events of type{1}.', 'http_code' => null, 'description' => '不允许用户{0}推送类型为{1}的事件'], + ['code' => 'UnknownError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => '未知错误。请重试该操作,若再出现该错误请提交工单。'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'GetServiceMethodPage'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2024-02-19T03:47:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'UpdateRole'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2024-02-07T13:17:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'QueryEccInfo'], + ['description' => '错误码发生变更', 'api' => 'QueryMigrateEcuList'], + ['description' => '错误码发生变更', 'api' => 'QueryMigrateRegionList'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'tenantRelevance' => 'publicInformation', + 'createdAt' => '2024-02-07T12:41:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListSubAccount'], + ['description' => '错误码发生变更', 'api' => 'ListVpc'], + ['description' => '错误码发生变更', 'api' => 'MigrateEcu'], ], - 'parameters' => [ - [ - 'name' => 'LaneId', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '224', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道名称。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test-swimlane', - ], - ], - [ - 'name' => 'EnableRules', - 'in' => 'query', - 'schema' => [ - 'description' => '流控规则是否开启。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], - ], - [ - 'name' => 'AppInfos', - 'in' => 'query', - 'schema' => [ - 'description' => '流控泳道涉及应用列表。', - 'type' => 'string', - 'required' => false, - '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' => '流控规则配置。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"priority":1,"path":"/traffictest","condition":"AND","restItems":[{"type":"header","name":"testheader","value":"testheadervalue","cond":"==","operator":"rawvalue"}]}]', - ], - ], + 'createdAt' => '2024-02-07T12:13:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListRole'], + ['description' => '错误码发生变更', 'api' => 'ListServiceGroups'], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '返回对象。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => ' 请求ID。', - 'type' => 'string', - 'example' => '6CB46AEA-309C-5041-9EC7-FCF4478F****', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => '命名空间ID。', - 'type' => 'string', - 'example' => 'cn-beijing:qa', - ], - 'GroupId' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '171', - ], - 'EntryRule' => [ - 'description' => '泳道规则。', - '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' => '泳道标签。', - 'type' => 'string', - 'example' => '2cb6b8a', - ], - 'Name' => [ - 'description' => '泳道名称。', - 'type' => 'string', - 'example' => 'test-swimlane', - ], - 'Id' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '321', - ], - 'SwimmingLaneAppRelationShipList' => [ - 'description' => '流控泳道涉及应用关联关系列表。', - 'type' => 'array', - 'items' => [ - 'description' => '流控泳道涉及应用关联关系。', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'test-app', - ], - 'Rules' => [ - 'description' => '关联规则。', - 'type' => 'string', - 'example' => 'dubbo', - ], - 'LaneId' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '321', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '476d26d9-b54c-40b8-8af9-d898cdc2****', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'createdAt' => '2024-02-07T09:31:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListCluster'], + ['description' => '错误码发生变更', 'api' => 'ListComponents'], + ['description' => '错误码发生变更', 'api' => 'ListConsumedServices'], + ['description' => '错误码发生变更', 'api' => 'ListEcsNotInCluster'], + ['description' => '错误码发生变更', 'api' => 'ListEcuByRegion'], + ], + 'createdAt' => '2024-02-07T09:02:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListAuthority'], + ['description' => '错误码发生变更', 'api' => 'ListBuildPack'], ], - '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' => '更新泳道', + 'createdAt' => '2024-02-07T08:40:41.000Z', + 'description' => '', ], - 'ListSwimmingLaneGroup' => [ - 'path' => '/pop/v5/trafficmgnt/swimming_lane_groups', - 'methods' => [ - 'get', + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteRole'], + ['description' => '错误码发生变更', 'api' => 'DeleteServiceGroup'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2024-02-07T06:26:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteEcu'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2024-02-07T04:26:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AuthorizeRole'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', + 'createdAt' => '2024-02-06T09:34:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AuthorizeResourceGroup'], ], - 'parameters' => [ - [ - 'name' => 'LogicalRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '命名空间ID。'."\n" - ."\n" - .'自定义命名空间ID格式为:`地域ID:命名空间标示符`,例如:`cn-beijing:test`。 '."\n" - .'默认命名空间ID格式为:地域ID,例如:cn-beijing。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen:publish', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], - ], + 'createdAt' => '2024-02-06T08:28:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '返回对象。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'BF238E37-671A-5045-B49A-0B29C166****', - ], - 'Data' => [ - 'description' => '泳道组列表数据。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => '微服务空间ID。', - 'type' => 'string', - 'example' => 'cn-shanghai:daily', - ], - 'Name' => [ - 'description' => '泳道组名称。', - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '257', - ], - 'ApplicationList' => [ - 'description' => '泳道组涉及应用列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'java-app', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '406073bf-afc2-4142-b3d7-629a0308****', - ], - ], - ], - ], - 'EntryApplication' => [ - 'description' => 'EDAS入口/网关信息。', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'java-app', - ], - 'Source' => [ - 'description' => '数据来源,需配置为EDAS。', - 'type' => 'string', - 'example' => 'EDAS', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '406073bf-afc2-4142-b3d7-629a0308****', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'createdAt' => '2024-01-30T08:21:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], ], - 'errorCodes' => [ - 601 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', - ], - ], + 'createdAt' => '2023-11-13T02:33:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], ], - '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' => '获取泳道组列表', - 'summary' => '获取泳道组列表。', + 'createdAt' => '2023-10-10T06:55:34.000Z', + 'description' => '', ], - 'ListSwimmingLane' => [ - 'path' => '/pop/v5/trafficmgnt/swimming_lanes', - 'methods' => [ - 'get', + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetApplication'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2023-09-25T12:39:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListK8sIngressRules'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2023-09-25T02:57:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteSwimmingLane'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', + 'createdAt' => '2023-07-18T12:33:04.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListApplication'], ], - 'parameters' => [ - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '79', - ], - ], + 'createdAt' => '2023-07-12T02:17:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '返回对象。', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '附加信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C2CDBBF9-9C9A-5AA1-9F39-094ADEB3****', - ], - 'Data' => [ - 'description' => '响应数据。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NamespaceId' => [ - 'description' => '微服务空间。', - 'type' => 'string', - 'example' => 'cn-hangzhou:pre2', - ], - 'GroupId' => [ - 'description' => '泳道组ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '156', - ], - 'ScenarioSign' => [ - 'description' => '预期标签。', - 'type' => 'string', - 'example' => 'd0ad1052', - ], - 'EntryRule' => [ - 'description' => '条件列表。', - 'type' => 'string', - 'example' => '[{\\"condition\\":\\"AND\\",\\"enable\\":true,\\"path\\":\\"/\\",\\"priority\\":1,\\"restItems\\":[{\\"cond\\":\\"==\\",\\"datum\\":\\"value\\",\\"name\\":\\"tags\\",\\"operator\\":\\"rawvalue\\",\\"type\\":\\"header\\",\\"value\\":\\"value\\"}]}]', - ], - 'Tag' => [ - 'description' => '标签。', - 'type' => 'string', - 'example' => '2cb6b8a', - ], - 'EnableRules' => [ - 'description' => '流控规则是否开启。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Name' => [ - 'description' => '泳道名称。', - 'type' => 'string', - 'example' => 'name', - ], - 'Id' => [ - 'description' => '流控泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '348', - ], - 'SwimmingLaneAppRelationShipList' => [ - 'description' => '流控泳道涉及应用列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => '应用名称。', - 'type' => 'string', - 'example' => 'prod-app-58846', - ], - 'Rules' => [ - 'description' => '关联规则。', - 'type' => 'string', - 'example' => '""', - ], - 'LaneId' => [ - 'description' => '泳道ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '348', - ], - 'AppId' => [ - 'description' => '应用ID。', - 'type' => 'string', - 'example' => '3b615783-01f1-4569-baa3-cb71bdb6****', - ], - 'Extra' => [ - 'description' => '补充信息。', - 'type' => 'string', - 'example' => 'edas-canary', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'createdAt' => '2023-06-02T08:34:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetApplication'], ], - 'errorCodes' => [ - 601 => [ - [ - 'errorCode' => 'Edas.errorcode.ParameterInvalid.PointedParameter.message', - 'errorMessage' => 'The value of parameter {0} is invalid.', - ], - ], + 'createdAt' => '2023-05-22T11:41:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListK8sIngressRules'], ], - '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' => '获取泳道列表', - 'summary' => '获取泳道组下的泳道列表。', + 'createdAt' => '2023-05-17T03:19:31.000Z', + 'description' => '', ], - 'DescribeLocalitySetting' => [ - 'path' => '/pop/sp/applications/locality/setting', - 'methods' => [ - 'get', + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListSwimmingLane'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2023-05-08T08:27:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2023-04-11T05:48:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', + 'createdAt' => '2023-04-03T07:07:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], ], - 'parameters' => [ - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'description' => '地域id。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => '微服务空间id', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shanghai:test', - ], - ], - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => '应用ID。可通过查询ListApplication接口获取,请参见[ListApplication](~~423162~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'dc190221-22b5-491c-a548-82f5fa1e3e26', - ], - ], + 'createdAt' => '2023-03-27T07:14:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListResourceGroup'], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '状态码。说明 200表示成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'HttpStatusCode' => [ - 'description' => 'http状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求唯一标识ID。', - 'type' => 'string', - 'example' => '1053-08e4-47a5-b2ab-5c0323de****', - ], - 'Success' => [ - 'description' => '返回结果。'."\n" - ."\n" - .'- `true`:返回成功。'."\n" - .'- `false`:返回失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Data' => [ - 'description' => '空值,无实际含义。', - 'type' => 'object', - 'properties' => [ - 'Threshold' => [ - 'description' => '阈值', - 'type' => 'number', - 'format' => 'float', - 'example' => '15', - ], - 'Enabled' => [ - 'description' => '是否启用', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'createdAt' => '2023-03-24T08:24:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListApplication'], ], - '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"}]', - 'title' => '获取本地配置', - 'summary' => '获取本地配置', - 'description' => '> 当前仅支持Deployment资源的修改。', + 'createdAt' => '2023-03-24T08:21:38.000Z', + 'description' => '', ], - ], - 'endpoints' => [ [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], + ], + 'createdAt' => '2023-03-24T08:20:03.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'CreateApplicationScalingRule'], + ], + 'createdAt' => '2023-01-09T08:28:42.000Z', + 'description' => '- k8s弹性API更新', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ], + 'createdAt' => '2023-01-09T08:03:11.000Z', + 'description' => '增加参数', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeApplicationScalingRules'], + ['description' => '响应参数发生变更', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2023-01-03T03:45:42.000Z', + 'description' => '- 更新K8s弹性接口.', ], [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2023-01-03T03:16:36.000Z', + 'description' => '- k8s弹性接口增加参数ScalingBehaviour', ], [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetServiceProvidersPage'], + ], + 'createdAt' => '2023-01-03T01:53:26.000Z', + 'description' => '调整实例备注字段', ], [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetApplication'], + ], + 'createdAt' => '2022-12-13T09:41:57.000Z', + 'description' => 'GetApplication接口增加HaveManageAccess返回', ], [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetServiceProvidersPage'], + ], + 'createdAt' => '2022-12-08T11:31:37.000Z', + 'description' => '增加实例标签返回', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateK8sIngressRule'], + ['description' => '请求参数发生变更', 'api' => 'DeleteConfigTemplate'], + ['description' => '请求参数发生变更', 'api' => 'DeleteK8sIngressRule'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'GetServiceDetail'], + ['description' => '请求参数发生变更', 'api' => 'ScaleoutApplicationWithNewInstances'], + ['description' => '请求参数发生变更', 'api' => 'UpdateK8sResource'], + ], + 'createdAt' => '2022-12-06T08:29:46.000Z', + 'description' => '订正接口参数是否为必填', ], [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListMethods'], + ], + 'createdAt' => '2022-11-25T06:13:34.000Z', + 'description' => '增加接口超时时间', ], [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'GetServiceProvidersPage'], + ], + 'createdAt' => '2022-11-21T02:15:21.000Z', + 'description' => '接口使用后端跨域域名', ], [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'CreateApplicationScalingRule'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DeleteApplicationScalingRule'], + ], + 'createdAt' => '2022-11-18T06:55:04.000Z', + 'description' => '更新文档', ], [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], + ], + 'createdAt' => '2022-11-17T05:57:29.000Z', + 'description' => '增加参数映射', ], [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DescribeApplicationScalingRules'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DisableApplicationScalingRule'], + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'EnableApplicationScalingRule'], + ], + 'createdAt' => '2022-11-17T05:39:56.000Z', + 'description' => '文档更新', ], [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'ListClusterMembers'], + ], + 'createdAt' => '2022-11-07T08:52:39.000Z', + 'description' => 'ListClusterMembers返回内容增加ECS私网IP字段PrivateIp', ], [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListApplication'], + ], + 'createdAt' => '2022-11-07T01:08:05.000Z', + 'description' => '修改ListApplication接口', ], [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'StartK8sAppPrecheck'], + ], + 'createdAt' => '2022-11-02T07:07:00.000Z', + 'description' => '支持微服务空间预检', ], [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetApplication'], + ], + 'createdAt' => '2022-10-28T05:55:04.000Z', + 'description' => '修改GetApplication接口', ], [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateK8sIngressRule'], + ['description' => '响应参数发生变更', 'api' => 'ListK8sIngressRules'], + ['description' => '请求参数发生变更', 'api' => 'UpdateK8sIngressRule'], + ], + 'createdAt' => '2022-10-27T06:19:40.000Z', + 'description' => 'Ingress接口支持注解和标签', ], [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListUserDefineRegion'], + ], + 'createdAt' => '2022-10-27T00:31:20.000Z', + 'description' => '调整流控阈值', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ], + 'createdAt' => '2022-10-19T15:36:27.000Z', + 'description' => '增加查询参数', ], [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], + ['description' => '错误码发生变更', 'api' => 'UpdateK8sSlb'], + ], + 'createdAt' => '2022-10-18T16:45:06.000Z', + 'description' => '支持临时存储', ], [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'GetApplication'], + ], + 'createdAt' => '2022-10-17T02:12:29.000Z', + 'description' => 'GetApplication接口返回值增加字段enablePortCheck,enableUrlCheck', ], [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetServiceListPage'], + ], + 'createdAt' => '2022-09-28T03:47:15.000Z', + 'description' => '更新文档配置', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListUserDefineRegion'], + ], + 'createdAt' => '2022-09-28T03:08:15.000Z', + 'description' => '修改流控策略', ], [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListRecentChangeOrder'], + ], + 'createdAt' => '2022-09-22T03:32:41.000Z', + 'description' => '修改接口流控阈值', ], [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListSwimmingLaneGroup'], + ], + 'createdAt' => '2022-09-19T08:15:21.000Z', + 'description' => 'ListSwimmingLaneGroup支持GroupId入参', ], [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListK8sIngressRules'], + ['description' => '响应参数发生变更', 'api' => 'ListK8sIngressRules'], + ], + 'createdAt' => '2022-09-16T11:41:25.000Z', + 'description' => '新增MseIngress字段', ], [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'ListApplication'], + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'ListApplication'], + ], + 'createdAt' => '2022-09-16T03:44:29.000Z', + 'description' => 'listapplication添加', ], [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ImportK8sCluster'], + ['description' => '错误码发生变更', 'api' => 'ImportK8sCluster'], + ], + 'createdAt' => '2022-09-15T03:18:01.000Z', + 'description' => '启用返回日志记录', ], [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'InsertCluster'], + ['description' => '错误码发生变更', 'api' => 'InsertCluster'], + ['description' => '错误码发生变更', 'api' => 'RestartApplication'], + ['description' => '错误码发生变更', 'api' => 'RestartApplication'], + ], + 'createdAt' => '2022-09-14T12:00:09.000Z', + 'description' => '启用接口返回日志记录', ], [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'BindK8sSlb'], + ['description' => '错误码发生变更', 'api' => 'BindK8sSlb'], + ], + 'createdAt' => '2022-09-14T09:39:17.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'BindSlb'], + ['description' => '错误码发生变更', 'api' => 'BindSlb'], + ['description' => '错误码发生变更', 'api' => 'DeleteApplication'], + ['description' => '错误码发生变更', 'api' => 'DeleteApplication'], + ['description' => '错误码发生变更', 'api' => 'DeleteUserDefineRegion'], + ['description' => '错误码发生变更', 'api' => 'DeleteUserDefineRegion'], + ], + 'createdAt' => '2022-09-14T09:29:09.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'UnbindK8sSlb'], + ['description' => '错误码发生变更', 'api' => 'UnbindK8sSlb'], + ], + 'createdAt' => '2022-09-14T08:38:29.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AuthorizeApplication'], + ['description' => '错误码发生变更', 'api' => 'AuthorizeApplication'], + ], + 'createdAt' => '2022-09-14T08:32:27.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'edas.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddLogPath'], + ['description' => '错误码发生变更', 'api' => 'AddLogPath'], + ['description' => '错误码发生变更', 'api' => 'ContinuePipeline'], + ['description' => '错误码发生变更', 'api' => 'ContinuePipeline'], + ['description' => '错误码发生变更', 'api' => 'DeleteClusterMember'], + ['description' => '错误码发生变更', 'api' => 'DeleteClusterMember'], + ['description' => '错误码发生变更', 'api' => 'InsertRole'], + ['description' => '错误码发生变更', 'api' => 'InsertRole'], + ], + 'createdAt' => '2022-09-14T08:21:43.000Z', + 'description' => 'API整改,增加响应记录', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ResetApplication'], + ['description' => '错误码发生变更', 'api' => 'ResetApplication'], + ['description' => '错误码发生变更', 'api' => 'UpdateContainerConfiguration'], + ['description' => '错误码发生变更', 'api' => 'UpdateContainerConfiguration'], + ], + 'createdAt' => '2022-09-14T08:05:15.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ScaleOutApplication'], + ['description' => '错误码发生变更', 'api' => 'ScaleOutApplication'], + ['description' => '错误码发生变更', 'api' => 'UpdateAccountInfo'], + ['description' => '错误码发生变更', 'api' => 'UpdateAccountInfo'], + ], + 'createdAt' => '2022-09-14T05:51:48.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'InsertDeployGroup'], + ['description' => '错误码发生变更', 'api' => 'InsertDeployGroup'], + ], + 'createdAt' => '2022-09-14T05:44:24.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteCluster'], + ['description' => '错误码发生变更', 'api' => 'DeleteCluster'], + ['description' => '错误码发生变更', 'api' => 'DeleteDeployGroup'], + ['description' => '错误码发生变更', 'api' => 'DeleteDeployGroup'], + ['description' => '错误码发生变更', 'api' => 'DeployApplication'], + ['description' => '错误码发生变更', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2022-09-14T04:00:41.000Z', + 'description' => '接口启用返回日志记录', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListAliyunRegion'], + ['description' => '错误码发生变更', 'api' => 'ListAliyunRegion'], + ], + 'createdAt' => '2022-09-13T11:49:06.000Z', + 'description' => '更新接口资源操作类型', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'edas.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'GetContainerConfiguration'], + ['description' => '错误码发生变更', 'api' => 'GetContainerConfiguration'], + ['description' => '错误码发生变更', 'api' => 'GetScalingRules'], + ['description' => '错误码发生变更', 'api' => 'GetScalingRules'], + ], + 'createdAt' => '2022-09-13T11:27:36.000Z', + 'description' => '更新接口资源操作类型', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'edas.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'UpdateJvmConfiguration'], + ['description' => '错误码发生变更', 'api' => 'UpdateJvmConfiguration'], + ], + 'createdAt' => '2022-09-13T06:37:07.000Z', + 'description' => '启用接口响应日志', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'edas.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DeleteK8sApplication'], + ], + 'createdAt' => '2022-08-17T07:24:41.000Z', + 'description' => '删除k8s应用,增加参数。', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'edas.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'StartK8sAppPrecheck'], + ], + 'createdAt' => '2022-07-29T08:53:07.000Z', + 'description' => '移除StartK8sAppPrecheck接口regionId参数', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'edas.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ], + 'createdAt' => '2022-07-28T08:43:00.000Z', + 'description' => '支持获取应用SLB信息', ], [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'edas.cn-north-2-gov-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListK8sIngressRules'], + ], + 'createdAt' => '2022-07-27T08:01:59.000Z', + 'description' => '增加Ingress采样率回显参数', ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'edas.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'ListDeployGroup'], + ], + 'createdAt' => '2022-07-12T09:36:42.000Z', + 'description' => 'ListDeployGroup支持获取临时存储配置', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'edas.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'GetPackageStorageCredential'], + ], + 'createdAt' => '2022-07-12T06:44:03.000Z', + 'description' => '为GetK8sCluster接口增加集群子类型参数信息', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'edas.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetK8sAppPrecheckResult'], + ], + 'createdAt' => '2022-07-04T06:13:12.000Z', + 'description' => '新增K8s应用变更预检接口', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'edas.cn-zhangjiakou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateK8sApplicationConfig'], + ], + 'createdAt' => '2022-07-04T06:00:34.000Z', + 'description' => '新增临时存储配置', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateK8sService'], + ['description' => '请求参数发生变更', 'api' => 'UpdateK8sService'], + ], + 'createdAt' => '2022-06-16T02:43:53.000Z', + 'description' => '新增创建和查询K8s Service参数externalTrafficPolicy', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'edas.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'GetCluster'], + ], + 'createdAt' => '2022-06-16T02:14:41.000Z', + 'description' => 'GetCluster返回增加SubClusterType字段', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'ListK8sNamespaces'], + ], + 'createdAt' => '2022-06-02T03:29:25.000Z', + 'description' => '支持获取K8s命名空间', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'edas.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ], + 'createdAt' => '2022-05-30T08:25:27.000Z', + 'description' => '增加GetK8sApplication接口输出字段deployGroup.env', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'QueryApplicationStatus'], + ], + 'createdAt' => '2022-05-23T06:10:30.000Z', + 'description' => '调整API频率', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployK8sApplication'], + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], + ], + 'createdAt' => '2022-05-18T08:55:11.000Z', + 'description' => '创建、部署应用新增参数:标签和注解、推空保护开关、无损上线配置。', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ConvertK8sResource'], + ['description' => '错误码发生变更', 'api' => 'DisableMockRule'], + ['description' => '错误码发生变更', 'api' => 'EnableMockRule'], + ['description' => '错误码发生变更', 'api' => 'UpdateK8sResource'], + ], + 'createdAt' => '2022-05-10T11:42:07.000Z', + 'description' => '添加错误码映射', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'QuerySlsLogStoreList'], + ['description' => '错误码发生变更', 'api' => 'UpdateSlsLogStore'], + ], + 'createdAt' => '2022-05-10T11:39:41.000Z', + 'description' => '添加错误码映射', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'InsertApplication'], + ], + 'createdAt' => '2022-04-25T08:57:53.000Z', + 'description' => '新增GroupResourceId', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'InsertK8sApplication'], + ], + 'createdAt' => '2022-04-25T08:57:53.000Z', + 'description' => '添加GroupResourceId参数', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListK8sConfigMaps'], + ], + 'createdAt' => '2022-04-12T12:53:52.000Z', + 'description' => '参数订正', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListK8sSecrets'], + ], + 'createdAt' => '2022-04-12T12:03:20.000Z', + 'description' => '参数订正', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetK8sApplication'], + ], + 'createdAt' => '2022-03-14T07:26:59.000Z', + 'description' => 'GetK8sApplication增加developType信息透出', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'CreateConfigTemplate'], + ['description' => 'OpenAPI 下线', 'api' => 'DeleteConfigTemplate'], + ['description' => 'OpenAPI 下线', 'api' => 'ListConfigTemplates'], + ['description' => 'OpenAPI 下线', 'api' => 'UpdateConfigTemplate'], + ], + 'createdAt' => '2022-01-13T07:39:57.000Z', + 'description' => '配置模板接口发布', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListK8sSecrets'], + ], + 'createdAt' => '2022-01-13T07:35:56.000Z', + 'description' => '配置模板接口发布', + ], + ], + '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'], + ], + ], + 'ram' => [ + 'productCode' => 'EDAS', + 'productName' => '企业级分布式应用服务', + 'ramCodes' => ['edas'], + 'ramLevel' => '资源级', + 'ramConditions' => [ + [ + 'name' => 'edas:tag', + 'schema' => ['type' => 'String'], + ], ], + 'ramActions' => [], + 'resourceTypes' => [], ], ]; |
