diff options
Diffstat (limited to 'data/en_us/pai-dsw/2022-01-01')
| -rw-r--r-- | data/en_us/pai-dsw/2022-01-01/api-docs.php | 11964 |
1 files changed, 5237 insertions, 6727 deletions
diff --git a/data/en_us/pai-dsw/2022-01-01/api-docs.php b/data/en_us/pai-dsw/2022-01-01/api-docs.php index e33e102..68bca6c 100644 --- a/data/en_us/pai-dsw/2022-01-01/api-docs.php +++ b/data/en_us/pai-dsw/2022-01-01/api-docs.php @@ -1,633 +1,512 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'pai-dsw', - 'version' => '2022-01-01', - ], + 'info' => ['style' => 'ROA', 'product' => 'pai-dsw', 'version' => '2022-01-01'], 'directories' => [ [ - 'id' => 313771, - 'title' => null, + 'children' => ['GetInstanceEvents', 'DeleteInstanceLabels'], 'type' => 'directory', - 'children' => [ - 'CreateInstance', - 'DeleteInstance', - 'UpdateInstance', - 'StartInstance', - 'StopInstance', - 'GetInstance', - 'ListInstances', - 'GetInstanceEvents', - 'UpdateInstanceLabels', - 'DeleteInstanceLabels', - 'DeleteInstances', - 'StopInstances', - ], + 'title' => 'Instance', ], [ - 'id' => 313784, - 'title' => null, + 'children' => ['GetLifecycle'], 'type' => 'directory', - 'children' => [ - 'GetLifecycle', - ], + 'title' => 'Lifecycle', ], [ - 'id' => 313786, - 'title' => null, + 'children' => ['GetInstanceMetrics'], 'type' => 'directory', - 'children' => [ - 'GetInstanceMetrics', - ], + 'title' => 'Resource monitoring', ], [ - 'id' => 313788, - 'title' => null, + 'children' => ['CreateInstanceSnapshot', 'DeleteInstanceSnapshot', 'GetInstanceSnapshot', 'ListInstanceSnapshot'], 'type' => 'directory', - 'children' => [ - 'CreateInstanceSnapshot', - 'DeleteInstanceSnapshot', - 'GetInstanceSnapshot', - 'ListInstanceSnapshot', - ], + 'title' => 'Instance snapshot', ], [ - 'id' => 313793, - 'title' => null, + 'children' => ['GetResourceGroupStatistics', 'ListInstanceStatistics'], 'type' => 'directory', - 'children' => [ - 'GetResourceGroupStatistics', - 'ListInstanceStatistics', - ], + 'title' => 'Statistics', ], [ - 'id' => 313796, - 'title' => null, + 'children' => ['CreateInstanceShutdownTimer', 'DeleteInstanceShutdownTimer', 'GetInstanceShutdownTimer'], 'type' => 'directory', - 'children' => [ - 'CreateInstanceShutdownTimer', - 'DeleteInstanceShutdownTimer', - 'GetInstanceShutdownTimer', - ], + 'title' => 'Scheduled automatic instance shutdown', ], [ - 'id' => 313800, - 'title' => null, + 'children' => ['CreateIdleInstanceCuller', 'DeleteIdleInstanceCuller', 'GetIdleInstanceCuller'], 'type' => 'directory', - 'children' => [ - 'CreateIdleInstanceCuller', - 'DeleteIdleInstanceCuller', - 'GetIdleInstanceCuller', - ], + 'title' => 'Idle instance automatic shutdown', ], [ - 'id' => 313804, - 'title' => null, + 'children' => ['ListEcsSpecs'], 'type' => 'directory', - 'children' => [ - 'ListEcsSpecs', - ], + 'title' => 'ECS instance type', ], [ - 'id' => 313806, - 'title' => null, + 'children' => ['GetUserConfig'], 'type' => 'directory', - 'children' => [ - 'GetUserConfig', - ], + 'title' => 'User configuration', ], [ - 'id' => 313808, - 'title' => null, + 'children' => ['CreateDiagnosis', 'GetMetrics', 'GetUserCommand', 'ListSystemLogs'], 'type' => 'directory', - 'children' => [ - 'CreateDiagnosis', - 'GetToken', - 'GetMetrics', - 'GetUserCommand', - 'ListSystemLogs', - ], + 'title' => 'Other', ], [ - 'id' => 0, - 'title' => '其它', - 'type' => 'directory', 'children' => [ - 'GetSanityCheckTask', - 'CreateSanityCheckTask', + 'CreateInstance', 'CreateSanityCheckTask', 'CreateTempFile', 'CreateTempFileTask', 'DeleteInstance', 'DeleteInstances', 'DeleteTempFile', 'DeleteTempFileTask', 'DeleteTempFileTasks', 'GetInstance', 'GetSanityCheckTask', 'GetTempFile', 'GetTempFileTask', 'GetToken', 'ListInstances', 'ListTempFiles', 'QueryAutoShutdownPolicies', 'StartInstance', 'StopInstance', 'StopInstances', + 'UpdateInstance', 'UpdateInstanceLabels', 'UpdateTempFile', 'UpdateTempFileTask', ], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [ - 'CredentialConfig' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'BandwidthLimit' => [ + 'title' => '带宽限制', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'Enable', + 'EgressWhitelists' => [ + 'title' => '出口白名单', + 'type' => 'array', + 'items' => ['type' => 'string'], ], - 'AliyunEnvRoleKey' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '0', - 'backendName' => 'AliyunEnvRoleKey', + 'IngressRate' => ['title' => '入口速率', 'type' => 'string'], + 'EgressRate' => ['title' => '出口速率', 'type' => 'string'], + 'IngressWhitelists' => [ + 'title' => '入口白名单', + 'type' => 'array', + 'items' => ['type' => 'string'], ], + ], + ], + 'CredentialConfig' => [ + 'title' => 'credential配置', + 'description' => 'The credential configuration.', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Enable' => ['title' => '是否开启Credential注入', 'description' => 'Specifies whether to enable credential injection.', 'visibility' => 'Public', 'type' => 'boolean', 'backendName' => 'Enable', 'example' => 'true'], + 'AliyunEnvRoleKey' => ['title' => '环境变量角色key', 'description' => 'The key of the environment variable role.', 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'backendName' => 'AliyunEnvRoleKey', 'example' => '0'], 'Configs' => [ - 'title' => '', - 'description' => '', + 'title' => '配置列表', + 'description' => 'The list of configurations.', 'visibility' => 'Public', 'type' => 'array', 'items' => [ 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => '0', - 'backendName' => 'Key', - ], - 'Type' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'Role', - 'backendName' => 'Type', - ], + 'Key' => ['title' => '标识config的key。', 'description' => 'The key that identifies the configuration.', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'backendName' => 'Key', 'example' => '0'], + 'Type' => ['title' => '配置类型。可选值包括:Role-角色扮演;RoleChain-角色链扮演', 'description' => 'The configuration type. Valid values: Role (role assumption) and RoleChain (chained role assumption).', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'backendName' => 'Type', 'example' => 'Role'], 'Roles' => [ - 'title' => '', - 'description' => '', + 'title' => '配置的角色列表', + 'description' => 'The list of configured roles.', 'visibility' => 'Public', 'type' => 'array', 'items' => [ 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'RoleArn' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ram::123******:role/****', - 'backendName' => 'RoleArn', - ], - 'RoleType' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'service', - 'backendName' => 'RoleType', - ], - 'AssumeRoleFor' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '123******', - 'backendName' => 'AssumeRoleFor', - ], - 'Policy' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '{}', - 'backendName' => 'Policy', - ], + 'RoleArn' => ['title' => 'RAM角色arn', 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'backendName' => 'RoleArn', 'example' => 'acs:ram::123******:role/****'], + 'RoleType' => ['title' => '扮演的角色类型。可选值包括:service-由服务扮演;user-由普通用户账号扮演', 'description' => 'The type of entity that assumes the role. Valid values: service (assumed by a service) and user (assumed by a regular user).', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'backendName' => 'RoleType', 'example' => 'service'], + 'AssumeRoleFor' => ['title' => '扮演角色的所属主体', 'description' => 'The entity that assumes the role.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'AssumeRoleFor', 'example' => '123******'], + 'Policy' => ['title' => '为角色进一步限定的权限策略。', 'description' => 'The access policy that further restricts the permissions of the role.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'Policy', 'example' => '{}'], 'UserInfo' => [ - 'title' => '', - 'description' => '', + 'title' => '代理的用户信息。', + 'description' => 'The user information for the proxy.', 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Id' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '456******', - 'backendName' => 'Id', - ], - 'Type' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'S', - 'backendName' => 'Type', - ], - 'AccessKeyId' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'LT********', - 'backendName' => 'AccessKeyId', - ], - 'SecurityToken' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '********', - 'backendName' => 'SecurityToken', - ], + 'Id' => ['title' => '用户ID。', 'description' => 'The user ID.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'Id', 'example' => '456******'], + 'Type' => ['title' => '用户类型。可选值包括:customer-主账号;sub-子账号;AssumedRoleUser-RAM角色', 'description' => 'The user type. Valid values include the following:'."\n" + ."\n" + .'- customer: an Alibaba Cloud account'."\n" + ."\n" + .'- sub: a RAM user'."\n" + ."\n" + .'- AssumedRoleUser: a RAM role', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'Type', 'example' => 'S'], + 'AccessKeyId' => ['title' => '访问密钥ID。', 'description' => 'The AccessKey ID.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'AccessKeyId', 'example' => 'LT********'], + 'SecurityToken' => ['title' => '安全令牌', 'description' => 'The security token.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'SecurityToken', 'example' => '********'], ], 'backendName' => 'UserInfo', + 'example' => '', ], ], 'extendType' => 'true', + 'description' => '', + 'title' => '', + 'example' => '', ], 'backendName' => 'Roles', 'itemName' => 'Roles', + 'example' => '', ], ], 'extendType' => 'true', + 'description' => '', + 'title' => '', + 'example' => '', ], 'backendName' => 'Configs', 'itemName' => 'Configs', + 'example' => '', ], ], + 'example' => '', ], 'DemoCategory' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'public', + 'title' => '样例目录', + 'description' => 'The demo folder.', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'SubCategories' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'public', + 'title' => '目录列表', + 'description' => 'The list of folders.', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'visibility' => 'public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/DemoCategory', - ], + 'items' => ['visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/DemoCategory', 'description' => '', 'title' => '', 'example' => ''], 'backendName' => 'SubCategories', + 'example' => '', ], - 'CategoryName' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'public', - 'type' => 'string', - 'example' => 'SDK Usage', - 'backendName' => 'CategoryName', - ], - 'CategoryCode' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'public', - 'type' => 'string', - 'example' => 'sdk', - 'backendName' => 'CategoryCode', - ], - 'Order' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'public', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12', - 'backendName' => 'Order', - ], + 'CategoryName' => ['title' => '目录名', 'description' => 'The folder name.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'CategoryName', 'example' => 'SDK Usage'], + 'CategoryCode' => ['title' => '目录码', 'description' => 'The folder code.', 'visibility' => 'Public', 'type' => 'string', 'backendName' => 'CategoryCode', 'example' => 'sdk'], + 'Order' => ['title' => '序号', 'description' => 'The ordinal number.', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'Order', 'example' => '12'], ], + 'example' => '', ], 'DynamicMount' => [ 'title' => 'Dynamic Mount Config', - 'description' => '', + 'description' => 'The dynamic mount configuration.', 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'title' => 'Is dynamic mount enabled.', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'Enable', - ], + 'Enable' => ['title' => 'Is dynamic mount enabled.', 'description' => 'Specifies whether to enable dynamic mounting.', 'visibility' => 'Public', 'type' => 'boolean', 'backendName' => 'Enable', 'example' => 'true'], 'MountPoints' => [ 'title' => 'Mount points of dynaimc config.', - 'description' => '', + 'description' => 'The list of dynamic mount targets.', 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '', - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/DynamicMountPoint', - ], + 'items' => ['description' => 'A dynamic mount target.', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/DynamicMountPoint', 'title' => '', 'example' => ''], 'backendName' => 'MountPoints', + 'example' => '', ], ], + 'example' => '', ], 'DynamicMountPoint' => [ - 'title' => 'Dynamic Mount Point', - 'description' => '', - 'visibility' => 'Public', + 'title' => '', + 'description' => 'The dynamic mount point configuration.', 'type' => 'object', 'properties' => [ - 'RootPath' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => '/mnt/dynamic/', - 'backendName' => 'RootPath', - ], - 'Options' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '{}', - 'backendName' => 'Options', - ], + 'RootPath' => ['title' => '', 'description' => 'The root path of the dynamic mount point. The mount path of a dynamically mounted dataset must be a subpath of the root path. The default root path is /mnt/dynamic/.'."\n" + ."\n" + .'You can configure multiple dynamic mount root paths, but a root path cannot be a subpath of another root path.', 'type' => 'string', 'required' => true, 'example' => '/mnt/dynamic/'], + 'Options' => ['title' => '', 'description' => 'The mount point configuration.', 'type' => 'string', 'example' => '{}'], ], + 'example' => '', ], 'ForwardInfo' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => 'DSW实例端口透出信息', + 'description' => 'The port mapping configuration for a DSW instance.', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'Enable', - ], - 'ContainerName' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'dsw-notebook', - 'backendName' => 'ContainerName', - ], - 'ForwardPort' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '22', - 'backendName' => 'ForwardPort', - ], - 'NatGatewayId' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ngw-bp1uewa15k4iy5770****', - 'backendName' => 'NatGatewayId', - ], - 'EipAllocationId' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'eip-25877c70gddh****', - 'backendName' => 'EipAllocationId', - ], - 'SSHPublicKey' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ssh-rsa AAAAB3****************************', - 'backendName' => 'SSHPublicKey', - ], - 'Name' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ssh', - 'backendName' => 'Name', - ], - 'ExternalPort' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '10086', - 'backendName' => 'ExternalPort', - ], + 'Enable' => ['title' => '是否开启端口映射', 'description' => 'Specifies whether to enable port mapping.', 'type' => 'boolean', 'example' => 'true'], + 'ContainerName' => ['title' => '目标容器名字', 'description' => 'The name of the target container.', 'type' => 'string', 'example' => 'dsw-notebook'], + 'ForwardPort' => ['title' => '内部端口', 'description' => 'The internal port.', 'type' => 'string', 'example' => '22'], + 'NatGatewayId' => ['title' => '网关ID', 'description' => 'The gateway ID.', 'type' => 'string', 'example' => 'ngw-bp1uewa15k4iy5770****'], + 'EipAllocationId' => ['title' => '公网EIP ID', 'description' => 'The ID of the public EIP.', 'type' => 'string', 'example' => 'eip-25877c70gddh****'], + 'SSHPublicKey' => ['title' => 'SSH公钥', 'description' => 'The SSH public key.', 'type' => 'string', 'example' => 'ssh-rsa AAAAB3****************************'], + 'Name' => ['title' => '转发配置名称', 'description' => 'The name of the forwarding configuration.', 'type' => 'string', 'example' => 'ssh'], + 'ExternalPort' => ['title' => '公网端口', 'description' => 'The public port.', 'type' => 'string', 'example' => '10086'], 'AccessType' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => '访问类型', + 'description' => 'The access type.', 'type' => 'array', - 'items' => [ - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'intranet', - 'extendType' => 'true', - ], - 'backendName' => 'AccessType', + 'items' => ['description' => 'The access type.'."\n" + ."\n" + .'- intranet: Internal network'."\n" + ."\n" + .'- internet: Internet', 'type' => 'string', 'title' => '', 'example' => 'intranet'], + 'example' => '', ], + 'NlbGatewayId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'example' => '', ], 'ForwardInfoResponse' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => 'DSW实例端口透出结果', + 'description' => 'The port forwarding information for the DSW instance.', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'Enable', - ], - 'ContainerName' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'dsw-notebook', - 'backendName' => 'ContainerName', - ], - 'ForwardPort' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '22', - 'backendName' => 'ForwardPort', - ], - 'NatGatewayId' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ngw-bp1uewa15k4iy5770****', - 'backendName' => 'NatGatewayId', - ], - 'EipAllocationId' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'eip-25877c70gddh****', - 'backendName' => 'EipAllocationId', - ], - 'SSHPublicKey' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ssh-rsa AAAAB3****************************'."\n", - 'backendName' => 'SSHPublicKey', - ], + 'Enable' => ['title' => '是否开启端口映射', 'description' => 'Indicates whether port mapping is enabled.', 'type' => 'boolean', 'example' => 'true'], + 'ContainerName' => ['title' => '目标容器名字', 'description' => 'The name of the target container.', 'type' => 'string', 'example' => 'dsw-notebook'], + 'ForwardPort' => ['title' => '内部端口', 'description' => 'The internal port.', 'type' => 'string', 'example' => '22'], + 'NatGatewayId' => ['title' => '网关ID', 'description' => 'The ID of the gateway.', 'type' => 'string', 'example' => 'ngw-bp1uewa15k4iy5770****'], + 'EipAllocationId' => ['title' => '公网EIP ID', 'description' => 'The ID of the EIP.', 'type' => 'string', 'example' => 'eip-25877c70gddh****'], + 'SSHPublicKey' => ['title' => 'SSH公钥', 'description' => 'The Secure Shell (SSH) public key.', 'type' => 'string', 'example' => 'ssh-rsa AAAAB3****************************'."\n"], 'ConnectInfo' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => '链接信息', + 'description' => 'The connection information.', 'type' => 'object', 'properties' => [ - 'Phase' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'Ready', - 'backendName' => 'Phase', - ], - 'Message' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'DNAT and privateZone are both ready.', - 'backendName' => 'Message', - ], + 'Phase' => ['title' => '链接状态', 'description' => 'The connection status.', 'type' => 'string', 'example' => 'Ready'], + 'Message' => ['title' => '链接状态信息', 'description' => 'A message about the connection status.', 'type' => 'string', 'example' => 'DNAT and privateZone are both ready.'], 'Intranet' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => '内网链接信息', + 'description' => 'The intranet connection information.', 'type' => 'object', 'properties' => [ - 'Endpoint' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com', - 'backendName' => 'Endpoint', - ], - 'Port' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '22', - 'backendName' => 'Port', - ], + 'Endpoint' => ['title' => '链接地址', 'description' => 'The endpoint.', 'type' => 'string', 'example' => 'dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com'], + 'Port' => ['title' => '链接端口', 'description' => 'The port.', 'type' => 'string', 'example' => '22'], ], - 'backendName' => 'Intranet', + 'example' => '', ], 'Internet' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => '外网链接信息', + 'description' => 'The Internet connection information.', 'type' => 'object', 'properties' => [ - 'Endpoint' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '47.111.119.114', - 'backendName' => 'Endpoint', - ], - 'Port' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '22', - 'backendName' => 'Port', - ], + 'Endpoint' => ['title' => '链接地址', 'description' => 'The endpoint.', 'type' => 'string', 'example' => '47.111.119.114'], + 'Port' => ['title' => '链接端口', 'description' => 'The port.', 'type' => 'string', 'example' => '22'], ], - 'backendName' => 'Internet', + 'example' => '', ], ], - 'backendName' => 'ConnectInfo', + 'example' => '', + ], + 'Name' => ['title' => '转发配置名称', 'description' => 'The name of the forwarding configuration.', 'type' => 'string', 'example' => 'ssh'], + 'ExternalPort' => ['title' => '公网端口', 'description' => 'The public port.', 'type' => 'string', 'example' => '1024'], + 'AccessType' => [ + 'title' => '访问类型', + 'description' => 'The access type.', + 'type' => 'array', + 'items' => ['description' => 'The access type.'."\n" + ."\n" + .'- intranet: The internal network.'."\n" + ."\n" + .'- internet: The Internet.', 'type' => 'string', 'title' => '', 'example' => 'intranet'], + 'example' => '', ], - 'Name' => [ + 'NlbGatewayId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', + ], + 'PodIp' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Ip' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'InterfaceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ServiceConfig' => [ + 'title' => 'A short description of struct', + 'description' => '服务配置', + 'type' => 'object', + 'properties' => [ + 'JupyterServerPassword' => ['title' => 'jupyter密码', 'type' => 'string'], + 'JupyterServerAuth' => ['title' => 'jupyter鉴权方式', 'type' => 'string'], + 'CodeServerPassword' => ['title' => 'webide密码', 'type' => 'string'], + 'CodeServerAuth' => ['title' => 'webide鉴权方式', 'type' => 'string'], + ], + ], + ], + ], + 'apis' => [ + 'CreateDiagnosis' => [ + 'summary' => 'Diagnoses instance issues.', + 'path' => '/api/v2/diagnoses', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '195184', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'ssh', - 'backendName' => 'Name', + 'description' => 'The diagnostic input.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['title' => '', 'description' => 'The instance ID.', 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'dsw-5bk19******n97w'], + 'ProblemCategory' => ['title' => '', 'description' => 'The problem category. Valid values:'."\n" + ."\n" + .'- InstanceStartFailed: instance failure'."\n" + .'- InstanceRecovering: instance recovery in progress', 'type' => 'string', 'required' => true, 'example' => 'InstanceStartFailed'], + 'GmtFailureTime' => ['description' => 'The time when the issue occurred on the instance to be diagnosed.', 'type' => 'string', 'format' => 'iso8601_normal', 'required' => false, 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + ], + 'required' => false, + 'example' => '', ], - 'ExternalPort' => [ + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '1024', - 'backendName' => 'ExternalPort', + 'description' => 'The instance diagnosis result.', + 'type' => 'object', + 'properties' => [ + 'ReasonCode' => ['title' => '', 'description' => 'The error code.'."\n" + ."\n" + .'- If the value is Unknown, the error is unknown.'."\n" + .'- If the value is empty, no issue was found.', 'type' => 'string', 'example' => 'Resource.InsufficientResource'], + 'SolutionMessage' => ['title' => '', 'description' => 'The Solutions.', 'type' => 'string', 'example' => 'Switch resource config'], + 'ReasonMessage' => ['title' => '', 'description' => 'The error reason.', 'type' => 'string', 'example' => 'Insufficient resource'], + ], + 'example' => '', ], - 'AccessType' => [ + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Diagnose instance issues', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ReasonCode\\": \\"Resource.InsufficientResource\\",\\n \\"SolutionMessage\\": \\"Switch resource config\\",\\n \\"ReasonMessage\\": \\"Insufficient resource\\"\\n}","type":"json"}]', + ], + 'CreateIdleInstanceCuller' => [ + 'summary' => 'Creates an automatic stop policy for a specific Data Science Workshop (DSW) instance. When the conditions are met, the instance is automatically stopped. You can create only one automatic stop policy for an idle DSW instance. If the specific instance has an automatic stop policy, call DeleteIdleInstanceCuller to delete it first.', + 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '154060', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request body.', + 'type' => 'object', + 'properties' => [ + 'CpuPercentThreshold' => ['description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'required' => false, 'title' => ''], + 'GpuPercentThreshold' => ['description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'required' => false, 'title' => ''], + 'MaxIdleTimeInMinutes' => ['description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'required' => false, 'title' => ''], + ], + 'required' => false, 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'intranet', - 'extendType' => 'true', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'IdleInstanceCullerIdResult', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], + 'type' => 'boolean', + 'title' => '', + 'example' => 'true', + ], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateIdleInstanceCuller', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateIdleInstanceCuller'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'backendName' => 'AccessType', ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', ], - ], - 'apis' => [ 'CreateInstance' => [ - 'summary' => 'Creates a Data Science Workshop (DSW) instance.', 'path' => '/api/v2/instances', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -640,9 +519,7 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '118631', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ @@ -650,519 +527,292 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'title' => '实例属性', - 'description' => 'The instance properties.'."\n", + 'title' => '', + 'description' => 'The properties of the instance.', 'type' => 'object', 'properties' => [ - 'WorkspaceId' => [ - 'title' => '工作空间Id', - 'description' => 'The workspace ID. You can call [ListWorkspaces](~~449124~~) to obtain the workspace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '40823', - ], - 'InstanceName' => [ - 'title' => '实例名称', - 'description' => 'The instance name. The name must meet the following requirements:'."\n" - ."\n" - .'* The name can contain only letters, digits, and underscores (\\_).'."\n" - .'* The name can be up to 27 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'training_data', - ], - 'EcsSpec' => [ - 'title' => '实例对应的Ecs规格', - 'description' => 'The ECS instance type of the instance. You can call [ListEcsSpecs](~~470423~~) to obtain the ECS instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6.large', - ], - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID. You can call [ListImages](~~449118~~) to obtain the image ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '镜像地址', - 'description' => 'The image address. You can call [ListImages](~~449118~~) to obtain the image address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], + 'WorkspaceId' => ['description' => 'The ID of the workspace. To obtain the workspace ID, see [ListWorkspaces](~~449124~~).', 'type' => 'string', 'example' => '40823', 'title' => '', 'required' => false], + 'InstanceName' => ['description' => 'The instance name. The name must meet the following requirements:'."\n" + ."\n" + .'- Can contain only letters, digits, and underscores (\\_).'."\n" + ."\n" + .'- Cannot be longer than 27 characters.', 'type' => 'string', 'example' => 'training_data', 'title' => '', 'required' => false], + 'EcsSpec' => ['description' => 'The ECS instance type. For a list of available instance types, see [ListEcsSpecs](~~470423~~).', 'type' => 'string', 'example' => 'ecs.c6.large', 'title' => '', 'required' => false], + 'ImageId' => ['description' => 'The ID of the image. For a list of available images, see [ListImages](~~449118~~).', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => '', 'required' => false], + 'ImageUrl' => ['description' => 'The URL of the image. Call the [ListImages](~~449118~~) operation to obtain the URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => '', 'required' => false], 'Datasets' => [ - 'title' => '数据集集合', - 'description' => 'The datasets.'."\n", + 'title' => '', + 'description' => 'The datasets to mount to the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The dataset.'."\n", + 'description' => 'A dataset.', 'type' => 'object', 'properties' => [ - 'DatasetId' => [ - 'title' => '数据集Id', - 'description' => 'The dataset ID. If the dataset is read-only, you cannot change the dataset permission from read-only to read and write by using MountAccess.'."\n" - ."\n" - .'You can call [ListDatasets](~~457222~~) to obtain the dataset ID. If you configure the dataset ID, you cannot configure the dataset URI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-vsqjvsjp4orp5l206u', - ], - 'DatasetVersion' => [ - 'title' => '数据集版本,不填默认为v1', - 'description' => 'The dataset version. You must also configure DatasetId. If you leave this parameter empty, the value v1 is used by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'Uri' => [ - 'title' => '数据Uri,支持oss、nas、cpfs。', - 'description' => 'The URI of the storage service directory, which can be directly mounted. This parameter is mutually exclusive with DatasetId.'."\n" - ."\n" - .'URI formats of different types of storage:'."\n" - ."\n" - .'* OSS: oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/'."\n" - .'* NAS: nas://29\\*\\*d-b12\\*\\*\\*\\*446.cn-hangzhou.nas.aliyuncs.com/data/path/'."\n" - .'* Extreme NAS: nas://29\\*\\*\\*\\*123-y\\*\\*r.cn-hangzhou.extreme.nas.aliyuncs.com/data/path/'."\n" - .'* CPFS: cpfs://cpfs-213\\*\\*\\*\\*87.cn-wulanchabu/ptc-292\\*\\*\\*\\*\\*cbb/exp-290\\*\\*\\*\\*\\*\\*\\*\\*03e/data/path/'."\n" - .'* Lingjun CPFS: bmcpfs://cpfs-290\\*\\*\\*\\*\\*\\*foflh-vpc-x\\*\\*\\*\\*8r.cn-wulanchabu.cpfs.aliyuncs.com/data/path/'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', - ], - 'MountPath' => [ - 'title' => '容器内挂载路径', - 'description' => 'The mount path of the dataset.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/mnt/data', - ], + 'DatasetId' => ['description' => 'The ID of the dataset. If a dataset is read-only, you cannot use the`MountAccess` parameter to change the access mode to read/write.'."\n" + ."\n" + .'To obtain the dataset ID, see [ListDatasets](~~457222~~). This parameter is mutually exclusive with`Uri`.', 'type' => 'string', 'example' => 'd-vsqjvs****rp5l206u', 'title' => '', 'required' => false], + 'DatasetVersion' => ['description' => 'The version of the dataset. You must also specify the`DatasetId` parameter. If this parameter is omitted, the default is `v1`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'v1'], + 'Uri' => ['description' => 'The URI of the storage service directory for direct mounting. This parameter is mutually exclusive with`DatasetId`.'."\n" + ."\n" + .'The following list describes the URI formats for different storage types:'."\n" + ."\n" + .'- OSS: oss\\://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/'."\n" + ."\n" + .'- NAS: nas\\://29\\*\\*d-b12\\*\\*\\*\\*446.cn-hangzhou.nas.aliyuncs.com/data/path/'."\n" + ."\n" + .'- Extreme NAS: nas\\://29\\*\\*\\*\\*123-y\\*\\*r.cn-hangzhou.extreme.nas.aliyuncs.com/data/path/'."\n" + ."\n" + .'- CPFS: cpfs\\://cpfs-213\\*\\*\\*\\*87.cn-wulanchabu/ptc-292\\*\\*\\*\\*\\*cbb/exp-290\\*\\*\\*\\*\\*\\*\\*\\*03e/data/path/'."\n" + ."\n" + .'- Lingjun CPFS: bmcpfs\\://cpfs-290\\*\\*\\*\\*\\*\\*foflh-vpc-x\\*\\*\\*\\*8r.cn-wulanchabu.cpfs.aliyuncs.com/data/path/', 'type' => 'string', 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', 'title' => '', 'required' => false], + 'MountPath' => ['description' => 'The mount path of the dataset.', 'type' => 'string', 'example' => '/mnt/data', 'title' => '', 'required' => false], 'MountAccess' => [ - 'title' => '读写权限,RW:读写,RO:只读。', - 'description' => 'The read and write permissions of the dataset. If the dataset is read-only, it cannot be changed to read and write.'."\n", + 'description' => 'The read/write permissions for the mounted dataset. If the source dataset is read-only, you cannot grant read/write permissions.', + 'enumValueTitles' => ['RW' => 'Read/write', 'RO' => 'Read-only'], 'type' => 'string', + 'enum' => ['RW', 'RO'], + 'title' => '', 'required' => false, - 'enumValueTitles' => [ - 'RW' => '', - 'RO' => '', - ], 'example' => 'RW', - 'enum' => [ - 'RW', - 'RO', - ], - ], - 'Options' => [ - 'title' => '数据挂载Options', - 'description' => 'The custom dataset mount options. Only OSS is supported. You cannot specify OptionType at the same time. For more information, see [DSW mount configurations](https://www.alibabacloud.com/help/en/pai/user-guide/read-and-write-dataset-data).', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "fs.oss.download.thread.concurrency": "10",'."\n" - .' "fs.oss.upload.thread.concurrency": "10",'."\n" - .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" - .'}'."\n", - ], - 'OptionType' => [ - 'description' => 'The mount type. You cannot specify Options at the same time. This is deprecated, and you can use Options instead.'."\n", - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'ReadOnly', - ], - 'Dynamic' => [ - 'description' => 'Specifies whether to enable dynamic mounting. Default value: false.'."\n" - ."\n" - .'* Currently, only instances using general-purpose computing resources are supported.'."\n" - .'* Currently, only OSS datasets are supported. The mounted datasets are read-only.'."\n" - .'* The mount path of the dynamically mounted dataset must be a subpath of the root path. Example: /mnt/dynamic/data1/'."\n" - .'* A dynamically mounted dataset must be after non-dynamic datasets.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', ], + 'Options' => ['description' => 'Specifies custom mount properties. This parameter is supported for OSS datasets only. This parameter is mutually exclusive with`OptionType`. For more information, see [Configure DSW mounting](~~441724~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '{'."\n" + .' "fs.oss.download.thread.concurrency": "10",'."\n" + .' "fs.oss.upload.thread.concurrency": "10",'."\n" + .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" + .'}'."\n"], + 'OptionType' => ['description' => 'The mount type. This parameter is deprecated and mutually exclusive with `Options`. We recommend that you use the `Options` parameter instead.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'ReadOnly', 'title' => ''], + 'Dynamic' => ['description' => 'Specifies whether to enable dynamic mounting. Default value: false.'."\n" + ."\n" + .'- This feature is supported only for instances that use general-purpose computing resources.'."\n" + ."\n" + .'- Only OSS datasets are supported. Mounted datasets are read-only.'."\n" + ."\n" + .'- The mount path of a dynamically mounted dataset must be a subdirectory of the dynamic mount root path. The default root path is`/mnt/dynamic/`. Example:`/mnt/dynamic/data1/`.'."\n" + ."\n" + .'- Dynamically mounted datasets must be specified after non-dynamically mounted datasets.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'example' => '', ], 'UserVpc' => [ - 'title' => 'user vpc配置', - 'description' => 'The virtual private cloud (VPC) configurations.'."\n", + 'title' => '', + 'description' => 'The user VPC configurations.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'title' => 'Vpc Id', - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-xxxxx', - ], - 'VSwitchId' => [ - 'title' => 'VSwitch Id', - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-xxxxx', - ], - 'SecurityGroupId' => [ - 'title' => 'Security Group Id', - 'description' => 'The security group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-xxxxxx', - ], + 'VpcId' => ['title' => 'Vpc Id', 'description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxxxx', 'required' => false], + 'VSwitchId' => ['title' => 'VSwitch Id', 'description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxxxx', 'required' => false], + 'SecurityGroupId' => ['title' => 'Security Group Id', 'description' => 'The ID of the security group.', 'type' => 'string', 'example' => 'sg-xxxxxx', 'required' => false], 'ExtendedCIDRs' => [ 'description' => 'The extended CIDR blocks.'."\n" ."\n" - .'* If you leave the SwitchId and ExtendedCIDRs parameters empty, the system automatically obtains all CIDR blocks in a VPC.'."\n" - .'* If you configure the SwitchId and ExtendedCIDRs parameters, we recommend that you specify all CIDR blocks in a VPC.'."\n", + .'- If you do not specify a vSwitch ID, this parameter is optional. The system automatically obtains all CIDR blocks for the VPC.'."\n" + ."\n" + .'- If you specify a vSwitch ID, this parameter is required. We recommend that you specify all CIDR blocks for the VPC.', 'type' => 'array', - 'items' => [ - 'description' => 'The extended CIDR block.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', - ], + 'items' => ['description' => 'An extended CIDR block.', 'type' => 'string', 'required' => false, 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', 'title' => ''], 'required' => false, 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', + 'title' => '', ], - 'DefaultRoute' => [ - 'title' => 'Default Route', - 'description' => 'The default route. Valid values:'."\n" - ."\n" - .'* eth0: The default network interface is used to access the Internet through the public gateway.'."\n" - .'* eth1: The user\'s elastic network interface (ENI) is used to access the Internet through the private gateway. For more information about the configuration method, see [Enable Internet access for a DSW instance by using a private Internet NAT gateway](~~2525343~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], + 'DefaultRoute' => ['title' => 'Default Route', 'description' => 'The default route. Valid values:'."\n" + ."\n" + .'- `eth0`: The instance uses the default network interface to access the Internet through a public gateway.'."\n" + ."\n" + .'- `eth1`: The instance uses a user-provided elastic network interface to access the Internet through a private NAT gateway. For more information, see [Configure a DSW instance to access the Internet through a private NAT gateway](~~2525343~~).', 'type' => 'string', 'example' => 'eth0', 'required' => false], 'ForwardInfos' => [ 'title' => 'Forward Infos', - 'description' => 'The forward information.'."\n", + 'description' => 'The port forwarding configurations.', 'type' => 'array', - 'items' => [ - 'description' => 'The forward information. You can configure parameters such as the mapped port, gateway ID, and SSH public key.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/ForwardInfo', - ], + 'items' => ['description' => 'A port forwarding configuration. You can configure parameters such as the mapped port, gateway ID, and SSH public key.', '$ref' => '#/components/schemas/ForwardInfo', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, + 'example' => '', ], - 'BandwidthLimit' => [ - 'required' => false, - '$ref' => '#/components/schemas/BandwidthLimit', - ], + 'BandwidthLimit' => ['$ref' => '#/components/schemas/BandwidthLimit', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], 'required' => false, + 'example' => '', ], 'Accessibility' => [ - 'title' => '工作空间内是否他人可见', - 'description' => 'The instance accessibility.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* PUBLIC: The instances are accessible to all members in the workspace.'."\n" - .'* PRIVATE: The instances are accessible only to you and the administrator of the workspace.'."\n", + 'description' => 'The visibility of the instance.', + 'enumValueTitles' => ['PUBLIC' => 'Visible to all users in the workspace.', 'PRIVATE' => 'Visible only to the instance owner and workspace administrators.'], 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PUBLIC' => '', - 'PRIVATE' => '', - ], 'example' => 'PRIVATE', + 'title' => '', + 'required' => false, ], 'EnvironmentVariables' => [ - 'title' => '环境变量', - 'description' => 'The environment variables.'."\n", + 'title' => '', + 'description' => 'The environment variables to inject into the DSW instance.'."\n" + .'><warning>These variables may overwrite preset system environment variables.></warning>', 'type' => 'object', 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - 'description' => 'The specific environment variable. After a DSW instance is started, the specific environment variable is injected into the container.'."\n", - 'example' => 'MAAS', - ], + 'additionalProperties' => ['description' => 'A user-defined environment variable. After the DSW instance starts, the system injects this variable into the container.', 'type' => 'string', 'example' => 'MAAS', 'title' => ''], 'example' => '{userName: "Chris"}', ], - 'ResourceId' => [ - 'title' => '资源Id,预付费时填写', - 'description' => 'The ID of the resource group. This parameter is configured during prepayment. For information about how to create a dedicated resource group, see [Create a dedicated resource group and purchase general computing resources](~~202827~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dsw-123456789', - ], - 'Priority' => [ - 'title' => '优先级,在分配资源给实例时,优先级越高的实例越优先', - 'description' => 'The priority based on which resources are allocated to instances. Valid values: 1 to 9.'."\n" - ."\n" - .'* 1: the lowest priority.'."\n" - .'* 9: the highest priority.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'ResourceId' => ['description' => 'The ID of the resource group. This parameter is required for subscription instances. To learn how to create a dedicated resource group, see [Prepare and manage DLC resource groups](~~202827~~).', 'type' => 'string', 'example' => 'dsw-123456789', 'title' => '', 'required' => false], + 'Priority' => ['description' => 'The priority of the instance for resource allocation. Instances with higher priorities are given precedence. Valid values: 1 to 9.'."\n" + ."\n" + .'- 1: The lowest priority.'."\n" + ."\n" + .'- 9: The highest priority.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => '', 'required' => false], 'RequestedResource' => [ - 'title' => '资源配置,弹内或者轻量化时使用', - 'description' => 'The resource configurations.'."\n", + 'title' => '', + 'description' => 'The resource configuration.', 'type' => 'object', 'properties' => [ - 'CPU' => [ - 'title' => 'cpu核数', - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'Memory' => [ - 'title' => 'memory大小', - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'SharedMemory' => [ - 'title' => 'shared memory大小', - 'description' => 'The size of the shared memory. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'GPU' => [ - 'title' => 'gpu数量', - 'description' => 'The number of GPUs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4', - ], - 'GPUType' => [ - 'title' => 'gpu显卡类型', - 'description' => 'The GPU memory type. Valid values:'."\n" - ."\n" - .'* V100'."\n" - .'* A100'."\n" - .'* T4'."\n" - .'* A10'."\n" - .'* P100'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v100', - ], + 'CPU' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '32', 'title' => '', 'required' => false], + 'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n" + .'><notice>You must specify a unit, such as `32Gi`. If you omit the unit, the system defaults to MiB.></notice>', 'type' => 'string', 'example' => '32GB', 'title' => '', 'required' => false], + 'SharedMemory' => ['description' => 'The shared memory size. Unit: GiB.'."\n" + .'><notice>You must specify a unit, such as `32Gi`. If you omit the unit, the system defaults to MiB.></notice>', 'type' => 'string', 'example' => '32GB', 'title' => '', 'required' => false], + 'GPU' => ['description' => 'The number of GPUs.', 'type' => 'string', 'example' => '4', 'title' => '', 'required' => false], + 'GPUType' => ['description' => 'The GPU type. Valid values:'."\n" + ."\n" + .'- V100'."\n" + ."\n" + .'- A100'."\n" + ."\n" + .'- T4'."\n" + ."\n" + .'- A10'."\n" + ."\n" + .'- P100', 'type' => 'string', 'example' => 'v100', 'title' => '', 'required' => false], ], 'required' => false, 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', ], 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => 'The custom labels.'."\n", + 'title' => '', + 'description' => 'The list of custom tags.', 'type' => 'array', 'items' => [ - 'description' => 'The custom label.'."\n", + 'description' => 'A custom tag.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'description' => 'The custom label key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'description' => 'The custom label value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123xxxxxxxx', - ], + 'Key' => ['description' => 'The key of the custom tag.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => '', 'required' => false], + 'Value' => ['description' => 'The value of the custom tag.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => '', 'required' => false], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'example' => '{\'foo\': \'bar\'}', ], 'CloudDisks' => [ - 'title' => '云盘列表', - 'description' => 'The cloud disks.'."\n", + 'title' => '', + 'description' => 'The list of cloud disks.', 'type' => 'array', 'items' => [ - 'description' => 'The cloud disk.'."\n", + 'description' => 'A cloud disk.', 'type' => 'object', 'properties' => [ - 'Capacity' => [ - 'title' => '云盘容量', - 'description' => 'If **Resource Type** is **Public Resource** or if **Resource Quota** is subscription-based general-purpose computing resources (CPU cores ≥ 2 and memory ≥ 4 GB, or configured with GPU):'."\n" - ."\n" - .'Each instance has a free system disk of 100 GiB for persistent storage. **If the DSW instance is stopped and not launched for more than 15 days, the disk is cleared**. The disk can be expanded. For specific pricing, refer to the console.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning**'."\n" - ."\n" - .'* After the expansion, you cannot reduce the storage space. Proceed with caution.'."\n" - ."\n" - .'* After the expansion, the disk is not cleared if the instance is stopped for more than 15 days. However, it will continue to incur fees.'."\n" - ."\n" - .'* If you delete the instance, the system disk is also released and the data stored in the disk is deleted. Make sure that you have backed up your data before you delete the instance.'."\n" - ."\n" - .'If you need persistent storage, you can **mount a dataset** or add the OSS, NAS, or CPFS path to the **storage path**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100Gi', - ], - 'SubType' => [ - 'title' => '云盘使用方式, rootfs 挂载为rootfs', - 'description' => 'The cloud disk type.'."\n" - ."\n" - .'* rootfs: Mounts the disk as a system disk. The system environment is stored on the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rootfs', - ], - 'MountPath' => [ - 'title' => '容器内挂载云盘路径', - 'description' => 'The mount path of the cloud disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/mnt/systemDisk', - ], - 'Path' => [ - 'title' => '云盘内被挂载目录路径', - 'description' => 'The subpath of the cloud disk that is mounted to the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workspace', - ], + 'Capacity' => ['description' => 'If you use **public resources** or **subscription** general-purpose computing resources (with at least 2 CPU cores and 4 GiB of memory, or with a GPU):'."\n" + ."\n" + .'Each instance comes with a complimentary 100 GiB system disk for persistent storage. **If the instance is stopped for more than 15 days, data on the cloud disk is deleted.** You can expand the cloud disk capacity. For pricing details, see the page in the console.'."\n" + ."\n" + .'><warning>'."\n" + ."\n" + .'- You cannot shrink the disk after expansion. Plan your capacity needs accordingly.'."\n" + ."\n" + .'- After you expand the disk, the 15-day data deletion policy for stopped instances no longer applies. However, billing continues for the entire disk capacity.'."\n" + ."\n" + .'- The system disk is deleted when the instance is deleted. Be sure to back up your data before deleting the instance.'."\n" + ."\n" + .'></warning>'."\n" + ."\n" + .'If you require permanent storage, you can configure **dataset mounting** or add an OSS, NAS, or CPFS path in the **storage path mounting** settings.', 'type' => 'string', 'example' => '100Gi', 'title' => '', 'required' => false], + 'SubType' => ['description' => 'The type of the cloud disk:'."\n" + ."\n" + .'- `rootfs`: The disk is mounted as a system disk, which stores the system environment.', 'type' => 'string', 'example' => 'rootfs', 'title' => '', 'required' => false], + 'MountPath' => ['description' => 'The mount path of the cloud disk.', 'type' => 'string', 'example' => '/mnt/systemDisk', 'title' => '', 'required' => false], + 'Path' => ['description' => 'The subpath on the cloud disk to mount to the instance.', 'type' => 'string', 'example' => 'workspace', 'title' => '', 'required' => false], 'Status' => [ - 'title' => '云盘状态', - 'description' => 'The disk or snapshot usage.'."\n", + 'title' => '', + 'description' => 'The usage status of the cloud disk or snapshot.', 'type' => 'object', 'properties' => [ - 'Available' => [ - 'description' => 'The available capacity. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '31841058816', - ], - 'Usage' => [ - 'description' => 'The used capacity. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '371195904', - ], - 'Capacity' => [ - 'description' => 'The capacity. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '32212254720', - ], + 'Available' => ['description' => 'The available space, in bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '31841058816', 'title' => ''], + 'Usage' => ['description' => 'The used space, in bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '371195904', 'title' => ''], + 'Capacity' => ['description' => 'The total capacity, in bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '32212254720', 'title' => ''], ], 'required' => false, + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'example' => '[]', ], - 'WorkspaceSource' => [ - 'title' => '工作空间指向的存储,如果不指定,则依次使用NAS,CloudDisk或者本地磁盘', - 'description' => 'The storage corresponding to the working directory. You can mount disks or datasets to /mnt/workspace at the same time. OSS datasets and dynamically mounted datasets are not supported.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* rootfsCloudDisk: Mount the disk to the working directory.'."\n" - .'* Mount path of the dataset, such as /mnt/data: Datasets in URI format only support this method.'."\n" - .'* Dataset ID, such as d-vsqjvs\\*\\*\\*\\*rp5l206u: If a single dataset is mounted to multiple paths, the first path is selected. We recommend that you do not use this method, use the mount path instead.'."\n" - ."\n" - .'If you leave this parameter empty:'."\n" - ."\n" - .'* If the instance uses cloud disks, cloud disks are selected by default.'."\n" - .'* if no cloud disks are available, the first NAS or CPFS dataset is selected as the working directory.'."\n" - .'* If no cloud disks, and NAS or CPFS datasets are available, the host space is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rootfsCloudDisk', - ], - 'UserId' => [ - 'title' => '实例的使用者,可能是子账号或者主账号', - 'description' => 'The ID of the instance owner. Valid values: Alibaba Cloud account and RAM user.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '161228528250****', - ], - 'Driver' => [ - 'title' => 'Driver for accelerator', - 'description' => 'The NVIDIA driver configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '535.54.03', - ], - 'CredentialConfig' => [ - 'description' => 'The credential configuration.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/CredentialConfig', - ], + 'WorkspaceSource' => ['description' => 'Specifies the storage for the working directory (`/mnt/workspace`). You can mount a cloud disk or a dataset. OSS datasets and dynamically mounted datasets are not supported.'."\n" + ."\n" + .'You can specify one of the following:'."\n" + ."\n" + .'- `rootfsCloudDisk`: Mounts the cloud disk to the working directory.'."\n" + ."\n" + .'- The mount path of a dataset in the`Datasets` parameter, such as`/mnt/data`. This is the only way to specify the working directory for datasets in URI format.'."\n" + ."\n" + .'- The ID of a dataset, such as`d-vsqjvs****rp5l206u`. If the same dataset is mounted to multiple paths, the system uses the first mount path. We recommend that you use the mount path instead of the dataset ID.'."\n" + ."\n" + .'If this parameter is left empty:'."\n" + ."\n" + .'- If the instance uses a cloud disk, the cloud disk is used by default.'."\n" + ."\n" + .'- If the instance does not use a cloud disk, the first NAS or CPFS dataset is used as the working directory.'."\n" + ."\n" + .'- If the instance has neither a cloud disk nor a NAS or CPFS dataset, the host machine\'s local storage is used.', 'type' => 'string', 'example' => 'rootfsCloudDisk', 'title' => '', 'required' => false], + 'UserId' => ['description' => 'The account ID of the instance owner. This can be an Alibaba Cloud account ID or a RAM user ID.', 'type' => 'string', 'example' => '161228528250****', 'title' => '', 'required' => false], + 'Driver' => ['title' => 'Driver for accelerator', 'description' => 'The NVIDIA driver configuration.', 'type' => 'string', 'example' => '535.54.03', 'required' => false], + 'CredentialConfig' => ['description' => 'The credential configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'required' => false, 'title' => '', 'example' => ''], 'Affinity' => [ - 'description' => 'The affinity configuration.'."\n", + 'description' => 'The affinity configuration.', 'type' => 'object', 'properties' => [ 'CPU' => [ - 'description' => 'The CPU affinity configuration. Only subscription instances that use general-purpose computing resources support CPU affinity configuration.'."\n", + 'description' => 'The CPU affinity configuration. This feature is supported only for subscription instances that use general-purpose computing resources.', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'description' => 'Specifies whether to enable the CPU affinity feature.'."\n" - ."\n" - .'* false'."\n" - .'* true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'Enable' => ['description' => 'Specifies whether to enable CPU affinity.'."\n" + ."\n" + .'- false: disabled.'."\n" + ."\n" + .'- true: enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'ImageAuth' => [ - 'title' => "\0".'用户私有镜像的账号密码信息,如果镜像地址是公共镜像或者归属当前账号的 ACR 镜像,则不需要填写。生成方法: ${username}:${password} base64编码后的值。', - 'description' => 'The Base64-encoded account and password for the user\'s private image. The password will be hidden.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - 'DynamicMount' => [ - 'description' => 'The dynamic mount configuration.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/DynamicMount', - ], + 'ImageAuth' => ['description' => 'The Base64-encoded username and password for a private image. The password is hidden in the response.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '****'], + 'DynamicMount' => ['description' => 'The dynamic mounting configuration.', '$ref' => '#/components/schemas/DynamicMount', 'required' => false, 'title' => '', 'example' => ''], 'Tag' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tag.'."\n", + 'description' => 'A tag.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tag1', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value1', - ], + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'tag1', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'value1', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], 'UserCommand' => [ 'type' => 'object', @@ -1170,3331 +820,1214 @@ 'OnStart' => [ 'type' => 'object', 'properties' => [ - 'Content' => [ - 'type' => 'string', - ], + 'Content' => ['description' => 'The content of the custom startup command.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], + 'description' => 'A custom command that runs every time the instance starts. The system executes the command after initializing the instance environment and before services such as JupyterLab and Code-Server start.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'description' => 'The user-defined commands.', + 'required' => false, + 'title' => '', + 'example' => '', ], - 'OversoldType' => [ - 'title' => '闲时资源的类型:'."\n" - .'ForceQuotaOverSold:只使用闲时资源'."\n" - .'AcceptQuotaOverSold:可接受闲时资源'."\n" - .'ForbiddenQuotaOverSold:使用保障资源', - 'type' => 'string', - ], + 'OversoldType' => ['description' => 'The type of the preemptible resource. Valid values:<br>`ForceQuotaOverSold`: Use only preemptible resources.<br>`AcceptQuotaOverSold`: Accept preemptible resources.<br>`ForbiddenQuotaOverSold`: Use guaranteed resources.<br><br><br>', 'type' => 'string', 'title' => '', 'required' => false, 'example' => ''], 'AssignNodeSpec' => [ - 'title' => '指定节点调度配置', 'type' => 'object', 'properties' => [ - 'NodeNames' => [ - 'title' => '指定调度的节点:"node-a,node-b"', - 'type' => 'string', - 'example' => 'node-a', - ], - 'AntiAffinityNodeNames' => [ - 'title' => '排除调度的节点:"node-a,node-b"', - 'type' => 'string', - 'example' => 'node-b', - ], + 'NodeNames' => ['description' => 'A comma-separated list of node names to schedule the instance on. Example: "node-a,node-b".', 'type' => 'string', 'example' => 'node-a', 'title' => '', 'required' => false], + 'AntiAffinityNodeNames' => ['description' => 'A comma-separated list of nodes where the instance should not be scheduled. Example: "node-a,node-b".', 'type' => 'string', 'example' => 'node-b', 'title' => '', 'required' => false], ], + 'title' => '', + 'description' => 'The node scheduling configuration.', + 'required' => false, + 'example' => '', ], 'SpotSpec' => [ - 'title' => '抢占实例配置', 'type' => 'object', 'properties' => [ - 'SpotStrategy' => [ - 'title' => '抢占策略:'."\n" - .'SpotWithPriceLimit:自定义设置抢占实例价格上限。'."\n" - .'SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', - 'type' => 'string', - 'example' => 'SpotWithPriceLimit', - ], - 'SpotPriceLimit' => [ - 'title' => '抢占式实例的每小时价格上限,最多支持精确到小数点后三位,抢占策略是SpotWithPriceLimit的时候必填', - 'type' => 'string', - 'example' => '0.12', - ], - 'SpotDuration' => [ - 'title' => '抢占式实例的保护期。默认为1,可设置为0,表示无保护期。灵骏规格无效。', - 'type' => 'string', - 'example' => '0', - ], - 'SpotDiscountLimit' => [ - 'title' => '抢占式实例的每小时折扣上限,灵骏规格必填。', - 'type' => 'string', - 'example' => '0.1', - ], + 'SpotStrategy' => ['description' => 'The preemption strategy. Valid values:<br>`SpotWithPriceLimit`: Set a custom maximum hourly price for the spot instance.<br>`SpotAsPriceGo`: The system automatically bids based on the real-time market price.<br><br>', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => '', 'required' => false], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the spot instance, with up to three decimal places. This parameter is required if `SpotStrategy` is set to `SpotWithPriceLimit`.', 'type' => 'string', 'example' => '0.12', 'title' => '', 'required' => false], + 'SpotDuration' => ['description' => 'The protection period of the spot instance, in hours. The default value is `1`. A value of `0` indicates no protection period. This parameter is invalid for Lingjun instances.', 'type' => 'string', 'example' => '0', 'title' => '', 'required' => false], + 'SpotDiscountLimit' => ['description' => 'The maximum hourly discount for the spot instance. This parameter is required for Lingjun instances.', 'type' => 'string', 'example' => '0.1', 'title' => '', 'required' => false], ], + 'title' => '', + 'description' => 'The configurations for the spot instance.', + 'required' => false, + 'example' => '', ], - 'MigrationOptions' => [ - 'title' => '实例迁移选项,只支持启用了持久化存储的灵骏实例设置此参数。当前支持:'."\n" - .'● EnableProcessesPreservation :是否保留实例运行中的进程。可选值:true , false。启用此能力,需要实例预留进程迁移需要的存储空间。', + 'DockerConfig' => [ 'type' => 'object', + 'properties' => [ + 'Enable' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'ContainersLimit' => ['type' => 'integer', 'format' => 'int64', 'example' => '10', 'description' => '', 'title' => ''], + 'MountAccessConfigPath' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'MigrationOptions' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''], + 'AccessRestrictionRules' => [ + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n" - .'* 200'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Possible values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Possible values:'."\n" + ."\n" + .'- `InternalError`: An internal error. This code is returned for any error except a parameter validation error.'."\n" + ."\n" + .'- `ValidationError`: A parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Possible values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404'."\n" + ."\n" + .'- 200', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', 'title' => 'CreateInstance', - ], - 'DeleteInstance' => [ - 'summary' => 'Deletes a specific instance.', - 'path' => '/api/v2/instances/{InstanceId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'CreateInstance creates a DSW instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'CreateInstanceShutdownTimer' => [ + 'summary' => 'Creates a scheduled stop task for an instance.', + 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '118633', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118640', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'title' => '', + 'description' => 'The property of the scheduled stop task.', + 'type' => 'object', + 'properties' => [ + 'DueTime' => ['description' => 'The scheduled stop time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => '', 'required' => false], + 'RemainingTimeInMs' => ['description' => 'The time duration before the instance is stopped. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'required' => false, 'example' => '3600000'], + ], + 'required' => false, + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n" - .'* 200'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'DeleteInstance', - ], - 'UpdateInstance' => [ - 'summary' => 'Updates the properties of a DSW instance.', - 'path' => '/api/v2/instances/{InstanceId}', - 'methods' => [ - 'put', + 'title' => 'CreateInstanceShutdownTimer', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstanceShutdownTimer'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'CreateInstanceSnapshot' => [ + 'summary' => 'Creates an instance snapshot.', + 'path' => '/api/v2/instances/{InstanceId}/snapshots', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '118636', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '118641', + 'abilityTreeNodes' => ['FEATURElearnE5ZUBR'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The instance ID. For more information about how to obtain an instance ID, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'title' => '需要更新的实例属性', - 'description' => 'The instance properties to be updated.'."\n", + 'title' => '', + 'description' => 'The properties of the instance snapshot.', 'type' => 'object', 'properties' => [ - 'InstanceName' => [ - 'title' => '实例名称', - 'description' => 'The instance name. Format requirements:'."\n" - ."\n" - .'* The name can contain only letters, digits, and underscores (\\_).'."\n" - .'* The name can be up to 27 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'training_data', - ], - 'EcsSpec' => [ - 'title' => '实例对应的Ecs规格', - 'description' => 'The ECS instance type of the instance. You can call [ListEcsSpecs](~~470423~~) to obtain the ECS instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6.large', - ], - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID. You can call [ListImages](~~449118~~) to obtain the image ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '镜像地址', - 'description' => 'The image address. You can call [ListImages](~~449118~~) to obtain the image address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'UserVpc' => [ - 'title' => 'user vpc配置', - 'description' => 'The virtual private cloud (VPC) configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'title' => 'Vpc Id', - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-xxxxx', - ], - 'VSwitchId' => [ - 'title' => 'VSwitch Id', - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-xxxxx', - ], - 'SecurityGroupId' => [ - 'title' => 'Security Group Id', - 'description' => 'The security group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-xxxxxx', - ], - 'ExtendedCIDRs' => [ - 'description' => 'The extended CIDR blocks.'."\n" - ."\n" - .'* If you leave VSwitchId empty, this parameter is not required and the system automatically obtains all CIDR blocks in the VPC.'."\n" - .'* If VSwitchId is not empty, this parameter is required. Specify all CIDR blocks in the VPC.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The extended CIDR blocks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', - ], - 'required' => false, - 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', - ], - 'DefaultRoute' => [ - 'title' => 'Default Route', - 'description' => 'The default route. Valid values:'."\n" - ."\n" - .'* eth0: The default network interface is used to access the Internet through the public gateway.'."\n" - .'* eth1: The user\'s Elastic Network Interface is used to access the Internet through the private gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], - 'ForwardInfos' => [ - 'title' => 'Forward Infos', - 'description' => 'The forward configuration of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The forward information.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/ForwardInfo', - ], - 'required' => false, - ], - 'BandwidthLimit' => [ - 'required' => false, - '$ref' => '#/components/schemas/BandwidthLimit', - ], - ], - 'required' => false, - ], - 'Accessibility' => [ - 'title' => '工作空间内是否他人可见', - 'description' => 'The visibility of the instance.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* PUBLIC: Accessible to all members in the workspace.'."\n" - .'* PRIVATE: Accessible only to you and the administrator of the workspace.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PUBLIC' => '', - 'PRIVATE' => '', - ], - 'example' => 'PRIVATE', - ], - 'Datasets' => [ - 'title' => '数据集集合', - 'description' => 'The datasets.'."\n", + 'SnapshotName' => ['description' => 'The name of the instance snapshot. The name can contain only lowercase letters, digits, and hyphens (-). It is used for the display name of the custom image and the image version name in ACR.', 'type' => 'string', 'required' => true, 'example' => 'snapshot-v1', 'title' => ''], + 'SnapshotDescription' => ['description' => 'The description of the instance snapshot.', 'type' => 'string', 'example' => 'snapshot-v1', 'title' => '', 'required' => false], + 'ImageUrl' => ['description' => 'The image URL. For more information about how to obtain an image URL, see [ListImages](~~449118~~).', 'type' => 'string', 'required' => true, 'example' => 'registry.cn-shanghai.aliyuncs.com/test/example:snapshot-v1', 'title' => ''], + 'Labels' => [ + 'title' => '', + 'description' => 'The custom tags.', 'type' => 'array', 'items' => [ - 'description' => 'The dataset.'."\n", + 'description' => 'A key-value pair of a custom tag.', 'type' => 'object', 'properties' => [ - 'DatasetId' => [ - 'title' => '数据集Id', - 'description' => 'The dataset ID. If the dataset is read-only, you cannot change the dataset pemission from read-only to read and write by using MountAccess.'."\n" - ."\n" - .'You can call [ListDatasets](~~457222~~) to obtain the dataset ID. If you configure the dataset ID, you cannot configure the dataset URI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-vsqjvsjp4orp5l206u', - ], - 'DatasetVersion' => [ - 'title' => '数据集版本,默认为v1', - 'description' => 'The dataset version. You must also configure DatasetId. If you leave this parameter empty, the value v1 is used by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'Uri' => [ - 'title' => '数据Uri,支持oss、nas、cpfs。', - 'description' => 'The URI of the storage service directory, which can be directly mounted. This parameter is mutually exclusive with DatasetId.'."\n" - ."\n" - .'URI formats of different types of storage:'."\n" - ."\n" - .'* OSS: oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/'."\n" - .'* NAS: nas://29\\*\\*d-b12\\*\\*\\*\\*446.cn-hangzhou.nas.aliyuncs.com/data/path/'."\n" - .'* Extreme NAS: nas://29\\*\\*\\*\\*123-y\\*\\*r.cn-hangzhou.extreme.nas.aliyuncs.com/data/path/'."\n" - .'* CPFS: cpfs://cpfs-213\\*\\*\\*\\*87.cn-wulanchabu/ptc-292\\*\\*\\*\\*\\*cbb/exp-290\\*\\*\\*\\*\\*\\*\\*\\*03e/data/path/'."\n" - .'* Lingjun CPFS: bmcpfs://cpfs-290\\*\\*\\*\\*\\*\\*foflh-vpc-x\\*\\*\\*\\*8r.cn-wulanchabu.cpfs.aliyuncs.com/data/path/'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', - ], - 'MountPath' => [ - 'title' => '容器内挂载路径', - 'description' => 'The mount path of the dataset.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/mnt/data', - ], - 'MountAccess' => [ - 'title' => '读写权限,RW:读写,RO:只读。', - 'description' => 'The read and write permissions of the dataset. If the dataset is read-only, it cannot be changed to read and write.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'RW' => '', - 'RO' => '', - ], - 'example' => 'RW', - 'enum' => [ - 'RW', - 'RO', - ], - ], - 'Options' => [ - 'title' => '数据挂载配置项', - 'description' => 'The custom dataset mount options. Only OSS is supported. You cannot specify OptionType at the same time. For more information, see [DSW mount configurations](https://www.alibabacloud.com/help/en/pai/user-guide/read-and-write-dataset-data).', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "fs.oss.download.thread.concurrency": "10",'."\n" - .' "fs.oss.upload.thread.concurrency": "10",'."\n" - .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" - .'}', - ], - 'OptionType' => [ - 'description' => 'The mount type. You cannot specify Options at the same time. This is deprecated, you can use Options instead.'."\n", - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'ReadOnly', - ], - 'Dynamic' => [ - 'description' => 'Specifies whether dynamic mounting is enabled. Default value: false.'."\n" - ."\n" - .'* Currently, only instances using general-purpose computing resources are supported.'."\n" - .'* Currently, only OSS datasets are supported. The mounted datasets are read-only.'."\n" - .'* The MountPath of the dynamically mounted dataset must be a subpath of the root path. Example: /mnt/dynamic/data1/'."\n" - .'* A dynamically mounted dataset must be after non-dynamic datasets.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'Key' => ['description' => 'The key of the custom tag.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => '', 'required' => false], + 'Value' => ['description' => 'The value of the custom tag.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => '', 'required' => false], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'example' => '{\'foo\': \'bar\'}', ], - 'DisassociateDatasets' => [ - 'title' => '是否删除关联数据集', - 'description' => 'Specifies whether to delete the associated datasets.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'DisassociateVpc' => [ - 'title' => '是否删除关联用户vpc', - 'description' => 'Specifies whether to delete the associated user VPC.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'DisassociateForwardInfos' => [ - 'title' => '是否删除关联端口透出信息', - 'description' => 'Specifies whether to delete the associated forward information.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'RequestedResource' => [ - 'title' => '资源配置,弹内或者轻量化时使用', - 'description' => 'The resource configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'title' => 'cpu核数', - 'description' => 'The number of vCPU cores.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'Memory' => [ - 'title' => 'memory大小', - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'SharedMemory' => [ - 'title' => 'shared memory大小', - 'description' => 'The shared memory size. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '32', - ], - 'GPU' => [ - 'title' => 'gpu数量', - 'description' => 'The number of GPUs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4', - ], - 'GPUType' => [ - 'title' => 'gpu显卡类型', - 'description' => 'The GPU type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v100', - ], - ], - 'required' => false, - 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', - ], - 'WorkspaceSource' => [ - 'title' => '工作空间指向的存储,如果不指定,则依次使用NAS,CloudDisk或者本地磁盘', - 'description' => 'Specifies the storage corresponding to the working directory. You can mount disks or datasets to /mnt/workspace at the same time. OSS datasets and dynamically mounted datasets are not supported.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* rootfsCloudDisk: Mount disk to the working directory.'."\n" - .'* Mount path of the dataset, such as /mnt/data: Datasets in URI format only support this method.'."\n" - .'* Dataset ID, such as d-vsqjvs\\*\\*\\*\\*rp5l206u: If a single dataset is mounted to multiple paths, the first path is selected. We recommend that you do not use this method, use the mount path instead.'."\n" - ."\n" - .'If you leave this parameter empty:'."\n" - ."\n" - .'* If the instance uses cloud disks, cloud disks are selected by default.'."\n" - .'* if no disks are available, the first NAS or CPFS dataset is selected as the working directory.'."\n" - .'* If no disk, NAS, or CPFS datasets is available, the host space is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/mnt/data', - ], - 'UserId' => [ - 'title' => '实例的使用者,可能是子账号或者主账号', - 'description' => 'the User ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '16122**********', - ], - 'CloudDisks' => [ - 'title' => '云盘列表', - 'description' => 'The cloud disks.'."\n", + 'ExcludePaths' => [ 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'title' => '云盘容量', - 'description' => 'If **Resource Type** is **Public Resource** or if **Resource Quota** is subscription-based general-purpose computing resources (CPU cores ≥ 2 and memory ≥ 4 GB, or configured with GPU):'."\n" - ."\n" - .'Each instance has a free system disk quota of 100 GiB for persistent storage. **If the DSW instance is stopped and not launched for more than 15 days, the disk is cleared**. The disk can be expanded. For specific pricing, refer to the console.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning**'."\n" - ."\n" - .'* After the expansion, you cannot reduce the storage space. Proceed with caution.'."\n" - ."\n" - .'* After the expansion, the disk is not cleared if the instance is stopped for more than 15 days. However, it will continue to incur fees.'."\n" - ."\n" - .'* If you delete the instance, the system disk is also released and the data stored in the disk is deleted. Make sure that you have backed up your data before you delete the instance.'."\n" - ."\n" - .'If you need persistent storage, you can **mount a dataset** or add the OSS, NAS, or CPFS path to the **storage path**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100Gi', - ], - 'SubType' => [ - 'title' => '云盘类型, rootfs 挂载为rootfs', - 'description' => 'Disk type:'."\n" - ."\n" - .'* rootfs: Mounts the disk as a system disk. The system environment is stored on the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rootfs', - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, - 'example' => '[]', - ], - 'Priority' => [ - 'title' => '实例排队优先级', - 'description' => 'The priority based on which resources are allocated to instances. Valid values: 1 to 9.'."\n" - ."\n" - .'* 1: the lowest priority.'."\n" - .'* 9 is the highest priority.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - 'Driver' => [ - 'title' => 'Driver for accelerator', - 'description' => 'The NVIDIA driver configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '535.54.03', - ], - 'DisassociateDriver' => [ - 'title' => '是否删除关联端口透出信息', - 'description' => 'Specifies whether to delete the NVIDIA driver configuration.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'CredentialConfig' => [ - 'title' => 'credential注入配置。', - 'description' => 'The credential configuration.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/CredentialConfig', - ], - 'DisassociateCredential' => [ - 'title' => '是否删除credential注入信息。', - 'description' => 'Specifies whether to delete the credential injection information.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Affinity' => [ - 'description' => 'The affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The CPU affinity configuration. Only subscription instances that use general-purpose computing resources support CPU affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Specifies whether CPU affinity is enabled.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'ImageAuth' => [ - 'title' => '用户私有镜像的账号密码信息,如果镜像地址是公共镜像或者归属当前账号的 ACR 镜像,则不需要填写。生成方法: ${username}:${password} base64编码后的值。', - 'description' => 'The Base64-encoded account and password for the user‘s private image. The password will be hidden.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '****', - ], - 'DynamicMount' => [ - 'description' => 'The dynamic mount configuration.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/DynamicMount', - ], - 'EnvironmentVariables' => [ - 'type' => 'object', - ], - 'DisassociateEnvironmentVariables' => [ - 'type' => 'boolean', - ], - 'UserCommand' => [ - 'type' => 'object', - 'properties' => [ - 'OnStart' => [ - 'type' => 'object', - 'properties' => [ - 'Content' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'DisassociateUserCommand' => [ - 'type' => 'boolean', - ], - 'OversoldType' => [ - 'title' => '闲时资源的类型:'."\n" - .'ForceQuotaOverSold:只使用闲时资源'."\n" - .'AcceptQuotaOverSold:可接受闲时资源'."\n" - .'ForbiddenQuotaOverSold:使用保障资源', - 'type' => 'string', - ], - 'DisassociateSpot' => [ - 'title' => '是否关闭竞价配置', - 'type' => 'boolean', - ], - 'SpotSpec' => [ - 'title' => '抢占实例配置', - 'type' => 'object', - 'properties' => [ - 'SpotStrategy' => [ - 'title' => '抢占策略:'."\n" - .'SpotWithPriceLimit:自定义设置抢占实例价格上限。'."\n" - .'SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', - 'type' => 'string', - 'example' => 'SpotWithPriceLimit', - ], - 'SpotPriceLimit' => [ - 'title' => '抢占式实例的每小时价格上限,最多支持精确到小数点后三位,抢占策略是SpotWithPriceLimit的时候必填', - 'type' => 'string', - 'example' => '0.12', - ], - 'SpotDuration' => [ - 'title' => '抢占式实例的保护期。默认为1,可设置为0,表示无保护期。灵骏规格无效。', - 'type' => 'string', - 'example' => '0', - ], - 'SpotDiscountLimit' => [ - 'title' => '抢占式实例的每小时折扣上限,灵骏规格必填。', - 'type' => 'string', - 'example' => '0.1', - ], - ], - ], - 'DisassociateAssignNode' => [ - 'title' => '是否关闭指定节点调度', - 'type' => 'boolean', - ], - 'AssignNodeSpec' => [ - 'title' => '指定节点调度配置', - 'type' => 'object', - 'properties' => [ - 'NodeNames' => [ - 'title' => '指定调度的节点:"node-a,node-b"', - 'type' => 'string', - 'example' => 'node-a', - ], - 'AntiAffinityNodeNames' => [ - 'title' => '排除调度的节点:"node-a,node-b"', - 'type' => 'string', - 'example' => 'node-b', - ], - ], - ], - 'StartInstance' => [ - 'type' => 'boolean', - ], - 'MigrationOptions' => [ - 'title' => '实例迁移选项,只支持启用了持久化存储的灵骏实例设置此参数。当前支持:'."\n" - .'● EnableProcessesPreservation :是否保留实例运行中的进程。可选值:true , false。启用此能力,需要实例预留进程迁移需要的存储空间。', - 'type' => 'object', - ], - 'DisassociateMigrationOptions' => [ - 'title' => '是否删除迁移选项', - 'type' => 'boolean', + 'title' => '', + 'description' => 'The list of file paths to exclude. This parameter is supported only for ECI instances. It is used to ignore specified folders or files when you create an image.', + 'example' => '', ], + 'Overwrite' => ['description' => 'Specifies whether to overwrite an existing image tag in the image repository.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => ''], ], 'required' => false, + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The result of the request.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. All errors except parameter authentication errors are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter authentication error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'SnapshotId' => ['description' => 'The instance snapshot ID.', 'type' => 'string', 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'UpdateInstance', - ], - 'StartInstance' => [ - 'summary' => '启动实例', - 'path' => '/api/v2/instances/{InstanceId}/start', - 'methods' => [ - 'put', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateInstanceSnapshot', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstanceSnapshot'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'CreateSanityCheckTask' => [ + 'path' => '/api/v2/sanitychecks/{CheckType}', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '118635', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], - 'tenantRelevance' => 'tenant', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'CheckType', 'in' => 'path', + 'schema' => ['description' => 'The type of the check item. Valid values:'."\n" + ."\n" + .'- **SSH**: triggers an SSH health check for the instance.', 'type' => 'string', 'required' => true, 'example' => 'SSH', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'description' => 'The request body.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID. For information about how to obtain the instance ID, see [ListInstances](~~2411819~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx'."\n", 'title' => ''], + 'CheckArgs' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => '', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BEBDF2EE-642E-5992-8907-D2011A7ACEFE'."\n", 'title' => ''], + 'TaskId' => ['description' => 'The ID of the created health check task.', 'type' => 'string', 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0', 'title' => ''], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Create a sanity check task', + 'summary' => 'Submits an asynchronous health check task for a specified DSW instance. You must specify the check type (such as ssh) and the instance ID. The system immediately returns a unique task ID (TaskID) to indicate that the task has been queued. This operation does not block while waiting for the check result, which makes it suitable for scenarios that require a quick response. You can use the task ID to query the execution status and detailed results later.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - ], - 'StopInstance' => [ - 'summary' => '停止实例', - 'path' => '/api/v2/instances/{InstanceId}/stop', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateSanityCheckTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BEBDF2EE-642E-5992-8907-D2011A7ACEFE\\\\n\\",\\n \\"TaskId\\": \\"917479ff-c869-49ea-908e-ae85bd987bc0\\"\\n}","type":"json"}]', + ], + 'CreateTempFile' => [ + 'path' => '/api/v2/tempfiles', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '118632', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '207259', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], - [ - 'name' => 'SaveImage', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '是否保存环境后再关闭实例', - 'description' => '', - 'type' => 'boolean', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the temporary file.', 'type' => 'string', 'example' => 'filename', 'title' => '', 'required' => false], + 'Capacity' => ['description' => 'The capacity of the temporary file.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => '', 'required' => false], + 'Prefix' => ['description' => 'The file prefix.', 'type' => 'string', 'example' => 'somedir/', 'title' => '', 'required' => false], + 'TaskId' => ['description' => 'The ID of the associated task.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => '', 'required' => false], + 'InstanceId' => ['description' => 'The DSW instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => '', 'required' => false], + ], + 'description' => 'The request body.', 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code returned for the request.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileId' => ['description' => 'The temporary file ID.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], ], + 'title' => '', + 'description' => 'The response data.', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - ], - 'GetInstance' => [ - 'summary' => 'Queries the details of a DSW instance.', - 'path' => '/api/v2/instances/{InstanceId}', - 'methods' => [ - 'get', + 'title' => 'CreateTempFile', + 'summary' => 'Creates a temporary file.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateTempFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileId\\": \\"tempfile-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'CreateTempFileTask' => [ + 'path' => '/api/v2/tempfiletasks', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '118634', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'abilityTreeCode' => '214812', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => '', 'required' => false], + ], + 'description' => 'The request parameters.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Token', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The sharing token information.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'WUzWCMr325LV0bH2JH4C4HoDaKIU6C4S', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileTaskId' => ['description' => 'The ID of the temporary file task.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'description' => 'The result of the request.', + 'example' => '', ], ], - [ - 'name' => 'Fields', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateTempFileTask', + 'summary' => 'Creates a temporary file task.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateTempFileTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileTaskId\\": \\"task-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteIdleInstanceCuller' => [ + 'summary' => 'Deletes the automatic stop policy of an instance.', + 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '154058', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '实例详情', - 'description' => 'The instance details.'."\n", + 'title' => 'IdleInstanceCullerIdResult', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'WorkspaceId' => [ - 'title' => '工作空间Id', - 'description' => 'The workspace ID.'."\n", - 'type' => 'string', - 'example' => '40823', - ], - 'WorkspaceName' => [ - 'title' => '工作空间名称', - 'description' => 'The workspace name.'."\n", - 'type' => 'string', - 'example' => 'training_data', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'InstanceName' => [ - 'title' => '实例名称', - 'description' => 'The instance name.'."\n", - 'type' => 'string', - 'example' => 'training_data', - ], - 'EcsSpec' => [ - 'title' => '实例对应的Ecs规格', - 'description' => 'The ECS instance type of the instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.c6.large', - ], - 'Status' => [ - 'title' => '实例状态', - 'description' => 'The instance status.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Creating'."\n" - .'* SaveFailed'."\n" - .'* Stopped'."\n" - .'* Failed'."\n" - .'* ResourceAllocating'."\n" - .'* Stopping'."\n" - .'* Updating'."\n" - .'* Saving'."\n" - .'* Queuing'."\n" - .'* Recovering'."\n" - .'* Starting'."\n" - .'* Running'."\n" - .'* Saved'."\n" - .'* Deleting'."\n" - .'* EnvPreparing'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Creating' => '', - 'SaveFailed' => '', - 'Stopped' => '', - 'Failed' => '', - 'ResourceAllocating' => '', - 'Stopping' => '', - 'Updating' => '', - 'Saving' => '', - 'Queuing' => '', - 'Recovering' => '', - 'Starting' => '', - 'Running' => '', - 'Saved' => '', - 'Deleting' => '', - 'EnvPreparing' => '', - ], - 'example' => 'Running', - ], - 'InstanceUrl' => [ - 'title' => '实例Url', - 'description' => 'The instance URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=39772#/', - ], - 'JupyterlabUrl' => [ - 'title' => 'Jupyterlab Url', - 'description' => 'The JupyterLab URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/lab/', - ], - 'WebIDEUrl' => [ - 'title' => 'Web IDE url', - 'description' => 'The Web IDE URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/ide/', - ], - 'TerminalUrl' => [ - 'title' => '终端url', - 'description' => 'The terminal URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/tty/', - ], - 'AccumulatedRunningTimeInMs' => [ - 'title' => '累计运行时间(ms)', - 'description' => 'The accumulated running duration. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600000', - ], - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '镜像地址', - 'description' => 'The image address.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'GmtCreateTime' => [ - 'title' => '实例创建时间', - 'description' => 'The creation time of the instance.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '实例修改时间', - 'description' => 'The last modified time of the instance.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'UserId' => [ - 'title' => '用户Id', - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'example' => '1612285282502324', - ], - 'UserName' => [ - 'title' => '用户名称', - 'description' => 'The username.'."\n", - 'type' => 'string', - 'example' => '测试用户', - ], - 'Datasets' => [ - 'title' => '数据集集合', - 'description' => 'The datasets.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A dataset object. The dataset can be of the NAS or OSS type. Its properties include the dataset ID and the mount path in the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'DatasetId' => [ - 'title' => '数据集Id', - 'description' => 'The dataset ID.'."\n", - 'type' => 'string', - 'example' => 'd-vsqjvsjp4orp5l206u', - ], - 'DatasetVersion' => [ - 'title' => '数据集版本', - 'description' => 'The dataset version.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'Uri' => [ - 'title' => '数据Uri', - 'description' => 'The dataset URI.'."\n", - 'type' => 'string', - 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', - ], - 'MountPath' => [ - 'title' => '容器内挂载路径', - 'description' => 'The mount path in the container.'."\n", - 'type' => 'string', - 'example' => '/mnt/data', - ], - 'MountAccess' => [ - 'title' => '读写权限,RW:读写,RO:只读。', - 'description' => 'The read and write permissions. Valid values: RW and RO.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'RW' => 'RW', - 'RO' => 'RO', - ], - 'example' => 'RW', - ], - 'Options' => [ - 'title' => '数据挂载的配置项', - 'description' => 'The mount type of the dataset.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "fs.oss.download.thread.concurrency": "10",'."\n" - .' "fs.oss.upload.thread.concurrency": "10",'."\n" - .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" - .'}', - ], - 'OptionType' => [ - 'description' => 'The mount type of the dataset (deprecated).'."\n", - 'type' => 'string', - 'example' => 'FastReadWrite', - ], - 'Dynamic' => [ - 'description' => 'Indicates whether dynamic mounting is enabled. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ActualMountAccess' => [ - 'title' => '实际读写权限,RW:读写,RO:只读。', - 'type' => 'string', - ], - ], - ], - ], - 'UserVpc' => [ - 'title' => 'user vpc配置', - 'description' => 'The virtual private cloud (VPC) configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'title' => 'Vpc Id', - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-xxxxx', - ], - 'VSwitchId' => [ - 'title' => 'VSwitch Id', - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxxxx', - ], - 'SecurityGroupId' => [ - 'title' => 'Security Group Id', - 'description' => 'The security group ID.'."\n", - 'type' => 'string', - 'example' => 'sg-xxxxxx', - ], - 'ExtendedCIDRs' => [ - 'description' => 'The extended CIDR block.'."\n" - ."\n" - .'* If you leave VSwitchId empty, this parameter is not required and the system automatically obtains all CIDR blocks in the VPC.'."\n" - .'* If VSwitchId is not empty, this parameter is required. Specify all CIDR blocks in the VPC.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The extended CIDR block.'."\n", - 'type' => 'string', - 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', - ], - 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', - ], - 'DefaultRoute' => [ - 'title' => 'Default Route', - 'description' => 'Default Route'."\n", - 'type' => 'string', - 'example' => 'eth0 | eth1', - ], - 'ForwardInfos' => [ - 'description' => 'The forward information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The forward information.'."\n", - '$ref' => '#/components/schemas/ForwardInfoResponse', - ], - ], - 'BandwidthLimit' => [ - 'title' => '公网带宽限速配置', - '$ref' => '#/components/schemas/BandwidthLimit', - ], - 'Ip' => [ - 'title' => '用户VPC的IP地址', - 'type' => 'string', - ], - ], - ], - 'InstanceShutdownTimer' => [ - 'title' => '定时关机任务', - 'description' => 'The scheduled stop tasks.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'GmtCreateTime' => [ - 'title' => '创建时间', - 'description' => 'The creation time.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '修改时间', - 'description' => 'The modified time.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'DueTime' => [ - 'title' => '设定关机时间', - 'description' => 'The scheduled stop time.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'RemainingTimeInMs' => [ - 'title' => '剩余关机时间(ms)', - 'description' => 'The remaining time before the instance is stopped. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600000', - ], - ], - ], - 'ReasonCode' => [ - 'title' => '实例错误代码', - 'description' => 'The error code of the instance.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例错误原因', - 'description' => 'The cause of the instance error.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'PaymentType' => [ - 'title' => '支付类型', - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* PayAsYouGo'."\n" - .'* Subscription'."\n", - 'type' => 'string', - 'example' => 'PayAsYouGo', - ], - 'LatestSnapshot' => [ - 'title' => '最新保存的用户镜像', - 'description' => 'The latest user image saved.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'ImageUrl' => [ - 'title' => '镜像Url', - 'description' => 'The image URL.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'RepositoryUrl' => [ - 'title' => '镜像仓库Url', - 'description' => 'The image repository URL.'."\n", - 'type' => 'string', - 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', - ], - 'GmtCreateTime' => [ - 'title' => '快照创建时间', - 'description' => 'The time when the snapshot was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '快照修改时间', - 'description' => 'The time when the snapshot was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => 'The error code of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => 'The error message of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => 'The instance snapshot status.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Committing'."\n" - .'* Pushing'."\n" - .'* Failed'."\n" - .'* Saved'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Committing' => '', - 'Pushing' => '', - 'Failed' => '', - 'Saved' => '', - ], - 'example' => 'Pushing', - ], - ], - ], - 'AcceleratorType' => [ - 'title' => '实例计算类型', - 'description' => 'The accelerator type of the instance.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CPU'."\n" - .'* GPU'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'CPU' => 'CPU', - 'GPU' => 'GPU', - ], - 'example' => 'CPU', - ], - 'Accessibility' => [ - 'title' => '工作空间内是否他人可见', - 'description' => 'The accessibility. Valid values:'."\n" - ."\n" - .'* PRIVATE: Accessible only to you and the administrator of the workspace.'."\n" - .'* PUBLIC: Accessible to all members in the workspace.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'PUBLIC' => '', - 'PRIVATE' => '', - ], - 'example' => 'PRIVATE', - ], - 'EnvironmentVariables' => [ - 'title' => '环境变量', - 'description' => 'The environment variables.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'description' => 'The user defined environment variables, injected into the container after the instance is started.'."\n", - 'example' => 'app: MAAS', - ], - 'example' => '{userName: "Chris"}', - ], - 'ResourceId' => [ - 'title' => '资源Id,预付费时填写', - 'description' => 'The resource ID. This parameter is available if the billing method is subscription.'."\n", - 'type' => 'string', - 'example' => 'dsw-123456789', - ], - 'ResourceName' => [ - 'description' => 'The specification type.'."\n" - ."\n" - .'* For subscription, this is the requested CPU and memory size.'."\n" - .'* For pay-as-you-go, this is the selected ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.g7.xlarge', - ], - 'Priority' => [ - 'title' => '优先级,在分配资源给实例时,优先级越高的实例越优先', - 'description' => 'The priority based on which resources are allocated to instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestedResource' => [ - 'title' => '资源配置,弹内或者轻量化时使用', - 'description' => 'The resource configurations in subscription scenarios.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'title' => 'cpu核数', - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'Memory' => [ - 'title' => 'memory大小', - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'SharedMemory' => [ - 'title' => 'shared memory大小', - 'description' => 'The shared memory size. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'GPU' => [ - 'title' => 'gpu数量', - 'description' => 'The number of GPUs.'."\n", - 'type' => 'string', - 'example' => '4', - ], - 'GPUType' => [ - 'title' => 'gpu显卡类型', - 'description' => 'The GPU type. Valid values:'."\n" - ."\n" - .'* V100'."\n" - .'* A100'."\n" - .'* T4'."\n" - .'* A10'."\n" - .'* P100'."\n", - 'type' => 'string', - 'example' => 'v100', - ], - ], - 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', - ], - 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => 'The custom tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'You can add custom tags to an instance to mark some custom attributes.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '123xxxxxxxx', - ], - ], - ], - 'example' => '{\'foo\': \'bar\'}', - ], - 'IdleInstanceCuller' => [ - 'title' => '实例的空闲资源回收器', - 'description' => 'The automatic shutdown settings.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'CpuPercentThreshold' => [ - 'description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'GpuPercentThreshold' => [ - 'description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxIdleTimeInMinutes' => [ - 'description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeInMinutes' => [ - 'description' => 'The current time duration for which the instance is idle. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - ], - 'example' => '{"InstanceId":"dsw-05cefd0be2e5a278","CpuPercentThreshold":20,"GpuPercentThreshold":10,"MaxIdleTimeInMinutes":120,"IdleTimeInMinutes":30}', - ], - 'InstanceSnapshotList' => [ - 'title' => '实例的快照列表', - 'description' => 'The instance snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance snapshot.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'ImageUrl' => [ - 'title' => '镜像Url', - 'description' => 'The image URL.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'RepositoryUrl' => [ - 'title' => '镜像仓库Url', - 'description' => 'The image repository URL.'."\n", - 'type' => 'string', - 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', - ], - 'GmtCreateTime' => [ - 'title' => '快照创建时间', - 'description' => 'The time when the snapshot was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '快照修改时间', - 'description' => 'The time when the snapshot was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => 'The error code of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => 'The error message of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => 'The instance snapshot status.'."\n", - 'type' => 'string', - 'example' => 'Pushing', - ], - ], - ], - 'example' => '[]', - ], - 'CloudDisks' => [ - 'title' => '实例的云盘列表', - 'description' => 'The cloud disks of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The disk information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'title' => '云盘容量', - 'description' => 'Disk Capacity'."\n", - 'type' => 'string', - 'example' => '30Gi', - ], - 'SubType' => [ - 'title' => '云盘使用方式, rootfs 挂载为rootfs', - 'description' => 'The usage mode of the cloud disk. The value rootfs indicates that the cloud disk is used as the root file system.'."\n", - 'type' => 'string', - 'example' => 'rootfs', - ], - 'MountPath' => [ - 'title' => '容器内挂载云盘路径', - 'description' => 'The mount path of the cloud disk in the container.'."\n", - 'type' => 'string', - 'example' => '/mmt/workspace', - ], - 'Path' => [ - 'title' => '云盘内被挂载目录路径', - 'description' => 'The directory on the cloud disk that is mounted to the container.'."\n", - 'type' => 'string', - 'example' => '/workspace', - ], - 'Status' => [ - 'type' => 'object', - 'properties' => [ - 'Available' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'Usage' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'Capacity' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - ], - ], - ], - ], - 'example' => '[]', - ], - 'WorkspaceSource' => [ - 'title' => '工作空间指向的存储,如果不指定,则依次使用NAS,CloudDisk或者本地磁盘', - 'description' => 'The storage for the workspace. If you leave this parameter empty, the workspace uses File Storage NAS (NAS) storage, cloud disks, or local disks in sequence.'."\n", - 'type' => 'string', - 'example' => 'd-123456789', - ], - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FC****', 'title' => ''], 'Success' => [ - 'title' => '成功标志', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", + .'- true'."\n" + ."\n" + .'- false', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', + 'title' => '', 'example' => 'true', ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The error message. Valid values:'."\n" - ."\n" - .'* If the request is successful, null is returned.'."\n" - .'* If the request fails, the cause for the failure is returned.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: All errors, except for parameter validation errors, are internal errors.'."\n" - .'* ValidationError: A parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'Driver' => [ - 'title' => 'NVIDIA 驱动配置', - 'description' => 'The NVIDIA driver configuration.'."\n", - 'type' => 'string', - 'example' => '535.54.03', - ], - 'NodeErrorRecovery' => [ - 'description' => 'The error recovery configuration of the node.'."\n", - 'type' => 'object', - 'properties' => [ - 'hasNodeError' => [ - 'description' => 'Indicates whether the node has an error.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'enableAutoSwitchOnNodeError' => [ - 'description' => 'Indicates whether to enable automatic switchover when a node error occurs.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'autoSwitchCountdownSeconds' => [ - 'description' => 'The number of seconds to wait before automatic switchover.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - ], - ], - 'CredentialConfig' => [ - 'title' => 'Credential注入配置。', - 'description' => 'The credential injection configuration.'."\n", - '$ref' => '#/components/schemas/CredentialConfig', - ], - 'Affinity' => [ - 'description' => 'The affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The CPU affinity configuration. Only subscription instances that use general-purpose computing resources support CPU affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Indicates whether CPU affinity is enabled.'."\n" - ."\n" - .'true false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'ImageAuth' => [ - 'title' => '用户私有镜像的账号密码信息base64编码后的值,密码部分会被隐藏。', - 'description' => 'The Base64-encoded account and password for the user‘s private image. The password will be hidden.'."\n", - 'type' => 'string', - 'example' => 'YWxpeXVuNjUzMzM5MjIwMzoqKioqKio=', - ], - 'Tags' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A resource tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'tag1', - ], - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'value1', - ], - ], - ], - ], - 'DynamicMount' => [ - 'description' => 'The dynamic mount configuration.'."\n", - '$ref' => '#/components/schemas/DynamicMount', - ], - 'ProxyPath' => [ - 'description' => 'The proxy path.'."\n", - 'type' => 'string', - 'example' => 'dsw-170197/proxy/', - ], - 'UserCommandId' => [ - 'type' => 'string', - ], - 'ServiceConfig' => [ - '$ref' => '#/components/schemas/ServiceConfig', - ], - 'PodIps' => [ - 'type' => 'array', - 'items' => [ - '$ref' => '#/components/schemas/PodIp', - ], - ], - 'MigrationOptions' => [ - 'title' => '实例迁移选项', - 'type' => 'object', - ], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, null is returned.'."\n" + ."\n" + .'- If the request fails, the failure cause is returned.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'ValidationError'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"WorkspaceId\\": \\"40823\\",\\n \\"WorkspaceName\\": \\"training_data\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"InstanceName\\": \\"training_data\\",\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceUrl\\": \\"https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=3****#/\\",\\n \\"JupyterlabUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/lab/\\",\\n \\"WebIDEUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/ide/\\",\\n \\"TerminalUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/tty/\\",\\n \\"AccumulatedRunningTimeInMs\\": 3600000,\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"UserId\\": \\"161228528250****\\",\\n \\"UserName\\": \\"测试用户\\",\\n \\"Datasets\\": [\\n {\\n \\"DatasetId\\": \\"d-vsqjvsjp4orp5l****\\",\\n \\"DatasetVersion\\": \\"v1\\",\\n \\"Uri\\": \\"oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/\\",\\n \\"MountPath\\": \\"/mnt/data\\",\\n \\"MountAccess\\": \\"RW\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"fs.oss.download.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.oss.upload.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.jindo.args\\\\\\": \\\\\\"-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink\\\\\\"\\\\n}\\",\\n \\"OptionType\\": \\"FastReadWrite\\",\\n \\"Dynamic\\": false,\\n \\"ActualMountAccess\\": \\"\\"\\n }\\n ],\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"vpc-xxxxx\\",\\n \\"VSwitchId\\": \\"vsw-xxxxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxxx\\",\\n \\"ExtendedCIDRs\\": [\\n \\"\\\\\\"172.16.19.0/24\\\\\\",\\\\\\"172.16.2.0/24\\\\\\",\\\\\\"172.16.12.0/24\\\\\\"\\"\\n ],\\n \\"DefaultRoute\\": \\"eth0 | eth1\\",\\n \\"ForwardInfos\\": [\\n {\\n \\"Enable\\": true,\\n \\"ContainerName\\": \\"dsw-notebook\\",\\n \\"ForwardPort\\": \\"22\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"EipAllocationId\\": \\"eip-25877c70gddh****\\",\\n \\"SSHPublicKey\\": \\"\\",\\n \\"ConnectInfo\\": {\\n \\"Phase\\": \\"Ready\\",\\n \\"Message\\": \\"DNAT and privateZone are both ready.\\",\\n \\"Intranet\\": {\\n \\"Endpoint\\": \\"dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com\\",\\n \\"Port\\": \\"22\\"\\n },\\n \\"Internet\\": {\\n \\"Endpoint\\": \\"47.111.119.114\\",\\n \\"Port\\": \\"22\\"\\n }\\n },\\n \\"Name\\": \\"ssh\\",\\n \\"ExternalPort\\": \\"1024\\",\\n \\"AccessType\\": [\\n \\"intranet\\"\\n ]\\n }\\n ],\\n \\"BandwidthLimit\\": {\\n \\"EgressWhitelists\\": [\\n \\"\\"\\n ],\\n \\"IngressRate\\": \\"\\",\\n \\"EgressRate\\": \\"\\",\\n \\"IngressWhitelists\\": [\\n \\"\\"\\n ]\\n },\\n \\"Ip\\": \\"\\"\\n },\\n \\"InstanceShutdownTimer\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n },\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"PaymentType\\": \\"PayAsYouGo\\",\\n \\"LatestSnapshot\\": {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n },\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"app: MAAS\\"\\n },\\n \\"ResourceId\\": \\"dsw-12345****\\",\\n \\"ResourceName\\": \\"ecs.g7.xlarge\\",\\n \\"Priority\\": 1,\\n \\"RequestedResource\\": {\\n \\"CPU\\": \\"32\\",\\n \\"Memory\\": \\"32\\",\\n \\"SharedMemory\\": \\"32\\",\\n \\"GPU\\": \\"4\\",\\n \\"GPUType\\": \\"v100\\"\\n },\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"IdleInstanceCuller\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n },\\n \\"InstanceSnapshotList\\": [\\n {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n }\\n ],\\n \\"CloudDisks\\": [\\n {\\n \\"Capacity\\": \\"30Gi\\",\\n \\"SubType\\": \\"rootfs\\",\\n \\"MountPath\\": \\"/mmt/workspace\\",\\n \\"Path\\": \\"/workspace\\",\\n \\"Status\\": {\\n \\"Available\\": 0,\\n \\"Usage\\": 0,\\n \\"Capacity\\": 0\\n }\\n }\\n ],\\n \\"WorkspaceSource\\": \\"d-123456789\\",\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"Driver\\": \\"535.54.03\\",\\n \\"NodeErrorRecovery\\": {\\n \\"hasNodeError\\": false,\\n \\"enableAutoSwitchOnNodeError\\": true,\\n \\"autoSwitchCountdownSeconds\\": 30\\n },\\n \\"CredentialConfig\\": {\\n \\"Enable\\": true,\\n \\"AliyunEnvRoleKey\\": \\"0\\",\\n \\"Configs\\": [\\n {\\n \\"Key\\": \\"0\\",\\n \\"Type\\": \\"Role\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"acs:ram::123******:role/****\\",\\n \\"RoleType\\": \\"service\\",\\n \\"AssumeRoleFor\\": \\"123******\\",\\n \\"Policy\\": \\"{}\\",\\n \\"UserInfo\\": {\\n \\"Id\\": \\"456******\\",\\n \\"Type\\": \\"sub\\",\\n \\"AccessKeyId\\": \\"LT********\\",\\n \\"SecurityToken\\": \\"********\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"Affinity\\": {\\n \\"CPU\\": {\\n \\"Enable\\": true\\n }\\n },\\n \\"ImageAuth\\": \\"YWxpeXVuNjUzMzM5MjIwMzoqKioqKio=\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"tag1\\",\\n \\"TagValue\\": \\"value1\\"\\n }\\n ],\\n \\"DynamicMount\\": {\\n \\"Enable\\": true,\\n \\"MountPoints\\": [\\n {\\n \\"RootPath\\": \\"\\",\\n \\"Options\\": \\"\\"\\n }\\n ]\\n },\\n \\"ProxyPath\\": \\"dsw-170197/proxy/\\",\\n \\"UserCommandId\\": \\"1900\\",\\n \\"ServiceConfig\\": {\\n \\"JupyterServerPassword\\": \\"\\",\\n \\"JupyterServerAuth\\": \\"\\",\\n \\"CodeServerPassword\\": \\"\\",\\n \\"CodeServerAuth\\": \\"\\"\\n },\\n \\"PodIps\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"Ip\\": \\"\\",\\n \\"InterfaceName\\": \\"\\"\\n }\\n ],\\n \\"MigrationOptions\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', - 'title' => 'GetInstance', - ], - 'ListInstances' => [ - 'summary' => 'Queries a list of Data Science Workshop (DSW) instances.', - 'path' => '/api/v2/instances', - 'methods' => [ - 'get', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteIdleInstanceCuller', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteIdleInstanceCuller'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteInstance' => [ + 'path' => '/api/v2/instances/{InstanceId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '118637', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'abilityTreeCode' => '118633', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'WorkspaceId', - 'in' => 'query', - 'schema' => [ - 'title' => '工作空间Id', - 'description' => 'The workspace ID. You can call [ListWorkspaces](~~449124~~) to obtain the workspace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '40823', - ], + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], - [ - 'name' => 'InstanceName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '实例名称', - 'description' => 'The instance name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'training_data', + 'title' => '', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'ValidationError'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404'."\n" + ."\n" + .'- 200', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'title' => '资源组Id', - 'description' => 'The resource group ID. If you leave this parameter empty, the instances in the pay-as-you-go resource group are queried. If you set this parameter to ALL, all instances are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-123456789', - ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteInstance', + 'summary' => 'Deletes a specific instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstance'], ], + ], + 'ramActions' => [ [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'title' => '实例状态', - 'description' => 'The instance status.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Creating'."\n" - .'* SaveFailed'."\n" - .'* Stopped'."\n" - .'* Failed'."\n" - .'* ResourceAllocating'."\n" - .'* Stopping'."\n" - .'* Updating'."\n" - .'* Saving'."\n" - .'* Queuing'."\n" - .'* Recovering'."\n" - .'* Starting'."\n" - .'* Running'."\n" - .'* Saved'."\n" - .'* Deleting'."\n" - .'* EnvPreparing'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Creating' => '', - 'SaveFailed' => '', - 'Stopped' => '', - 'Failed' => '', - 'ResourceAllocating' => '', - 'Stopping' => '', - 'Updating' => '', - 'Saving' => '', - 'Queuing' => '', - 'Recovering' => '', - 'Starting' => '', - 'Running' => '', - 'Saved' => '', - 'Deleting' => '', - 'EnvPreparing' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeletePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'example' => 'Running', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteInstanceLabels' => [ + 'summary' => 'Delete tags from a Data Science Workshop (DSW) instance.', + 'path' => '/api/v2/instances/{InstanceId}/labels', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PaymentType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* PayAsYouGo'."\n" - .'* Subscription'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PayAsYouGo' => '', - 'Subscription' => '', - ], - 'example' => 'PayAsYouGo', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '228180', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], + ], + 'parameters' => [ [ - 'name' => 'Accessibility', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accessibility. Valid values:'."\n" - ."\n" - .'* PRIVATE (default): The instances are accessible only to you and the administrator of the workspace.'."\n" - .'* PUBLIC: The instances are accessible only to all members in the workspace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIVATE', - ], + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the DSW instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'dsw-730xxxxxxxxxx'], ], [ - 'name' => 'AcceleratorType', + 'name' => 'LabelKeys', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerator type.'."\n" - ."\n" - .'* CPU: Only CPU computing is used.'."\n" - .'* GPU: GPUs are used to accelerate computing.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'CPU' => 'CPU', - 'GPU' => 'GPU', - ], - 'example' => 'CPU', - ], + 'schema' => ['description' => 'The keys of the tags that you want to delete. Separate multiple tags with commas (,).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'labelKey1,labelKey2,labelKey3'], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '页码', - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', + 'title' => 'Schema of Response', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'example' => '', ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '分页数量大小', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteInstanceLabels', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceLabels'], ], + ], + 'ramActions' => [ [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'title' => '排序字段', - 'description' => 'The field that you use to sort the query results.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Priority'."\n" - .'* GmtCreateTime'."\n" - .'* GmtModifiedTime'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Priority' => '', - 'GmtCreateTime' => '', - 'GmtModifiedTime' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceLabels', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'example' => 'gmtCreate', - 'default' => 'GmtModifiedTime', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteInstanceShutdownTimer' => [ + 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Order', - 'in' => 'query', - 'schema' => [ - 'title' => '排列顺序', - 'description' => 'The order that you use to sort the query results.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ASC'."\n" - .'* DESC'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ASC' => '', - 'DESC' => '', - ], - 'example' => 'DESC', - 'default' => 'DESC', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118638', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + ], + 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], - [ - 'name' => 'Labels', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The labels. A maximum of four labels are supported.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', - 'required' => false, - 'example' => '{'."\n" - .' "key1": "value1",'."\n" - .' "key2": "value2",'."\n" - .' "key3": "value3"'."\n" - .'}', - ], - ], - [ - 'name' => 'CreateUserId', - 'in' => 'query', - 'schema' => [ - 'title' => '创建人的UserId', - 'description' => 'The UID of the creator.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12345*****67890', - ], - ], - [ - 'name' => 'GpuType', - 'in' => 'query', - 'schema' => [ - 'title' => 'Gpu类型', - 'description' => 'The GPU type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NVIDIA A10', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'MinCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of CPUs. Unit: 0.001 CPU. The value 1000 indicates one CPU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2000', - ], + ], + 'title' => 'DeleteInstanceShutdownTimer', + 'summary' => 'Deletes a scheduled stop task of an instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceShutdownTimer'], ], + ], + 'ramActions' => [ [ - 'name' => 'MaxCpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of CPUs. Unit: 0.001 CPU. The value 1000 indicates one CPU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '30000', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteInstanceSnapshot' => [ + 'path' => '/api/v2/instances/{InstanceId}/snapshots/{SnapshotId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinGpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of GPUs. Unit: 0.001 GPU. The value 1000 indicates one GPU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118643', + 'abilityTreeNodes' => ['FEATURElearnE5ZUBR'], + ], + 'parameters' => [ [ - 'name' => 'MaxGpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of GPUs. Unit: 0.001 GPU. The value 1000 indicates one GPU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8000', - ], + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the instance. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'MinMemory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum memory size. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4', - ], + 'name' => 'SnapshotId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the instance snapshot. For more information, see [ListInstanceSnapshot](~~470434~~).', 'type' => 'string', 'required' => true, 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], ], - [ - 'name' => 'MaxMemory', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The maximum memory size. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '48', + 'title' => '', + 'description' => 'The details of the instance snapshot.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the instance snapshot.', 'type' => 'string', 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'MinGpuMemory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum memory size per GPU card. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8', - ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteInstanceSnapshot', + 'summary' => 'Deletes an instance snapshot.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceSnapshot'], ], + ], + 'ramActions' => [ [ - 'name' => 'MaxGpuMemory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum memory size per GPU card. Unit: GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '16', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteInstances' => [ + 'summary' => 'Deletes a batch of instances.', + 'path' => '/api/v2/batch/instances/delete', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像名', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-cpu-py38-ubuntu20.04', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '247984', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], + ], + 'parameters' => [ [ - 'name' => 'Tag', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tag1', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value1', - ], + 'type' => 'object', + 'properties' => [ + 'InstanceIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of an instance to delete.', 'type' => 'string', 'required' => false, 'example' => '[\'dsw-13cb3d2e173cb74e\']', 'title' => ''], + 'description' => 'A list of IDs of the instances to delete.', + 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, ], + 'description' => 'The request body.', 'required' => false, - ], - ], - [ - 'name' => 'OversoldInfo', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'OversoldType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'CreateTimeAfter', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'CreateTimeBefore', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '实例列表', - 'description' => 'The instances.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'TotalCount' => [ - 'title' => '实例总数', - 'description' => 'The total number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35', - ], - 'Instances' => [ - 'title' => '本分页中请求的实例列表', - 'description' => 'The instances returned on this page.'."\n", + 'RequestId' => ['description' => 'Id of the request', 'type' => 'string', 'title' => '', 'example' => 'AA527C1A-F259-5E53-A4DD-D0941193F02D'], + 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'The instance can not be deleted.', 'title' => ''], + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'PermissionError', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'InstanceIds' => [ 'type' => 'array', - 'items' => [ - 'description' => 'The instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'WorkspaceId' => [ - 'title' => '工作空间Id', - 'description' => 'The workspace ID.'."\n", - 'type' => 'string', - 'example' => '40823', - ], - 'WorkspaceName' => [ - 'title' => '工作空间名称', - 'description' => 'The workspace name.'."\n", - 'type' => 'string', - 'example' => 'training_data', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'InstanceName' => [ - 'title' => '实例名称', - 'description' => 'The instance name.'."\n", - 'type' => 'string', - 'example' => 'training_data', - ], - 'EcsSpec' => [ - 'title' => '实例对应的Ecs规格', - 'description' => 'The ECS instance type of the instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.c6.large', - ], - 'Status' => [ - 'title' => '实例状态', - 'description' => 'The instance status.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'InstanceUrl' => [ - 'title' => '实例Url', - 'description' => 'The instance URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=39772#/', - ], - 'JupyterlabUrl' => [ - 'title' => 'Jupyterlab Url', - 'description' => 'The JupyterLab URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/lab/', - ], - 'WebIDEUrl' => [ - 'title' => 'Web IDE url', - 'description' => 'The Web IDE URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/ide/', - ], - 'TerminalUrl' => [ - 'title' => '终端url', - 'description' => 'The terminal URL.'."\n", - 'type' => 'string', - 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/tty/', - ], - 'AccumulatedRunningTimeInMs' => [ - 'title' => '累计运行时间(ms)', - 'description' => 'The accumulated running duration. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600000', - ], - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '镜像地址', - 'description' => 'The image address.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'GmtCreateTime' => [ - 'title' => '实例创建时间', - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '实例修改时间', - 'description' => 'The time when the instance was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'UserId' => [ - 'title' => '用户Id', - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'example' => '1612285282502324', - ], - 'UserName' => [ - 'title' => '用户名称', - 'description' => 'The username.'."\n", - 'type' => 'string', - 'example' => '测试用户', - ], - 'Datasets' => [ - 'title' => '数据集集合', - 'description' => 'The datasets.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The dataset.'."\n", - 'type' => 'object', - 'properties' => [ - 'DatasetId' => [ - 'title' => '数据集Id', - 'description' => 'The dataset ID.'."\n", - 'type' => 'string', - 'example' => 'd-vsqjvsjp4orp5l206u', - ], - 'DatasetVersion' => [ - 'title' => '数据集版本', - 'description' => 'The dataset version.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'Uri' => [ - 'title' => '数据Uri', - 'description' => 'The dataset URI.'."\n", - 'type' => 'string', - 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', - ], - 'MountPath' => [ - 'title' => '容器内挂载路径', - 'description' => 'The mount path in the container.'."\n", - 'type' => 'string', - 'example' => '/mnt/data', - ], - 'MountAccess' => [ - 'title' => '读写权限,RW:读写,RO:只读。', - 'description' => 'The read and write permissions. Valid values: RW and RO.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'RW' => '', - 'RO' => '', - ], - 'example' => 'RW', - ], - 'Options' => [ - 'title' => '数据挂载的配置项', - 'description' => 'The mount type of the dataset.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "fs.oss.download.thread.concurrency": "10",'."\n" - .' "fs.oss.upload.thread.concurrency": "10",'."\n" - .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" - .'}', - ], - 'OptionType' => [ - 'title' => '挂载配置项类型,目前只支持OSS数据集', - 'description' => 'The type of the mount option.'."\n", - 'type' => 'string', - 'example' => 'FastReadWrite', - ], - 'Dynamic' => [ - 'description' => 'Indicates whether dynamic mounting was enabled. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'UserVpc' => [ - 'title' => 'user vpc配置', - 'description' => 'The virtual private cloud (VPC) configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'title' => 'Vpc Id', - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-xxxxx', - ], - 'VSwitchId' => [ - 'title' => 'VSwitch Id', - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxxxx', - ], - 'SecurityGroupId' => [ - 'title' => 'Security Group Id', - 'description' => 'The security group ID.'."\n", - 'type' => 'string', - 'example' => 'sg-xxxxxx', - ], - 'ExtendedCIDRs' => [ - 'description' => 'The extended CIDR blocks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The extended CIDR block.'."\n", - 'type' => 'string', - 'example' => '192.168.0.1/24', - ], - 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', - ], - 'DefaultRoute' => [ - 'title' => 'Default Route', - 'description' => 'The default route.'."\n", - 'type' => 'string', - 'example' => 'eth0 | eth1', - ], - 'ForwardInfos' => [ - 'description' => 'The forward information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The forward information.'."\n", - '$ref' => '#/components/schemas/ForwardInfoResponse', - ], - ], - 'BandwidthLimit' => [ - '$ref' => '#/components/schemas/BandwidthLimit', - ], - 'Ip' => [ - 'type' => 'string', - ], - ], - ], - 'InstanceShutdownTimer' => [ - 'title' => '定时关机任务', - 'description' => 'The scheduled stop task.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'GmtCreateTime' => [ - 'title' => '创建时间', - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '修改时间', - 'description' => 'The time when the instance was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'DueTime' => [ - 'title' => '设定关机时间', - 'description' => 'The scheduled stop time.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'RemainingTimeInMs' => [ - 'title' => '剩余关机时间(ms)', - 'description' => 'The remaining time before the instance is stopped.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600000', - ], - ], - ], - 'ReasonCode' => [ - 'title' => '实例错误代码', - 'description' => 'The error code of the instance.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例错误原因', - 'description' => 'The cause of the instance error.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'PaymentType' => [ - 'title' => '支付类型', - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* PayAsYouGo'."\n" - .'* Subscription'."\n", - 'type' => 'string', - 'example' => 'PayAsYouGo', - ], - 'LatestSnapshot' => [ - 'title' => '最新保存的用户镜像', - 'description' => 'The user image that was latest saved.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'ImageUrl' => [ - 'title' => '镜像Url', - 'description' => 'The image URL.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'RepositoryUrl' => [ - 'title' => '镜像仓库Url', - 'description' => 'The URL of the image repository.'."\n", - 'type' => 'string', - 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', - ], - 'GmtCreateTime' => [ - 'title' => '快照创建时间', - 'description' => 'The time when the snapshot was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '快照修改时间', - 'description' => 'The time when the snapshot was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => 'The error code of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => 'The error message of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => 'The status of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Pushing', - ], - ], - ], - 'AcceleratorType' => [ - 'title' => '实例计算类型', - 'description' => 'The accelerator type of the instance. Valid values:'."\n" - ."\n" - .'* CPU'."\n" - .'* GPU'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'Accessibility' => [ - 'title' => '工作空间内是否他人可见', - 'description' => 'The accessibility. Valid values:'."\n" - ."\n" - .'* PRIVATE (default): The instances are accessible only to you and the administrator of the workspace.'."\n" - .'* PUBLIC: The instances are accessible only to all members in the workspace.'."\n", - 'type' => 'string', - 'example' => 'PRIVATE', - ], - 'EnvironmentVariables' => [ - 'title' => '环境变量', - 'description' => 'The environment variables.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => 'MAAS', - 'description' => 'The specific environment variable. After a DSW instance is started, the specific environment variable is injected into the container.'."\n", - ], - 'example' => '{userName: "Chris"}', - ], - 'ResourceId' => [ - 'title' => '资源Id,预付费时填写', - 'description' => 'The resource ID. This parameter is valid only if you set PaymentType to Subscription.'."\n", - 'type' => 'string', - 'example' => 'dsw-123456789', - ], - 'ResourceName' => [ - 'description' => 'The specifications.'."\n" - ."\n" - .'* In pay-as-you-go scenarios, the value is the specifications of the purchased ECS instance type.'."\n" - .'* In subscription scenarios, the value is the requested number of CPU cores and memory size.'."\n", - 'type' => 'string', - 'example' => 'resource_group', - ], - 'Priority' => [ - 'title' => '优先级,在分配资源给实例时,优先级越高的实例越优先', - 'description' => 'The priority based on which resources are allocated to instances. Resources are preferentially allocated to instances with higher priorities.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestedResource' => [ - 'title' => '资源配置,弹内或者轻量化时使用', - 'description' => 'The resource configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'title' => 'cpu核数', - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'Memory' => [ - 'title' => 'memory大小', - 'description' => 'The memory size.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'SharedMemory' => [ - 'title' => 'shared memory大小', - 'description' => 'The size of the shared memory.'."\n", - 'type' => 'string', - 'example' => '32', - ], - 'GPU' => [ - 'title' => 'gpu数量', - 'description' => 'The number of GPUs.'."\n", - 'type' => 'string', - 'example' => '4', - ], - 'GPUType' => [ - 'title' => 'gpu显卡类型', - 'description' => 'The GPU memory type.'."\n", - 'type' => 'string', - 'example' => 'v100', - ], - ], - 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', - ], - 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => 'The custom labels.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The custom label.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'description' => 'The custom label key.'."\n", - 'type' => 'string', - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'description' => 'The custom label value.'."\n", - 'type' => 'string', - 'example' => '123xxxxxxxx', - ], - ], - ], - 'example' => '{\'foo\': \'bar\'}', - ], - 'IdleInstanceCuller' => [ - 'title' => '实例的空闲资源回收器', - 'description' => 'The rule for stopping idle instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'CpuPercentThreshold' => [ - 'description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'GpuPercentThreshold' => [ - 'description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxIdleTimeInMinutes' => [ - 'description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeInMinutes' => [ - 'description' => 'The time duration for which the instance is idle. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - ], - 'example' => '{"InstanceId":"dsw-05cefd0be2e5a278","CpuPercentThreshold":20,"GpuPercentThreshold":10,"MaxIdleTimeInMinutes":120,"IdleTimeInMinutes":30}', - ], - 'InstanceSnapshotList' => [ - 'title' => '实例的快照列表', - 'description' => 'The instance snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance snapshot.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'title' => '镜像Id', - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageName' => [ - 'title' => '镜像名称', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'py36_cpu_tf1.12_ubuntu', - ], - 'ImageUrl' => [ - 'title' => '镜像Url', - 'description' => 'The image URL.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'RepositoryUrl' => [ - 'title' => '镜像仓库Url', - 'description' => 'The URL of the image repository.'."\n", - 'type' => 'string', - 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', - ], - 'GmtCreateTime' => [ - 'title' => '快照创建时间', - 'description' => 'The time when the snapshot was created.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '快照修改时间', - 'description' => 'The time when the snapshot was modified.'."\n", - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => 'The error code of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => 'The error message of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => 'The status of the instance snapshot.'."\n", - 'type' => 'string', - 'example' => 'Pushing', - ], - ], - ], - 'example' => '[]', - ], - 'CloudDisks' => [ - 'title' => '实例的云盘列表', - 'description' => 'The cloud disks of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'title' => '云盘容量', - 'description' => 'The cloud disk capacity.'."\n", - 'type' => 'string', - 'example' => '30Gi', - ], - 'SubType' => [ - 'title' => '云盘使用方式, rootfs 挂载为rootfs', - 'description' => 'The cloud disk type. The value rootfs indicates that the cloud disk is used as the root file system (rootfs).'."\n", - 'type' => 'string', - 'example' => 'rootfs', - ], - 'MountPath' => [ - 'title' => '容器内挂载云盘路径', - 'description' => 'The mount path of the cloud disk in the container.'."\n", - 'type' => 'string', - 'example' => '/mmt/workspace', - ], - 'Path' => [ - 'title' => '云盘内被挂载目录路径', - 'description' => 'The directory on the cloud disk that is mounted to the container.'."\n", - 'type' => 'string', - 'example' => '/workspace', - ], - ], - 'description' => '', - ], - 'example' => '[]', - ], - 'WorkspaceSource' => [ - 'title' => '工作空间指向的存储,如果不指定,则依次使用NAS,CloudDisk或者本地磁盘', - 'description' => 'The storage for the workspace. If you leave this parameter empty, the workspace uses File Storage NAS (NAS) storage, cloud disks, or local disks in sequence.'."\n", - 'type' => 'string', - 'example' => 'd-123456789', - ], - 'Driver' => [ - 'title' => 'NVIDIA 驱动配置', - 'description' => 'The NVIDIA driver configuration.'."\n", - 'type' => 'string', - 'example' => '535.54.03', - ], - 'CredentialConfig' => [ - 'title' => 'Credential注入配置。', - 'description' => 'The credential configuration.'."\n", - '$ref' => '#/components/schemas/CredentialConfig', - ], - 'Affinity' => [ - 'description' => 'The affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The CPU affinity configuration. Only subscription instances that use general-purpose computing resources support CPU affinity configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Indicates whether the CPU affinity feature was enabled.'."\n" - ."\n" - .'true false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'ImageAuth' => [ - 'title' => '用户私有镜像的账号密码信息base64编码后的值,密码部分会被隐藏。', - 'description' => 'The Base64-encoded account and password for the user\'s private image. The password will be hidden.'."\n", - 'type' => 'string', - 'example' => 'aGFyYm9yYWlAeGltYWxheWE6KioqKioq', - ], - 'Tags' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'tag1', - ], - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'value1', - ], - ], - ], - ], - 'DynamicMount' => [ - 'description' => 'The dynamic mount configurations.'."\n", - '$ref' => '#/components/schemas/DynamicMount', - ], - 'OversoldType' => [ - 'type' => 'string', - ], - 'OversoldInfo' => [ - 'type' => 'string', - ], - 'ServiceConfig' => [ - '$ref' => '#/components/schemas/ServiceConfig', - ], - ], - ], - ], - 'MigrationOptions' => [ - 'title' => '实例迁移选项', - 'type' => 'object', + 'items' => ['description' => 'The ID of an instance that was successfully deleted.', 'type' => 'string', 'example' => '[\'dsw-6lo809wgmnfcl9sn34\']', 'title' => ''], + 'description' => 'A list of IDs of the instances that were successfully deleted.', + 'title' => '', + 'example' => '', ], + 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'object', 'example' => '{}', 'title' => ''], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"Instances\\": [\\n {\\n \\"WorkspaceId\\": \\"40823\\",\\n \\"WorkspaceName\\": \\"training_data\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"InstanceName\\": \\"training_data\\",\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceUrl\\": \\"https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=39772#/\\",\\n \\"JupyterlabUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/lab/\\",\\n \\"WebIDEUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/ide/\\",\\n \\"TerminalUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/tty/\\",\\n \\"AccumulatedRunningTimeInMs\\": 3600000,\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"UserId\\": \\"1612285282502324\\",\\n \\"UserName\\": \\"测试用户\\",\\n \\"Datasets\\": [\\n {\\n \\"DatasetId\\": \\"d-vsqjvsjp4orp5l206u\\",\\n \\"DatasetVersion\\": \\"v1\\",\\n \\"Uri\\": \\"oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/\\",\\n \\"MountPath\\": \\"/mnt/data\\",\\n \\"MountAccess\\": \\"RW\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"fs.oss.download.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.oss.upload.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.jindo.args\\\\\\": \\\\\\"-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink\\\\\\"\\\\n}\\",\\n \\"OptionType\\": \\"FastReadWrite\\",\\n \\"Dynamic\\": false\\n }\\n ],\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"vpc-xxxxx\\",\\n \\"VSwitchId\\": \\"vsw-xxxxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxxx\\",\\n \\"ExtendedCIDRs\\": [\\n \\"192.168.0.1/24\\"\\n ],\\n \\"DefaultRoute\\": \\"eth0 | eth1\\",\\n \\"ForwardInfos\\": [\\n {\\n \\"Enable\\": true,\\n \\"ContainerName\\": \\"dsw-notebook\\",\\n \\"ForwardPort\\": \\"22\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"EipAllocationId\\": \\"eip-25877c70gddh****\\",\\n \\"SSHPublicKey\\": \\"\\",\\n \\"ConnectInfo\\": {\\n \\"Phase\\": \\"Ready\\",\\n \\"Message\\": \\"DNAT and privateZone are both ready.\\",\\n \\"Intranet\\": {\\n \\"Endpoint\\": \\"dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com\\",\\n \\"Port\\": \\"22\\"\\n },\\n \\"Internet\\": {\\n \\"Endpoint\\": \\"47.111.119.114\\",\\n \\"Port\\": \\"22\\"\\n }\\n },\\n \\"Name\\": \\"ssh\\",\\n \\"ExternalPort\\": \\"1024\\",\\n \\"AccessType\\": [\\n \\"intranet\\"\\n ]\\n }\\n ],\\n \\"BandwidthLimit\\": {\\n \\"EgressWhitelists\\": [\\n \\"\\"\\n ],\\n \\"IngressRate\\": \\"\\",\\n \\"EgressRate\\": \\"\\",\\n \\"IngressWhitelists\\": [\\n \\"\\"\\n ]\\n },\\n \\"Ip\\": \\"\\"\\n },\\n \\"InstanceShutdownTimer\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n },\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"PaymentType\\": \\"PayAsYouGo\\",\\n \\"LatestSnapshot\\": {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n },\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"MAAS\\"\\n },\\n \\"ResourceId\\": \\"dsw-123456789\\",\\n \\"ResourceName\\": \\"resource_group\\",\\n \\"Priority\\": 1,\\n \\"RequestedResource\\": {\\n \\"CPU\\": \\"32\\",\\n \\"Memory\\": \\"32\\",\\n \\"SharedMemory\\": \\"32\\",\\n \\"GPU\\": \\"4\\",\\n \\"GPUType\\": \\"NVIDIA A10\\"\\n },\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"IdleInstanceCuller\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n },\\n \\"InstanceSnapshotList\\": [\\n {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n }\\n ],\\n \\"CloudDisks\\": [\\n {\\n \\"Capacity\\": \\"30Gi\\",\\n \\"SubType\\": \\"rootfs\\",\\n \\"MountPath\\": \\"/mmt/workspace\\",\\n \\"Path\\": \\"/workspace\\"\\n }\\n ],\\n \\"WorkspaceSource\\": \\"d-123456789\\",\\n \\"Driver\\": \\"535.54.03\\",\\n \\"CredentialConfig\\": {\\n \\"Enable\\": true,\\n \\"AliyunEnvRoleKey\\": \\"0\\",\\n \\"Configs\\": [\\n {\\n \\"Key\\": \\"0\\",\\n \\"Type\\": \\"Role\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"acs:ram::123******:role/****\\",\\n \\"RoleType\\": \\"service\\",\\n \\"AssumeRoleFor\\": \\"123******\\",\\n \\"Policy\\": \\"{}\\",\\n \\"UserInfo\\": {\\n \\"Id\\": \\"456******\\",\\n \\"Type\\": \\"sub\\",\\n \\"AccessKeyId\\": \\"LT********\\",\\n \\"SecurityToken\\": \\"********\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"Affinity\\": {\\n \\"CPU\\": {\\n \\"Enable\\": true\\n }\\n },\\n \\"ImageAuth\\": \\"aGFyYm9yYWlAeGltYWxheWE6KioqKioq\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"tag1\\",\\n \\"TagValue\\": \\"value1\\"\\n }\\n ],\\n \\"DynamicMount\\": {\\n \\"Enable\\": true,\\n \\"MountPoints\\": [\\n {\\n \\"RootPath\\": \\"\\",\\n \\"Options\\": \\"\\"\\n }\\n ]\\n },\\n \\"OversoldType\\": \\"\\",\\n \\"OversoldInfo\\": \\"\\",\\n \\"ServiceConfig\\": {\\n \\"JupyterServerPassword\\": \\"\\",\\n \\"JupyterServerAuth\\": \\"\\",\\n \\"CodeServerPassword\\": \\"\\",\\n \\"CodeServerAuth\\": \\"\\"\\n }\\n }\\n ],\\n \\"MigrationOptions\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', - 'title' => 'ListInstances', - ], - 'GetInstanceEvents' => [ - 'summary' => 'Queries a list of system events for a Data Science Workshop (DSW) instance.', - 'path' => '/api/v2/instances/{InstanceId}/events', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteInstances', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeletePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AA527C1A-F259-5E53-A4DD-D0941193F02D\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"The instance can not be deleted.\\",\\n \\"Code\\": \\"PermissionError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceIds\\": [\\n \\"[\'dsw-6lo809wgmnfcl9sn34\']\\"\\n ],\\n \\"AccessDeniedDetail\\": {}\\n}","type":"json"}]', + ], + 'DeleteTempFile' => [ + 'summary' => 'Deletes a temporary file.', + 'path' => '/api/v2/tempfiles/{TempFileId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '191013', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '207257', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'TempFileId', 'in' => 'path', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], - [ - 'name' => 'MaxEventsNum', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of events. Default value: 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2000', - ], + 'schema' => ['description' => 'The ID of the temporary file.', 'type' => 'string', 'required' => true, 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], ], - [ - 'name' => 'StartTime', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The unique identifier for the request.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'A message that provides additional information about the request.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code returned by the service.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileId' => ['description' => 'The ID of the deleted temporary file.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'description' => 'The result of the operation.', + 'example' => '', ], ], + ], + 'title' => 'DeleteTempFile', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteTempFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileId\\": \\"tempfile-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteTempFileTask' => [ + 'summary' => 'Deletes a temporary file task.', + 'path' => '/api/v2/tempfiletasks/{TempFileTaskId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Token', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token used to share the URL.'."\n", - 'type' => 'string', - 'required' => false, - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '214814', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], + ], + 'parameters' => [ [ - 'name' => 'EventLevel', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'name' => 'TempFileTaskId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the temporary file task.', 'type' => 'string', 'required' => true, 'example' => 'task-05cexxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'InstanceEventListResult', - 'description' => 'The events of the DSW instance.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => 'XXX'."\n", - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400: One or more parameters are invalid.'."\n" - .'* 404: The instance does not exist.'."\n" - .'* 200: The request is normal.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'Events' => [ - 'title' => '实例事件列表', - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The event.'."\n", - 'type' => 'string', - 'example' => 'You are using pip version 9.0.1, however version 20.2.4 is available. ', - ], - ], + 'RequestId' => ['description' => 'The unique identifier for the request.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'A message that describes the result of the operation.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code returned for the request.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileTaskId' => ['description' => 'The ID of the temporary file task.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => ''], ], + 'title' => '', + 'description' => 'The response data.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"XXX\\\\n\\",\\n \\"Code\\": \\"None\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"Events\\": [\\n \\"You are using pip version 9.0.1, however version 20.2.4 is available. \\"\\n ]\\n}","type":"json"}]', - 'title' => 'GetInstanceEvents', - ], - 'UpdateInstanceLabels' => [ - 'summary' => 'Updates the tags of a Data Science Workshop (DSW) instance. If the tags do not exist, the system adds tags.', - 'path' => '/api/v2/instances/{InstanceId}/labels', - 'methods' => [ - 'put', + 'title' => 'DeleteTempFileTask', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteTempFileTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileTaskId\\": \\"task-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'DeleteTempFileTasks' => [ + 'summary' => 'Deletes one or more temporary file tasks.', + 'path' => '/api/v2/batch/tempfiletasks/delete', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228178', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '214814', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ @@ -4502,370 +2035,590 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => 'The request body.'."\n", 'type' => 'object', 'properties' => [ - 'Labels' => [ - 'title' => '需要更新的标签', - 'description' => 'The tags that you want to update.'."\n", + 'TempFileTaskIds' => [ 'type' => 'array', - 'items' => [ - 'description' => 'The custom tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the custom tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'customLabelKey', - ], - 'Value' => [ - 'description' => 'The value of the custom tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'labelValue', - ], - ], - 'required' => false, - ], - 'required' => true, + 'items' => ['description' => 'The ID of the temporary file task.', 'type' => 'string', 'required' => false, 'example' => 'task-05cexxxxxxxxx', 'title' => ''], + 'description' => 'The IDs of the temporary file tasks.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'description' => 'The request body.', 'required' => false, - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'path', - 'schema' => [ - 'title' => 'DSW实例Id', - 'description' => 'The ID of the DSW instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response to the request.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], ], + 'title' => '', + 'description' => 'The response.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\"\\n}","type":"json"}]', - 'title' => 'UpdateInstanceLabels', - ], - 'DeleteInstanceLabels' => [ - 'summary' => 'Delete tags from a Data Science Workshop (DSW) instance.', - 'path' => '/api/v2/instances/{InstanceId}/labels', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteTempFileTasks', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', + ], + 'GetIdleInstanceCuller' => [ + 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228180', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '154059', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'title' => 'DSW实例Id', - 'description' => 'The ID of the DSW instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], - [ - 'name' => 'LabelKeys', - 'in' => 'query', - 'schema' => [ - 'title' => '需要删除的标签的Key,多个标签以半角逗号隔开', - 'description' => 'The keys of the tags that you want to delete. Separate multiple tags with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'labelKey1,labelKey2,labelKey3', - ], + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'title' => 'IdleInstanceCullerResult', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => [ + 'description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], + 'type' => 'boolean', + 'title' => '', + 'example' => 'true', ], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'ValidationError'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'CpuPercentThreshold' => ['description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'GpuPercentThreshold' => ['description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxIdleTimeInMinutes' => ['description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeInMinutes' => ['description' => 'The time duration for which the instance is idle. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteInstanceLabels', - ], - 'DeleteInstances' => [ - 'summary' => '批量删除实例', - 'path' => '/api/v2/batch/instances/delete', - 'methods' => [ - 'put', + 'title' => 'GetIdleInstanceCuller', + 'summary' => 'Queries the information about an auto stop policy for a specific idle instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetIdleInstanceCuller'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n}","type":"json"}]', + ], + 'GetInstance' => [ + 'summary' => 'Retrieve the details of a DSW instance.', + 'path' => '/api/v2/instances/{InstanceId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '247984', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118634', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '[\'dsw-13cb3d2e173cb74e\']', - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. For information about how to obtain an instance ID, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => ['description' => 'The sharing token.', 'type' => 'string', 'required' => false, 'example' => 'WUzWCMr325LV0bH2JH4C4HoDaKIU6C4S', 'title' => ''], + ], + [ + 'name' => 'Fields', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'The instance details.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', + 'WorkspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => '40823', 'title' => ''], + 'WorkspaceName' => ['description' => 'The workspace name.', 'type' => 'string', 'example' => 'training_data', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'training_data', 'title' => ''], + 'EcsSpec' => ['description' => 'The ECS instance type associated with the DSW instance.', 'type' => 'string', 'example' => 'ecs.c6.large', 'title' => ''], + 'Status' => [ + 'description' => 'The instance status.', + 'enumValueTitles' => [ + 'Creating' => 'Creating', 'SaveFailed' => 'Image save failed', 'Stopped' => 'Stopped', 'Failed' => 'Failed', 'ResourceAllocating' => 'Allocating resources', 'Stopping' => 'Stopping', 'Updating' => 'Updating', 'Saving' => 'Saving image', 'Queuing' => 'Queuing', 'Recovering' => 'Recovering instance', + 'Starting' => 'Creating', 'Running' => 'Running', 'Saved' => 'Image saved successfully', 'Deleting' => 'Deleting', 'EnvPreparing' => 'Preparing environment', + ], 'type' => 'string', - 'example' => 'AA527C1A-F259-5E53-A4DD-D0941193F02D', + 'example' => 'Running', + 'title' => '', ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', + 'InstanceUrl' => ['description' => 'The instance URL.', 'type' => 'string', 'example' => 'https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=3****#/', 'title' => ''], + 'JupyterlabUrl' => ['title' => 'Jupyterlab Url', 'description' => 'The JupyterLab URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/lab/'], + 'WebIDEUrl' => ['title' => 'Web IDE url', 'description' => 'The Web IDE URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/ide/'], + 'TerminalUrl' => ['description' => 'The terminal URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/tty/', 'title' => ''], + 'AccumulatedRunningTimeInMs' => ['description' => 'The accumulated running time in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600000', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageUrl' => ['description' => 'The registry address.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The instance creation time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The instance modification time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '161228528250****', 'title' => ''], + 'UserName' => ['description' => 'The username.', 'type' => 'string', 'example' => 'Test user', 'title' => ''], + 'Datasets' => [ + 'title' => '', + 'description' => 'The dataset collection.', + 'type' => 'array', + 'items' => [ + 'description' => 'A dataset object. The dataset can be of NAS or OSS type.'."\n" + .'The dataset object attributes include the dataset ID and the mount path inside the container.', + 'type' => 'object', + 'properties' => [ + 'DatasetId' => ['description' => 'The dataset ID.', 'type' => 'string', 'example' => 'd-vsqjvsjp4orp5l****', 'title' => ''], + 'DatasetVersion' => ['description' => 'The dataset version.', 'type' => 'string', 'title' => '', 'example' => 'v1'], + 'Uri' => ['description' => 'The dataset URI.', 'type' => 'string', 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', 'title' => ''], + 'MountPath' => ['description' => 'The mount path inside the container.', 'type' => 'string', 'example' => '/mnt/data', 'title' => ''], + 'MountAccess' => [ + 'description' => 'The read and write permission. RW: read and write. RO: read-only.', + 'enumValueTitles' => ['RW' => 'RW', 'RO' => 'RO'], + 'type' => 'string', + 'title' => '', + 'example' => 'RW', + ], + 'Options' => ['description' => 'The mount options for the specified dataset.', 'type' => 'string', 'title' => '', 'example' => '{'."\n" + .' "fs.oss.download.thread.concurrency": "10",'."\n" + .' "fs.oss.upload.thread.concurrency": "10",'."\n" + .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" + .'}'], + 'OptionType' => ['description' => 'The mount type for the specified dataset (deprecated).', 'type' => 'string', 'example' => 'FastReadWrite', 'title' => ''], + 'Dynamic' => ['description' => 'Indicates whether dynamic mounting is enabled. Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ActualMountAccess' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', ], - 'Message' => [ - 'description' => '', + 'UserVpc' => [ + 'title' => '', + 'description' => 'The user VPC configuration.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['title' => 'Vpc Id', 'description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxxxx'], + 'VSwitchId' => ['title' => 'VSwitch Id', 'description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxxxx'], + 'SecurityGroupId' => ['title' => 'Security Group Id', 'description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-xxxxxx'], + 'ExtendedCIDRs' => [ + 'description' => 'The extended CIDR blocks.'."\n" + ."\n" + .'- If the vSwitch ID is empty, you can omit this parameter. The system automatically obtains all CIDR blocks in the VPC.'."\n" + ."\n" + .'- If the vSwitch ID is not empty, you must specify this parameter. We recommend that you specify all CIDR blocks in the VPC.', + 'type' => 'array', + 'items' => ['description' => 'The extended CIDR block.', 'type' => 'string', 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', 'title' => ''], + 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', + 'title' => '', + ], + 'DefaultRoute' => ['title' => 'Default Route', 'description' => 'Default Route', 'type' => 'string', 'example' => 'eth0 | eth1'], + 'ForwardInfos' => [ + 'description' => 'The port forwarding information.', + 'type' => 'array', + 'items' => ['description' => 'The list of port forwarding information.', '$ref' => '#/components/schemas/ForwardInfoResponse', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + 'BandwidthLimit' => ['description' => 'The Internet bandwidth throttling configuration.', '$ref' => '#/components/schemas/BandwidthLimit', 'title' => '', 'example' => ''], + 'Ip' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', + ], + 'InstanceShutdownTimer' => [ + 'title' => '', + 'description' => 'The scheduled shutdown task.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The modification time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'DueTime' => ['description' => 'The scheduled shutdown time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'RemainingTimeInMs' => ['description' => 'The remaining shutdown time in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600000', 'title' => ''], + ], + 'example' => '', + ], + 'ReasonCode' => ['description' => 'The error code of the instance.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The reason for the instance error.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'PaymentType' => ['description' => 'The payment type. Valid values:'."\n" + ."\n" + .'- PayAsYouGo: pay-as-you-go.'."\n" + ."\n" + .'- Subscription: subscription.', 'type' => 'string', 'example' => 'PayAsYouGo', 'title' => ''], + 'LatestSnapshot' => [ + 'title' => '', + 'description' => 'The latest saved user image.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'RepositoryUrl' => ['description' => 'The image repository URL.', 'type' => 'string', 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The snapshot creation time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The snapshot modification time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code of the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message of the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'Status' => [ + 'description' => 'The instance snapshot status.', + 'enumValueTitles' => ['Committing' => 'Committing', 'Pushing' => 'Pushing', 'Failed' => 'Save failed', 'Saved' => 'Save succeeded'], + 'type' => 'string', + 'example' => 'Pushing', + 'title' => '', + ], + ], + 'example' => '', + ], + 'AcceleratorType' => [ + 'description' => 'The instance compute type.', + 'enumValueTitles' => ['CPU' => 'CPU', 'GPU' => 'GPU'], 'type' => 'string', - 'example' => 'The instance can not be deleted.', + 'example' => 'CPU', + 'title' => '', ], - 'Code' => [ - 'description' => '', + 'Accessibility' => [ + 'description' => 'Indicates whether the instance is visible to others in the workspace. Valid values:'."\n" + ."\n" + .'- PRIVATE: The instance is visible only to you and administrators in the workspace.'."\n" + ."\n" + .'- PUBLIC: The instance is visible to all users in the workspace.', + 'enumValueTitles' => ['PUBLIC' => 'Visible to all users in the workspace', 'PRIVATE' => 'Visible only to you and administrators in the workspace'], 'type' => 'string', - 'example' => 'PermissionError', + 'example' => 'PRIVATE', + 'title' => '', ], - 'HttpStatusCode' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', + 'EnvironmentVariables' => [ + 'title' => '', + 'description' => 'The environment variables.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The custom environment variables defined by the user. These variables are injected into the container after the instance starts.', 'type' => 'string', 'example' => 'app: MAAS', 'title' => ''], + 'example' => '{userName: "Chris"}', ], - 'InstanceIds' => [ - 'description' => '', + 'ResourceId' => ['description' => 'The resource ID. Specify this parameter for subscription instances.', 'type' => 'string', 'example' => 'dsw-12345****', 'title' => ''], + 'ResourceName' => ['description' => 'The instance type.'."\n" + ."\n" + .'- For subscription instances, this parameter specifies the requested CPU and memory size.'."\n" + ."\n" + .'- For pay-as-you-go instances, this parameter specifies the selected ECS instance type.', 'type' => 'string', 'example' => 'ecs.g7.xlarge', 'title' => ''], + 'Priority' => ['description' => 'The priority. When allocating resources to instances, instances with higher priorities are allocated resources first.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestedResource' => [ + 'title' => '', + 'description' => 'The resource configuration. This parameter is used for subscription instances.', + 'type' => 'object', + 'properties' => [ + 'CPU' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'Memory' => ['description' => 'The memory size in GB.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'SharedMemory' => ['description' => 'The shared memory size in GB.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'GPU' => ['description' => 'The number of GPUs.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'GPUType' => ['description' => 'The GPU model. Valid values:'."\n" + ."\n" + .'- V100'."\n" + ."\n" + .'- A100'."\n" + ."\n" + .'- T4'."\n" + ."\n" + .'- A10'."\n" + ."\n" + .'- P100', 'type' => 'string', 'example' => 'v100', 'title' => ''], + ], + 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', + ], + 'Labels' => [ + 'title' => '', + 'description' => 'The custom tags.', 'type' => 'array', 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[\'dsw-6lo809wgmnfcl9sn34\']', + 'description' => 'You can add custom tags to an instance to mark its custom attributes.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The custom tag key.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => ''], + 'Value' => ['description' => 'The custom tag value.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'example' => '{\'foo\': \'bar\'}', ], - 'AccessDeniedDetail' => [ - 'description' => '', + 'IdleInstanceCuller' => [ + 'title' => '', + 'description' => 'The automatic shutdown settings for idle instances.', 'type' => 'object', - 'example' => '{}', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'CpuPercentThreshold' => ['description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization is lower than this value, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'GpuPercentThreshold' => ['description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only for GPU instances. The instance is considered idle only when both CPU and GPU utilizations are below their respective thresholds.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxIdleTimeInMinutes' => ['description' => 'The maximum idle wait time in minutes. If the idle duration exceeds this value, the DSW instance is automatically stopped.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeInMinutes' => ['description' => 'The current idle duration of the instance in minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + ], + 'example' => '{"InstanceId":"dsw-05cefd0be2e5a278","CpuPercentThreshold":20,"GpuPercentThreshold":10,"MaxIdleTimeInMinutes":120,"IdleTimeInMinutes":30}', ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AA527C1A-F259-5E53-A4DD-D0941193F02D\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"The instance can not be deleted.\\",\\n \\"Code\\": \\"PermissionError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceIds\\": [\\n \\"[\'dsw-6lo809wgmnfcl9sn34\']\\"\\n ],\\n \\"AccessDeniedDetail\\": {}\\n}","type":"json"}]', - ], - 'StopInstances' => [ - 'summary' => '批量停止实例', - 'path' => '/api/v2/batch/instances/stop', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '247825', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], - ], - 'parameters' => [ - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceIds' => [ - 'description' => '', + 'InstanceSnapshotList' => [ + 'title' => '', + 'description' => 'The instance snapshot list.', 'type' => 'array', 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '[\'dsw-msq7tjk9kox7v26il3\']', + 'description' => 'An instance snapshot.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'RepositoryUrl' => ['description' => 'The image repository URL.', 'type' => 'string', 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The snapshot creation time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The snapshot modification time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code of the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message of the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'Status' => ['description' => 'The instance snapshot status.', 'type' => 'string', 'example' => 'Pushing', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'required' => true, + 'example' => '[]', ], - ], - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', + 'CloudDisks' => [ + 'title' => '', + 'description' => 'The cloud disk list of the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'The cloud disk capacity.', 'type' => 'string', 'example' => '30Gi', 'title' => ''], + 'SubType' => ['description' => 'The cloud disk usage mode. rootfs is mounted as rootfs.', 'type' => 'string', 'example' => 'rootfs', 'title' => ''], + 'MountPath' => ['description' => 'The mount path of the cloud disk inside the container.', 'type' => 'string', 'example' => '/mmt/workspace', 'title' => ''], + 'Path' => ['description' => 'The directory path on the cloud disk that is mounted.', 'type' => 'string', 'example' => '/workspace', 'title' => ''], + 'Status' => [ + 'type' => 'object', + 'properties' => [ + 'Available' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'Usage' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'Capacity' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '[]', ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', + 'WorkspaceSource' => ['description' => 'The storage referenced by the workspace. If this parameter is not specified, NAS, cloud disk, or local disk is used in sequence.', 'type' => 'string', 'example' => 'd-123456789', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FC****', 'title' => ''], + 'Success' => ['description' => 'The success indicator. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The operation result description.'."\n" + ."\n" + .'- If the operation succeeds, null is returned.'."\n" + ."\n" + .'- If the operation fails, the failure reason is returned.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. All errors except parameter validation errors are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'Driver' => ['description' => 'The NVIDIA driver configuration.', 'type' => 'string', 'example' => '535.54.03', 'title' => ''], + 'NodeErrorRecovery' => [ + 'description' => 'The node error recovery configuration.', + 'type' => 'object', + 'properties' => [ + 'hasNodeError' => ['description' => 'Indicates whether a node error has occurred.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'enableAutoSwitchOnNodeError' => ['description' => 'Indicates whether automatic switchover is enabled when a node error occurs.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'autoSwitchCountdownSeconds' => ['description' => 'The countdown time in seconds before automatic switchover.', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', + 'CredentialConfig' => ['description' => 'The credential injection configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'title' => '', 'example' => ''], + 'Affinity' => [ + 'description' => 'The affinity configuration.', + 'type' => 'object', + 'properties' => [ + 'CPU' => [ + 'description' => 'The CPU affinity configuration. This parameter is supported only for general computing subscription instances.', + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Indicates whether CPU affinity is enabled.'."\n" + ."\n" + .'true: enabled. false: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PermissionError', + 'ImageAuth' => ['description' => 'The Base64-encoded username and password for a private image. The password part is masked.', 'type' => 'string', 'title' => '', 'example' => 'YWxpeXVuNjUzMzM5MjIwMzoqKioqKio='], + 'Tags' => [ + 'description' => 'The tag list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource tags.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag1', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'HttpStatusCode' => [ + 'DynamicMount' => ['description' => 'The dynamic mounting configuration.', '$ref' => '#/components/schemas/DynamicMount', 'title' => '', 'example' => ''], + 'ProxyPath' => ['description' => 'The proxy path.', 'type' => 'string', 'example' => 'dsw-170197/proxy/', 'title' => ''], + 'UserCommandId' => ['description' => 'The custom command ID. You can call the GetUserCommand operation with this ID to obtain the specific content of the custom command.', 'type' => 'string', 'example' => '1900', 'title' => ''], + 'ServiceConfig' => ['$ref' => '#/components/schemas/ServiceConfig', 'description' => '', 'title' => '', 'example' => ''], + 'PodIps' => [ + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/PodIp', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', + 'title' => '', + 'example' => '', ], - 'AccessDeniedDetail' => [ + 'MigrationOptions' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''], + 'AccessRestrictionRules' => [ + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DockerConfig' => [ 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{}', - 'description' => '', + 'properties' => [ + 'Enable' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'ContainersLimit' => ['type' => 'integer', 'format' => 'int64', 'example' => '10', 'description' => '', 'title' => ''], + 'MountAccessConfigPath' => ['type' => 'string', 'example' => '/etc/docker/dockerboard/mount_access.json', 'description' => '', 'title' => ''], ], - ], - 'InstanceIds' => [ 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[\'dsw-fcbhy7b9nseilom7fw\']', - ], + 'title' => '', + 'example' => '', ], + 'TenantId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"PermissionError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"InstanceIds\\": [\\n \\"[\'dsw-fcbhy7b9nseilom7fw\']\\"\\n ]\\n}","type":"json"}]', - ], - 'GetLifecycle' => [ - 'summary' => 'Obtains the lifecycle of an instance', - 'path' => '/api/v2/instances/{InstanceId}/lifecycle', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"WorkspaceId\\": \\"40823\\",\\n \\"WorkspaceName\\": \\"training_data\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"InstanceName\\": \\"training_data\\",\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceUrl\\": \\"https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=3****#/\\",\\n \\"JupyterlabUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/lab/\\",\\n \\"WebIDEUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/ide/\\",\\n \\"TerminalUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-3****/tty/\\",\\n \\"AccumulatedRunningTimeInMs\\": 3600000,\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"UserId\\": \\"161228528250****\\",\\n \\"UserName\\": \\"Test user\\",\\n \\"Datasets\\": [\\n {\\n \\"DatasetId\\": \\"d-vsqjvsjp4orp5l****\\",\\n \\"DatasetVersion\\": \\"v1\\",\\n \\"Uri\\": \\"oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/\\",\\n \\"MountPath\\": \\"/mnt/data\\",\\n \\"MountAccess\\": \\"RW\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"fs.oss.download.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.oss.upload.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.jindo.args\\\\\\": \\\\\\"-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink\\\\\\"\\\\n}\\",\\n \\"OptionType\\": \\"FastReadWrite\\",\\n \\"Dynamic\\": false,\\n \\"ActualMountAccess\\": \\"\\"\\n }\\n ],\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"vpc-xxxxx\\",\\n \\"VSwitchId\\": \\"vsw-xxxxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxxx\\",\\n \\"ExtendedCIDRs\\": [\\n \\"\\\\\\"172.16.19.0/24\\\\\\",\\\\\\"172.16.2.0/24\\\\\\",\\\\\\"172.16.12.0/24\\\\\\"\\"\\n ],\\n \\"DefaultRoute\\": \\"eth0 | eth1\\",\\n \\"ForwardInfos\\": [\\n {\\n \\"Enable\\": true,\\n \\"ContainerName\\": \\"dsw-notebook\\",\\n \\"ForwardPort\\": \\"22\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"EipAllocationId\\": \\"eip-25877c70gddh****\\",\\n \\"SSHPublicKey\\": \\"ssh-rsa AAAAB3****************************\\\\n\\",\\n \\"ConnectInfo\\": {\\n \\"Phase\\": \\"Ready\\",\\n \\"Message\\": \\"DNAT and privateZone are both ready.\\",\\n \\"Intranet\\": {\\n \\"Endpoint\\": \\"dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com\\",\\n \\"Port\\": \\"22\\"\\n },\\n \\"Internet\\": {\\n \\"Endpoint\\": \\"47.111.119.114\\",\\n \\"Port\\": \\"22\\"\\n }\\n },\\n \\"Name\\": \\"ssh\\",\\n \\"ExternalPort\\": \\"1024\\",\\n \\"AccessType\\": [\\n \\"intranet\\"\\n ],\\n \\"NlbGatewayId\\": \\"\\"\\n }\\n ],\\n \\"BandwidthLimit\\": {\\n \\"EgressWhitelists\\": [\\n \\"\\"\\n ],\\n \\"IngressRate\\": \\"\\",\\n \\"EgressRate\\": \\"\\",\\n \\"IngressWhitelists\\": [\\n \\"\\"\\n ]\\n },\\n \\"Ip\\": \\"\\"\\n },\\n \\"InstanceShutdownTimer\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n },\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"PaymentType\\": \\"PayAsYouGo\\",\\n \\"LatestSnapshot\\": {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n },\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"app: MAAS\\"\\n },\\n \\"ResourceId\\": \\"dsw-12345****\\",\\n \\"ResourceName\\": \\"ecs.g7.xlarge\\",\\n \\"Priority\\": 1,\\n \\"RequestedResource\\": {\\n \\"CPU\\": \\"32\\",\\n \\"Memory\\": \\"32\\",\\n \\"SharedMemory\\": \\"32\\",\\n \\"GPU\\": \\"4\\",\\n \\"GPUType\\": \\"v100\\"\\n },\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"IdleInstanceCuller\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n },\\n \\"InstanceSnapshotList\\": [\\n {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n }\\n ],\\n \\"CloudDisks\\": [\\n {\\n \\"Capacity\\": \\"30Gi\\",\\n \\"SubType\\": \\"rootfs\\",\\n \\"MountPath\\": \\"/mmt/workspace\\",\\n \\"Path\\": \\"/workspace\\",\\n \\"Status\\": {\\n \\"Available\\": 0,\\n \\"Usage\\": 0,\\n \\"Capacity\\": 0\\n }\\n }\\n ],\\n \\"WorkspaceSource\\": \\"d-123456789\\",\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"Driver\\": \\"535.54.03\\",\\n \\"NodeErrorRecovery\\": {\\n \\"hasNodeError\\": false,\\n \\"enableAutoSwitchOnNodeError\\": true,\\n \\"autoSwitchCountdownSeconds\\": 30\\n },\\n \\"CredentialConfig\\": {\\n \\"Enable\\": true,\\n \\"AliyunEnvRoleKey\\": \\"0\\",\\n \\"Configs\\": [\\n {\\n \\"Key\\": \\"0\\",\\n \\"Type\\": \\"Role\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"acs:ram::123******:role/****\\",\\n \\"RoleType\\": \\"service\\",\\n \\"AssumeRoleFor\\": \\"123******\\",\\n \\"Policy\\": \\"{}\\",\\n \\"UserInfo\\": {\\n \\"Id\\": \\"456******\\",\\n \\"Type\\": \\"S\\",\\n \\"AccessKeyId\\": \\"LT********\\",\\n \\"SecurityToken\\": \\"********\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"Affinity\\": {\\n \\"CPU\\": {\\n \\"Enable\\": true\\n }\\n },\\n \\"ImageAuth\\": \\"YWxpeXVuNjUzMzM5MjIwMzoqKioqKio=\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"tag1\\",\\n \\"TagValue\\": \\"value1\\"\\n }\\n ],\\n \\"DynamicMount\\": {\\n \\"Enable\\": true,\\n \\"MountPoints\\": [\\n {\\n \\"RootPath\\": \\"/mnt/dynamic/\\",\\n \\"Options\\": \\"{}\\"\\n }\\n ]\\n },\\n \\"ProxyPath\\": \\"dsw-170197/proxy/\\",\\n \\"UserCommandId\\": \\"1900\\",\\n \\"ServiceConfig\\": {\\n \\"JupyterServerPassword\\": \\"\\",\\n \\"JupyterServerAuth\\": \\"\\",\\n \\"CodeServerPassword\\": \\"\\",\\n \\"CodeServerAuth\\": \\"\\"\\n },\\n \\"PodIps\\": [\\n {\\n \\"Type\\": \\"\\",\\n \\"Ip\\": \\"\\",\\n \\"InterfaceName\\": \\"\\"\\n }\\n ],\\n \\"MigrationOptions\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"AccessRestrictionRules\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"DockerConfig\\": {\\n \\"Enable\\": false,\\n \\"ContainersLimit\\": 10,\\n \\"MountAccessConfigPath\\": \\"/etc/docker/dockerboard/mount_access.json\\"\\n },\\n \\"TenantId\\": \\"\\"\\n}","type":"json"}]', + 'title' => 'GetInstance', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'GetInstanceEvents' => [ + 'path' => '/api/v2/instances/{InstanceId}/events', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4877,250 +2630,142 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '158370', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '191013', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-9698d842b6***', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'SessionNumber', + 'name' => 'MaxEventsNum', 'in' => 'query', - 'schema' => [ - 'description' => 'A session refers to the process of an instance from startup to failure or shutdown. The sessionNumber indicates the offset value for the instance\'s session sequence.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The maximum number of events to return. The default value is 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The start time of the query range.', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T15:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The end time of the query range.', 'type' => 'string', 'required' => false, 'example' => '2020-11-08T15:00:00Z', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'Token', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of sessions to query.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'A token for URL sharing.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'Order', + 'name' => 'EventLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting order of the results. Valid values:'."\n" - ."\n" - .'* ASC: sorted by time in ascending order.'."\n" - .'* DESC: sorted by time in descending order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DESC', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'Token', + 'name' => 'Offset', 'in' => 'query', - 'schema' => [ - 'description' => 'The token used to share the URL.'."\n", - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Reverse', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'LifecycleResult', - 'description' => 'The lifecycle query results.'."\n", + 'title' => 'InstanceEventListResult', + 'description' => 'The list of events for the DSW instance.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: All errors, except for parameter validation errors, are internal errors.'."\n" - .'* ValidationError: A parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'Lifecycle' => [ - 'description' => 'The lifecycle details.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'XXX'."\n"], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- `InternalError`: An internal error. This value is returned for any error that is not a parameter validation error.'."\n" + ."\n" + .'- `ValidationError`: A parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'None'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- `400`: The input parameters are invalid.'."\n" + ."\n" + .'- `404`: The instance does not exist.'."\n" + ."\n" + .'- `200`: The request succeeded.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'Events' => [ + 'title' => '', + 'description' => 'The list of instance events.', 'type' => 'array', - 'items' => [ - 'description' => 'The list of lifecycle results. Each child item is the lifecycle of a session.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lifecycle of a session.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Creating'."\n" - .'* SaveFailed: The instance image failed to be saved.'."\n" - .'* Stopped'."\n" - .'* Failed'."\n" - .'* ResourceAllocating'."\n" - .'* Stopping'."\n" - .'* Updating'."\n" - .'* Saving'."\n" - .'* Starting'."\n" - .'* Running'."\n" - .'* Saved'."\n" - .'* EnvPreparing: Preparing environment.'."\n" - .'* ArrearStopping: The service is being stopped due to overdue payments.'."\n" - .'* Arrearge: The service is stopped due to overdue payments.'."\n" - .'* Queuing'."\n" - .'* Recovering'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ArrearStopping' => 'ArrearStopping', - 'Creating' => 'Creating', - 'SaveFailed' => 'SaveFailed', - 'Stopped' => 'Stopped', - 'Failed' => 'Failed', - 'ResourceAllocating' => 'ResourceAllocating', - 'Stopping' => 'Stopping', - 'Updating' => 'Updating', - 'Saving' => 'Saving', - 'Arrearge' => 'Arrearge', - 'Queuing' => 'Queuing', - 'Recovering' => 'Recovering', - 'Starting' => 'Starting', - 'Running' => 'Running', - 'Saved' => 'Saved', - 'EnvPreparing' => 'EnvPreparing', - ], - 'example' => 'Starting', - ], - 'ReasonCode' => [ - 'description' => 'The reason code that corresponds to an event.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'ReasonMessage' => [ - 'description' => 'The reason message that corresponds to an event.'."\n", - 'type' => 'string', - 'example' => '“”', - ], - 'GmtCreateTime' => [ - 'description' => 'The time the status was created, specifically the time the instance transitioned to this status (in GMT).'."\n", - 'type' => 'string', - 'example' => '2022-10-21T07:27:44Z', - ], - 'GmtEndTime' => [ - 'type' => 'string', - ], - 'LifecycleId' => [ - 'type' => 'string', - ], - ], - ], - ], - 'example' => '[[{"Status":"Creating","GmtCreateTime":"2022-09-19T22:38:00Z","Reason":"","ReasonCode":""}]]', - ], - 'TotalCount' => [ - 'description' => 'The total number of queried sessions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '35', + 'items' => ['description' => 'The event message.', 'type' => 'string', 'example' => 'You are using pip version 9.0.1, however version 20.2.4 is available. ', 'title' => ''], + 'example' => '', ], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], ], + 'example' => '', ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"Lifecycle\\": [\\n [\\n {\\n \\"Status\\": \\"Starting\\",\\n \\"ReasonCode\\": \\"“”\\",\\n \\"ReasonMessage\\": \\"“”\\",\\n \\"GmtCreateTime\\": \\"2022-10-21T07:27:44Z\\",\\n \\"GmtEndTime\\": \\"\\",\\n \\"LifecycleId\\": \\"\\"\\n }\\n ]\\n ],\\n \\"TotalCount\\": 35\\n}","type":"json"}]', - 'title' => 'GetLifecycle', - 'description' => 'Obtains the lifecycle transition information for an instance, including details on the status an instance transitions to at a specific point in time.'."\n", + 'title' => 'GetInstanceEvents', + 'summary' => 'Retrieves system events for a DSW instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceEvents'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"XXX\\\\n\\",\\n \\"Code\\": \\"None\\",\\n \\"HttpStatusCode\\": 200,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"Events\\": [\\n \\"You are using pip version 9.0.1, however version 20.2.4 is available. \\"\\n ],\\n \\"TotalCount\\": 0\\n}","type":"json"}]', ], 'GetInstanceMetrics' => [ 'path' => '/api/v2/instance/{InstanceId}/metrics', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '152077', - 'abilityTreeNodes' => [ - 'FEATURElearnTBR2KU', - ], + 'abilityTreeNodes' => ['FEATURElearnTBR2KU'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ 'name' => 'MetricType', @@ -5128,607 +2773,300 @@ 'schema' => [ 'description' => 'The metric type. Valid values:'."\n" ."\n" - .'* GpuCoreUsage: the GPU utilization.'."\n" - .'* GpuMemoryUsage: the GPU memory utilization.'."\n" - .'* CpuCoreUsage: the CPU utilization.'."\n" - .'* MemoryUsage: the memory utilization.'."\n" - .'* NetworkInputRate: the network ingress rate.'."\n" - .'* NetworkOutputRate: the network egress rate.'."\n" - .'* DiskReadRate: the disk read rate.'."\n" - .'* DiskWriteRate: the disk write rate.'."\n", + .'- GpuCoreUsage: the GPU utilization.'."\n" + ."\n" + .'- GpuMemoryUsage: the GPU memory utilization.'."\n" + ."\n" + .'- CpuCoreUsage: the CPU utilization.'."\n" + ."\n" + .'- MemoryUsage: the memory utilization.'."\n" + ."\n" + .'- NetworkInputRate: the network ingress rate.'."\n" + ."\n" + .'- NetworkOutputRate: the network egress rate.'."\n" + ."\n" + .'- DiskReadRate: the disk read rate.'."\n" + ."\n" + .'- DiskWriteRate: the disk write rate.', + 'enumValueTitles' => ['GpuCoreUsage' => '', 'NetworkInputRate' => '', 'DiskWriteRate' => '', 'CpuCoreUsage' => '', 'GpuMemoryUsage' => '', 'NetworkOutputRate' => '', 'DiskReadRate' => '', 'MemoryUsage' => ''], 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'GpuCoreUsage' => '', - 'NetworkInputRate' => '', - 'DiskWriteRate' => '', - 'CpuCoreUsage' => '', - 'GpuMemoryUsage' => '', - 'NetworkOutputRate' => '', - 'DiskReadRate' => '', - 'MemoryUsage' => '', - ], 'example' => 'GpuCoreUsage', + 'title' => '', ], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'required' => false, 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'required' => false, 'title' => ''], ], [ 'name' => 'TimeStep', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which metrics are returned. Unit: minutes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '15m', - ], + 'schema' => ['description' => 'The interval at which metrics are returned. Unit: minutes.', 'type' => 'string', 'example' => '15m', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'MetricResult', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: a parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], 'PodMetrics' => [ - 'description' => 'The information about the metrics of the pod that corresponds to the instance.'."\n", + 'description' => 'The information about the metrics of the pod that corresponds to the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the metric of the pod that corresponds to the instance.'."\n", + 'description' => 'The information about the metric of the pod that corresponds to the instance.', 'type' => 'object', 'properties' => [ - 'PodId' => [ - 'description' => 'The ID of the pod that corresponds to the instance.'."\n", - 'type' => 'string', - 'example' => 'dsw-15870-695f44c5bc-hd6xm', - ], + 'PodId' => ['description' => 'The ID of the pod that corresponds to the instance.', 'type' => 'string', 'example' => 'dsw-15870-695f44c5bc-hd6xm', 'title' => ''], 'Metrics' => [ - 'description' => 'The metrics of the pod that corresponds to the instance.'."\n", + 'description' => 'The metrics of the pod that corresponds to the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The metric of the pod that corresponds to the instance.'."\n", + 'description' => 'The metric of the pod that corresponds to the instance.', 'type' => 'object', 'properties' => [ - 'Time' => [ - 'description' => 'The timestamp corresponding to the metric.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1670890560', - ], - 'Value' => [ - 'description' => 'The metric value.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '25.901031', - ], + 'Time' => ['description' => 'The timestamp corresponding to the metric.', 'type' => 'integer', 'format' => 'int64', 'example' => '1670890560', 'title' => ''], + 'Value' => ['description' => 'The metric value.', 'type' => 'number', 'format' => 'float', 'example' => '25.901031', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"PodMetrics\\": [\\n {\\n \\"PodId\\": \\"dsw-15870-695f44c5bc-hd6xm\\",\\n \\"Metrics\\": [\\n {\\n \\"Time\\": 1670890560,\\n \\"Value\\": 25.901031\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', 'title' => 'GetInstanceMetrics', 'summary' => 'Queries the resource metrics of an instance.', - ], - 'CreateInstanceSnapshot' => [ - 'summary' => '创建实例快照', - 'path' => '/api/v2/instances/{InstanceId}/snapshots', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceMetrics'], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '118641', - 'abilityTreeNodes' => [ - 'FEATURElearnE5ZUBR', - ], - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], + 'ramActions' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'title' => '实例快照属性', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SnapshotName' => [ - 'title' => '实例快照名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'training_data_env', - ], - 'SnapshotDescription' => [ - 'title' => '实例快照描述', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'training_data_env', - ], - 'ImageUrl' => [ - 'title' => '镜像地址', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '123xxxxxxxx', - ], - ], - 'required' => false, - ], - 'required' => false, - 'example' => '{\'foo\': \'bar\'}', - ], - 'ExcludePaths' => [ - 'title' => '排除文件路径列表,仅支持 ECI 实例设置, 用于制作镜像时忽略指定文件夹或文件。', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'required' => false, - ], - 'Overwrite' => [ - 'title' => '是否覆盖更新镜像仓库中已存在的镜像 tag。', - 'type' => 'boolean', - ], - ], - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => '执行结果', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'SnapshotId' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'example' => 'snp-05cexxxxxxxxx', - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"PodMetrics\\": [\\n {\\n \\"PodId\\": \\"dsw-15870-695f44c5bc-hd6xm\\",\\n \\"Metrics\\": [\\n {\\n \\"Time\\": 1670890560,\\n \\"Value\\": 25.901031\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'DeleteInstanceSnapshot' => [ - 'summary' => '获取实例快照详情', - 'path' => '/api/v2/instances/{InstanceId}/snapshots/{SnapshotId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetInstanceShutdownTimer' => [ + 'summary' => 'Retrieves the details of a scheduled shutdown task for an instance.', + 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '118643', - 'abilityTreeNodes' => [ - 'FEATURElearnE5ZUBR', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118639', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'snp-05cexxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the instance. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '实例快照详情', - 'description' => '', + 'title' => '', + 'description' => 'The scheduled shutdown task.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'SnapshotId' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'example' => 'snp-05cexxxxxxxxx', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the task was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'DueTime' => ['description' => 'The scheduled shutdown time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'RemainingTimeInMs' => ['description' => 'The remaining time before shutdown, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600000', 'title' => ''], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'GetInstanceShutdownTimer', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceShutdownTimer'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\"\\n}","type":"json"}]', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n}","type":"json"}]', ], 'GetInstanceSnapshot' => [ - 'summary' => '获取实例快照详情', + 'summary' => 'Call the GetInstanceSnapshot operation to retrieve an instance snapshot.', 'path' => '/api/v2/instances/{InstanceId}/snapshots/{SnapshotId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '118644', - 'abilityTreeNodes' => [ - 'FEATURElearnE5ZUBR', - ], + 'abilityTreeNodes' => ['FEATURElearnE5ZUBR'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The instance ID. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ 'name' => 'SnapshotId', 'in' => 'path', - 'schema' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'snp-05cexxxxxxxxx', - ], + 'schema' => ['description' => 'The instance snapshot ID. For more information, see [ListInstanceSnapshot](~~470434~~).', 'type' => 'string', 'required' => true, 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '实例快照详情', - 'description' => '', + 'title' => '', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'SnapshotId' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'example' => 'snp-05cexxxxxxxxx', - ], - 'SnapshotName' => [ - 'title' => '实例快照名称', - 'description' => '', - 'type' => 'string', - 'example' => 'training_data_env', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => '', - 'type' => 'string', - 'example' => 'Pushing', - ], - 'ImageId' => [ - 'title' => '实例快照的镜像Id', - 'description' => '', - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '实例快照的镜像地址', - 'description' => '', - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => '', - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => '', - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'GmtCreateTime' => [ - 'title' => '实例快照创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '实例快照修改时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'The success flag. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error. This includes all errors except parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'SnapshotId' => ['description' => 'The instance snapshot ID.', 'type' => 'string', 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], + 'SnapshotName' => ['description' => 'The name of the instance snapshot.', 'type' => 'string', 'example' => 'training_data_env', 'title' => ''], + 'Status' => ['description' => 'The status of the instance snapshot.', 'type' => 'string', 'example' => 'Pushing', 'title' => ''], + 'ImageId' => ['description' => 'The image ID of the instance snapshot.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL of the instance snapshot.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code of the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message of the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the instance snapshot was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the instance snapshot was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], 'Labels' => [ - 'title' => '用户自定义标签', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'type' => 'string', - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'type' => 'string', - 'example' => '123xxxxxxxx', - ], + 'Key' => ['description' => 'The key of the custom tag.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => ''], + 'Value' => ['description' => 'The value of the custom tag.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'example' => '{\'foo\': \'bar\'}', + 'title' => '', + 'description' => 'The custom tags.', ], 'ExcludePaths' => [ - 'title' => '排除文件路径列表,仅支持 ECI 实例设置, 用于制作镜像时忽略指定文件夹或文件', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'description' => 'A list of file paths to exclude. This parameter is supported only for ECI instances and is used to ignore specified folders or files when an image is created.', + 'example' => '', ], ], + 'example' => '', ], ], ], @@ -5736,234 +3074,177 @@ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\",\\n \\"SnapshotName\\": \\"training_data_env\\",\\n \\"Status\\": \\"Pushing\\",\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"ExcludePaths\\": [\\n \\"\\"\\n ]\\n}","type":"json"}]', - ], - 'ListInstanceSnapshot' => [ - 'summary' => '查询实例快照列表', - 'path' => '/api/v2/instances/{InstanceId}/snapshots', - 'methods' => [ - 'get', + 'title' => 'GetInstanceSnapshot', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceSnapshot'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\",\\n \\"SnapshotName\\": \\"training_data_env\\",\\n \\"Status\\": \\"Pushing\\",\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"ExcludePaths\\": [\\n \\"\\"\\n ]\\n}","type":"json"}]', + ], + 'GetLifecycle' => [ + 'summary' => 'Retrieves the lifecycle of an instance.', + 'path' => '/api/v2/instances/{InstanceId}/lifecycle', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '158370', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'path', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The instance ID. For more information about how to obtain an instance ID, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'dsw-9698d842b6***'], ], [ - 'name' => 'PageNumber', + 'name' => 'SessionNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'A session is the period from when an instance is started until it fails or is stopped. sessionNumber specifies the ordinal number offset of the session.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], ], [ - 'name' => 'PageSize', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The start time of the query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2020-11-08T15:00:00Z'], ], [ - 'name' => 'SortBy', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'gmtCreate', - 'default' => 'gmtCreate', - ], + 'schema' => ['description' => 'The end time of the query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2020-11-08T15:00:00Z'], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of sessions to return in the query.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], ], [ 'name' => 'Order', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'DESC', - 'default' => 'DESC', - ], + 'schema' => ['description' => 'The order in which to sort the results. Valid values:'."\n" + ."\n" + .'- ASC: ascending order by time.'."\n" + ."\n" + .'- DESC: descending order by time.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'DESC'], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => ['description' => 'A token used for sharing URLs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '实例快照列表', - 'description' => '', + 'title' => 'LifecycleResult', + 'description' => 'The result of the lifecycle query.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'TotalCount' => [ - 'title' => '实例总数', - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35', - ], - 'Snapshots' => [ - 'title' => '本分页中请求的实例镜像列表', - 'description' => '', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FC****'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['title' => '', 'description' => 'The message returned for the operation.', 'type' => 'string', 'example' => '"XXX"'], + 'Code' => ['title' => '', 'description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'example' => 'null'], + 'Lifecycle' => [ + 'description' => 'The details of the instance lifecycle, organized by session.', 'type' => 'array', 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'SnapshotId' => [ - 'title' => '实例快照Id', - 'description' => '', - 'type' => 'string', - 'example' => 'snp-05cexxxxxxxxx', - ], - 'SnapshotName' => [ - 'title' => '实例快照名称', - 'description' => '', - 'type' => 'string', - 'example' => 'training_data_env', - ], - 'Status' => [ - 'title' => '实例快照状态', - 'description' => '', - 'type' => 'string', - 'example' => 'Pushing', - ], - 'ImageId' => [ - 'title' => '实例快照的镜像Id', - 'description' => '', - 'type' => 'string', - 'example' => 'image-05cefd0be2exxxx', - ], - 'ImageUrl' => [ - 'title' => '实例快照的镜像地址', - 'description' => '', - 'type' => 'string', - 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', - ], - 'ReasonCode' => [ - 'title' => '实例快照错误代码', - 'description' => '', - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ReasonMessage' => [ - 'title' => '实例快照错误消息', - 'description' => '', - 'type' => 'string', - 'example' => 'ImagePullBackOff', - ], - 'GmtCreateTime' => [ - 'title' => '实例快照创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '实例快照修改时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '用户定义标签键', - 'description' => '', - 'type' => 'string', - 'example' => 'stsTokenOwner', - ], - 'Value' => [ - 'title' => '用户定义标签值', - 'description' => '', - 'type' => 'string', - 'example' => '123xxxxxxxx', - ], - ], - ], - 'example' => '{\'foo\': \'bar\'}', - ], - 'ExcludePaths' => [ - 'title' => '排除文件路径列表,仅支持 ECI 实例设置, 用于制作镜像时忽略指定文件夹或文件', - 'type' => 'array', - 'items' => [ + 'description' => 'A list of lifecycles where each subkey represents the lifecycle of a Session.', + 'type' => 'array', + 'items' => [ + 'description' => 'A single lifecycle event.', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the instance. Possible values:'."\n" + ."\n" + .'- Creating: The instance is being created.'."\n" + ."\n" + .'- SaveFailed: Failed to save the instance image.'."\n" + ."\n" + .'- Stopped: The instance is stopped.'."\n" + ."\n" + .'- Failed: Failed to create the instance.'."\n" + ."\n" + .'- ResourceAllocating: Allocating resources.'."\n" + ."\n" + .'- Stopping: The instance is stopping.'."\n" + ."\n" + .'- Updating: The instance is being updated.'."\n" + ."\n" + .'- Saving: The instance is being saved.'."\n" + ."\n" + .'- Starting: The instance is starting.'."\n" + ."\n" + .'- Running: The instance is running.'."\n" + ."\n" + .'- Saved: The instance is saved.'."\n" + ."\n" + .'- EnvPreparing: Preparing the environment.'."\n" + ."\n" + .'- ArrearStopping: Stopping due to an overdue payment.'."\n" + ."\n" + .'- Arrearge: Stopped due to an overdue payment.'."\n" + ."\n" + .'- Queuing: The instance is waiting in a queue.'."\n" + ."\n" + .'- Recovering: The instance is being recovered.', 'type' => 'string', + 'enumValueTitles' => [ + 'ArrearStopping' => 'ArrearStopping', 'Creating' => 'Creating', 'SaveFailed' => 'SaveFailed', 'Stopped' => 'Stopped', 'Failed' => 'Failed', 'ResourceAllocating' => 'ResourceAllocating', 'Stopping' => 'Stopping', 'Updating' => 'Updating', 'Saving' => 'Saving', 'Arrearge' => 'Arrearage', + 'Queuing' => 'Queuing', 'Recovering' => 'Recovering', 'Starting' => 'Starting', 'Running' => 'Running', 'Saved' => 'Saved', 'EnvPreparing' => 'EnvPreparing', + ], + 'title' => '', + 'example' => 'Starting', ], - 'example' => '["/path1","/path2"]', + 'ReasonCode' => ['description' => 'The code for the reason why an event occurred.', 'type' => 'string', 'title' => '', 'example' => '“”'], + 'ReasonMessage' => ['description' => 'The description of the reason why an event occurred.', 'type' => 'string', 'title' => '', 'example' => '“”'], + 'GmtCreateTime' => ['description' => 'The time when the instance transitioned to this state. The time is in GMT.', 'type' => 'string', 'title' => '', 'example' => '2022-10-21T07:27:44Z'], + 'GmtEndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'LifecycleId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'example' => '[[{"Status":"Creating","GmtCreateTime":"2022-09-19T22:38:00Z","Reason":"","ReasonCode":""}]]', + 'title' => '', ], + 'TotalCount' => ['description' => 'The total number of sessions returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '35'], ], + 'example' => '', ], ], ], @@ -5971,687 +3252,584 @@ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"Snapshots\\": [\\n {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\",\\n \\"SnapshotName\\": \\"training_data_env\\",\\n \\"Status\\": \\"Pushing\\",\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"ExcludePaths\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - ], - 'GetResourceGroupStatistics' => [ - 'path' => '/api/v2/resourcegroupstatistics', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'GetLifecycle', + 'description' => 'Retrieves the lifecycle transition information for an instance. You can retrieve details about the state of an instance at a specific time.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLifecycle'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"Lifecycle\\": [\\n [\\n {\\n \\"Status\\": \\"Starting\\",\\n \\"ReasonCode\\": \\"“”\\",\\n \\"ReasonMessage\\": \\"“”\\",\\n \\"GmtCreateTime\\": \\"2022-10-21T07:27:44Z\\",\\n \\"GmtEndTime\\": \\"\\",\\n \\"LifecycleId\\": \\"\\"\\n }\\n ]\\n ],\\n \\"TotalCount\\": 35\\n}","type":"json"}]', + ], + 'GetMetrics' => [ + 'summary' => 'Retrieves the metrics for an instance.', + 'path' => '/api/v2/instance/{InstanceId}/cms/metrics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '166697', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '223121', + 'abilityTreeNodes' => ['FEATURElearnTBR2KU'], ], 'parameters' => [ [ - 'name' => 'WorkspaceIds', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '27218,34956', - ], + 'schema' => ['description' => 'The Cloud Monitor namespace where the metrics are stored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs_pai_dsw'], ], [ - 'name' => 'ResourceId', + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the DSW instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'dsw-328d2bbf605*****'], + ], + [ + 'name' => 'Dimensions', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'rg-123456789', - ], + 'schema' => ['description' => 'The request parameters.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"userId":"16122852825*****","jobId":"dsw-328d2bbf605*****","regionId":"cn-wulanchabu","pod":"dsw-45680-76766f8778-95gxh"}'], ], [ - 'name' => 'StartTime', + 'name' => 'Length', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The maximum number of records to return on each page. The value cannot be greater than 1440.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. The default value is the current time.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2020-11-08T16:00:00Z'], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The time interval.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '60'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The pagination token.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****'], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the metric. For more information, see [Metric Names](https://cms.console.aliyun.com/metric-meta/acs_pai_dsw/dsw).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'INSTANCE_SPEC_MEMORY_SWAP'], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. The default value is one hour before the current time.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2020-11-08T15:00:00Z'], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ - 'title' => 'ResourceGroupStatisticsResult', - 'description' => '', + 'title' => '', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'Statistics' => [ - 'title' => '统计信息', - 'description' => '', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - 'description' => '', - ], - 'description' => '', - ], - ], + 'NextToken' => ['title' => '', 'description' => 'The pagination token.', 'type' => 'string', 'example' => '15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****'], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Datapoints' => ['type' => 'string', 'description' => 'The data points of the metric.', 'title' => '', 'example' => '[{\'timestamp\': 1740452220000, \'jobId\': \'dsw-94ed9f9********\', \'pod\': \'dsw-871***-764fdf******\', \'regionId\': \'cn-hangzhou\', \'userId\': \'1042612********\', \'workspaceId\': \'1445***\', \'Value\': 0.0}]'], + 'Code' => ['description' => 'The status code of the request.', 'type' => 'string', 'title' => '', 'example' => '200'], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'title' => '', 'example' => 'Succeed'], + 'Period' => ['description' => 'The time interval.', 'type' => 'string', 'title' => '', 'example' => '60'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetMetrics', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMetrics'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"InternalError\\",\\n \\"HttpStatusCode\\": 400,\\n \\"Statistics\\": {\\n \\"key\\": {\\n \\"key\\": 5\\n }\\n }\\n}","type":"json"}]', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****\\",\\n \\"Success\\": true,\\n \\"Datapoints\\": \\"[{\'timestamp\': 1740452220000, \'jobId\': \'dsw-94ed9f9********\', \'pod\': \'dsw-871***-764fdf******\', \'regionId\': \'cn-hangzhou\', \'userId\': \'1042612********\', \'workspaceId\': \'1445***\', \'Value\': 0.0}]\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Succeed\\",\\n \\"Period\\": \\"60\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'ListInstanceStatistics' => [ - 'summary' => '获取实例统计信息', - 'path' => '/api/v2/instancestatistics', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetResourceGroupStatistics' => [ + 'path' => '/api/v2/resourcegroupstatistics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '118645', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166697', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ 'name' => 'WorkspaceIds', 'in' => 'query', - 'schema' => [ - 'title' => '工作空间列表', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '27218,34956', - ], + 'schema' => ['description' => 'The IDs of workspaces. Separate multiple IDs with a comma (,). For more information about how to obtain a workspace ID, see [ListWorkspaces](~~449124~~).', 'type' => 'string', 'required' => true, 'example' => '27218,34956', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group (machine group).', 'type' => 'string', 'required' => true, 'example' => 'rg-123456789', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start of the time range for the statistics.', 'type' => 'string', 'required' => true, 'example' => '2020-11-08T15:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range for the statistics.', 'type' => 'string', 'required' => true, 'example' => '2020-11-08T15:00:00Z', 'title' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ - 'title' => '实例统计信息', - 'description' => '', + 'title' => 'ResourceGroupStatisticsResult', + 'description' => 'The statistics of the resource group.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'InternalError', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. All errors other than parameter validation errors are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'InternalError'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '400'], 'Statistics' => [ - 'title' => '统计信息', - 'description' => '', + 'title' => '', + 'description' => 'The statistics.', 'type' => 'object', 'additionalProperties' => [ 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - 'description' => '', - ], - 'description' => '', + 'additionalProperties' => ['description' => 'The value of the statistic.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'description' => '- Running: 3: Three DSW instances are running.'."\n" + ."\n" + .'- Stopped: 4: Four DSW instances are stopped.', + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'example' => '', ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"InternalError\\",\\n \\"HttpStatusCode\\": 400,\\n \\"Statistics\\": {\\n \\"key\\": {\\n \\"key\\": 5\\n }\\n }\\n}","type":"json"}]', - ], - 'CreateInstanceShutdownTimer' => [ - 'summary' => 'Creates a scheduled stop task for an instance.', - 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', - 'methods' => [ - 'post', + 'title' => 'GetResourceGroupStatistics', + 'summary' => 'A resource group provides a set of dedicated machine resources for Platform for AI (PAI). These resources run your PAI computing tasks and Data Science Workshop (DSW) instances. This operation retrieves statistics about the current and historical statuses of DSW instances in a specified resource group, such as the number of succeeded, failed, and stopped instances. These statistics help you understand your task history and optimize resource usage.', + 'description' => 'You can specify workspace IDs, a resource group ID, and a time range to retrieve statistics about the running status of DSW instances in the specified workspaces and resource group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceGroupStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetResourceGroupStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"InternalError\\",\\n \\"HttpStatusCode\\": 400,\\n \\"Statistics\\": {\\n \\"key\\": {\\n \\"key\\": 5\\n }\\n }\\n}","type":"json"}]', + ], + 'GetSanityCheckTask' => [ + 'path' => '/api/v2/sanitychecks/{CheckType}/{TaskId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '118640', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'CheckType', 'in' => 'path', 'schema' => [ - 'title' => '定时关机任务对应实例的Id', - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", + 'description' => 'The type of check item. Valid values:'."\n" + ."\n" + .'SSH: Triggers an SSH health check for the instance.', + 'enumValueTitles' => ['SSH' => 'SSH'], 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'required' => false, + 'example' => 'SSH', + 'title' => '', ], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'title' => '定时关机属性', - 'description' => 'The property of the scheduled stop task.'."\n", - 'type' => 'object', - 'properties' => [ - 'DueTime' => [ - 'title' => '定时关机设定时间', - 'description' => 'The scheduled stop time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2021-01-12T14:36:01Z', - ], - 'RemainingTimeInMs' => [ - 'title' => '距离定时关机时间段', - 'description' => 'The time duration before the instance is stopped. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3600000', - ], - ], - 'required' => false, - ], + 'name' => 'TaskId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the health check task.', 'type' => 'string', 'required' => false, 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0'."\n", 'title' => ''], + ], + [ + 'name' => 'Verbose', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the details of the health check.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', + 'requestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '44FB0869-AA85-599D-A09D-C42F7467618A'], + 'TaskId' => ['description' => 'The ID of the health check task.', 'type' => 'string', 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Data Science Workshop (DSW) instance.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'CheckType' => ['description' => 'The type of check. Valid value:'."\n" + ."\n" + .'SSH: Triggers an SSH health check for the instance.', 'type' => 'string', 'example' => 'SSH', 'title' => ''], + 'Status' => ['description' => 'The status of the health check task.', 'type' => 'string', 'example' => 'Executing', 'title' => ''], + 'StartTime' => ['description' => 'The time when the task started, if available.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'title' => ''], + 'EndTime' => ['description' => 'The time when the task ended, if available.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'title' => ''], + 'Issues' => [ + 'type' => 'array', + 'items' => ['description' => 'A health issue that was found.', 'type' => 'string', 'example' => 'sshd has not been installed"', 'title' => ''], + 'description' => 'The issues found during the check.'."\n" + .'If no issues are found, an empty array is returned.', + 'title' => '', + 'example' => '', ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', + 'CheckDetails' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the check item.', 'type' => 'string', 'example' => 'secureGroupCheck', 'title' => ''], + 'Description' => ['description' => 'The detailed description of the check item.', 'type' => 'string', 'example' => 'Check whether the security group allows traffic on port 22', 'title' => ''], + 'Result' => ['description' => 'The result of the check.', 'type' => 'string', 'example' => 'passed', 'title' => ''], + 'Reason' => ['description' => 'The reason why the check item failed.', 'type' => 'string', 'example' => 'Port 22 is blocked by the security group', 'title' => ''], + ], + 'description' => 'The analysis results of the health check task.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The analysis results of the health check task.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'description' => 'The response body.', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'CreateInstanceShutdownTimer', - ], - 'DeleteInstanceShutdownTimer' => [ - 'summary' => 'Deletes a scheduled stop task of an instance.', - 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetSanityCheckTask', + 'summary' => 'Queries the status and results of a health check task. You can provide the task ID and check type to retrieve the task\'s progress, such as Pending, Executing, Completed, or Failed. The operation also returns the start and end times and a list of found issues. If you set verbose=true in the request, detailed analysis results for each checkpoint are returned. These details include the checkpoint name, description, result, and failure reason to help you diagnose problems.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetSanityCheckTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"44FB0869-AA85-599D-A09D-C42F7467618A\\",\\n \\"TaskId\\": \\"917479ff-c869-49ea-908e-ae85bd987bc0\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CheckType\\": \\"SSH\\",\\n \\"Status\\": \\"Executing\\",\\n \\"StartTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"EndTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"Issues\\": [\\n \\"sshd has not been installed\\\\\\"\\"\\n ],\\n \\"CheckDetails\\": [\\n {\\n \\"Name\\": \\"secureGroupCheck\\",\\n \\"Description\\": \\"Check whether the security group allows traffic on port 22\\",\\n \\"Result\\": \\"passed\\",\\n \\"Reason\\": \\"Port 22 is blocked by the security group\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetTempFile' => [ + 'summary' => 'Gets the details of a temporary file.', + 'path' => '/api/v2/tempfiles/{TempFileId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '118638', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '207260', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'TempFileId', 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The temporary file ID.', 'type' => 'string', 'required' => true, 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '执行结果', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'OwnerId' => ['description' => 'The owner ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'Type' => ['description' => 'The file type.', 'type' => 'string', 'example' => 'type', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time the temporary file was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time the temporary file was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtExpiredTime' => ['description' => 'The expiration time of the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'Uuid' => ['description' => 'The unique ID of the temporary file.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], + 'Name' => ['description' => 'The name of the temporary file.', 'type' => 'string', 'example' => 'filename', 'title' => ''], + 'Description' => ['description' => 'The description of the temporary file.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'Capacity' => ['description' => 'The capacity of the temporary file.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'Status' => ['description' => 'The status of the temporary file.', 'type' => 'string', 'example' => 'Created', 'title' => ''], + 'Prefix' => ['description' => 'The storage path prefix for the temporary file.', 'type' => 'string', 'example' => '/1079135428626537/209170658818096848/', 'title' => ''], + 'Bandwidth' => ['description' => 'The upload bandwidth for the temporary file.', 'type' => 'integer', 'format' => 'int32', 'example' => '10Mi', 'title' => ''], + 'UploadUrl' => ['description' => 'The upload URL for the temporary file.', 'type' => 'string', 'example' => 'http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123154&OSSAccessKeyId&Signature=5ekVo7r+CeeU5oYmCpnmrzrx2IM=', 'title' => ''], + 'DownloadUrl' => ['description' => 'The download URL for the temporary file.', 'type' => 'string', 'example' => 'http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123270&OSSAccessKeyId&Signature=Fn7xSv2kRQraU6UqRZ3+DMzQK14=', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], ], + 'title' => '', + 'description' => 'The details of the temporary file.', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'DeleteInstanceShutdownTimer', - ], - 'GetInstanceShutdownTimer' => [ - 'summary' => '获取定时关机任务', - 'path' => '/api/v2/instances/{InstanceId}/shutdowntimer', - 'methods' => [ - 'get', + 'title' => 'GetTempFile', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetTempFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserId\\": \\"1612285282502324\\",\\n \\"OwnerId\\": \\"1612285282502324\\",\\n \\"TaskId\\": \\"task-05cexxxxxxxxx\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"Type\\": \\"type\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtExpiredTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Uuid\\": \\"tempfile-05cexxxxxxxxx\\",\\n \\"Name\\": \\"filename\\",\\n \\"Description\\": \\"desc\\",\\n \\"Capacity\\": 1000,\\n \\"Status\\": \\"Created\\",\\n \\"Prefix\\": \\"/1079135428626537/209170658818096848/\\",\\n \\"Bandwidth\\": 0,\\n \\"UploadUrl\\": \\"http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123154&OSSAccessKeyId&Signature=5ekVo7r+CeeU5oYmCpnmrzrx2IM=\\",\\n \\"DownloadUrl\\": \\"http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123270&OSSAccessKeyId&Signature=Fn7xSv2kRQraU6UqRZ3+DMzQK14=\\",\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', + ], + 'GetTempFileTask' => [ + 'summary' => 'Retrieves the details of a temporary file task.', + 'path' => '/api/v2/tempfiletasks/{TempFileTaskId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '118639', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '251423', + 'abilityTreeNodes' => ['FEATURElearnQVNGD3'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'TempFileTaskId', 'in' => 'path', - 'schema' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The temporary file task ID.', 'type' => 'string', 'required' => true, 'example' => 'task-05cexxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '定时关机任务', - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'GmtCreateTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'GmtModifiedTime' => [ - 'title' => '修改时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'DueTime' => [ - 'title' => '设定关机时间', - 'description' => '', - 'type' => 'string', - 'example' => '2021-01-12T14:36:01Z', - ], - 'RemainingTimeInMs' => [ - 'title' => '剩余关机时间(ms)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600000', - ], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'OwnerId' => ['description' => 'The owner ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time the task was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time the task was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtExpiredTime' => ['description' => 'The expiration time of the task.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'Uuid' => ['description' => 'The task UUID.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], + 'InstanceId' => ['description' => 'The DSW instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], ], + 'title' => '', + 'description' => 'The response data.', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n}","type":"json"}]', - ], - 'CreateIdleInstanceCuller' => [ - 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetTempFileTask', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserId\\": \\"1612285282502324\\",\\n \\"OwnerId\\": \\"1612285282502324\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtExpiredTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Uuid\\": \\"tempfile-05cexxxxxxxxx\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', + ], + 'GetToken' => [ + 'summary' => 'Retrieves the temporary authentication information for a specified DSW instance.', + 'path' => '/api/v2/tokens', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '154060', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147022', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'path', + 'in' => 'query', + 'schema' => ['description' => 'The instance ID. For information about how to obtain an instance ID, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'ExpireTime', + 'in' => 'query', + 'schema' => ['description' => 'The time-to-live (TTL). Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", + 'description' => 'The type of token to issue.'."\n" + ."\n" + .'- Access: Grants permissions to enter a DSW instance and perform operations.'."\n" + ."\n" + .'- View: Grants read-only permissions to share DSW instance information, such as status, configuration, and logs. This type does not grant permissions to modify or control the instance. It is suitable for collaborators or external viewers.', 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'required' => false, + 'example' => 'Access', + 'default' => 'Access', + 'enum' => ['Access', 'View'], + 'title' => '', ], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'Audience', + 'in' => 'query', 'schema' => [ - 'description' => 'The request body.'."\n", - 'type' => 'object', - 'properties' => [ - 'CpuPercentThreshold' => [ - 'description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - 'GpuPercentThreshold' => [ - 'description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'MaxIdleTimeInMinutes' => [ - 'description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], + 'description' => 'Specifies the intended recipient (audience) of the token. If you access the DSW page from a self-built web application, set this parameter to ThirdParty.', + 'type' => 'string', 'required' => false, + 'example' => 'Aliyun', + 'default' => 'Aliyun', + 'enum' => ['Aliyun', 'ThirdParty'], + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'IdleInstanceCullerIdResult', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response struct.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + 'description' => 'Indicates whether the request was successful. Possible values:'."\n" + ."\n" + .'- true'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", + .'- false', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], + 'title' => '', 'example' => 'true', ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Possible values:'."\n" + ."\n" + .'- InternalError: An internal error. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'ValidationError'], + 'Token' => ['title' => '', 'description' => 'The temporary authentication information used to access the DSW instance.', 'type' => 'string', 'example' => '*******'], ], + 'example' => '', ], ], ], @@ -6659,769 +3837,633 @@ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'CreateIdleInstanceCuller', - 'summary' => 'Creates an automatic stop policy for a specific Data Science Workshop (DSW) instance. When the conditions are met, the instance is automatically stopped. You can create only one automatic stop policy for an idle DSW instance. If the specific instance has an automatic stop policy, call DeleteIdleInstanceCuller to delete it first.', - ], - 'DeleteIdleInstanceCuller' => [ - 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', - 'methods' => [ - 'delete', + 'title' => 'GetToken', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"Token\\": \\"*******\\"\\n}","type":"json"}]', + ], + 'GetUserCommand' => [ + 'summary' => 'Retrieves a user-defined command.', + 'path' => '/api/v2/usercommands/{UserCommandId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], + [ + 'APP' => [], + ], ], + 'consumes' => [], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '154058', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '273001', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'UserCommandId', 'in' => 'path', - 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the user-defined command. You can get this ID by calling API operations such as GetInstance.', 'type' => 'string', 'required' => false, 'example' => '1900', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Data Science Workshop (DSW) instance. Specify this parameter to find the user command that is attached to the instance. This parameter overwrites the UserCommandId setting.', 'type' => 'string', 'required' => false, 'example' => 'dsw-dlsd0fskn193213xxx', 'title' => ''], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => ['description' => 'The token used to access the user command. The token is issued by the GetToken API operation.', 'type' => 'string', 'required' => false, 'example' => 'eyJhbGci......', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'IdleInstanceCullerIdResult', - 'description' => 'The response parameters.'."\n", + 'title' => 'Schema of Response', + 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', + 'UserCommandId' => ['description' => 'The ID of the user-defined command.', 'type' => 'string', 'example' => '1900', 'title' => ''], + 'OnStart' => [ + 'description' => 'The custom startup command. This command is executed each time the instance starts.', + 'type' => 'object', + 'properties' => [ + 'Content' => ['description' => 'The content of the custom startup command.', 'type' => 'string', 'example' => 'apt update', 'title' => ''], ], - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n" - ."\n" - .'* If the request is successful, null is returned.'."\n" - .'* If the request fails, the failure cause is returned.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'ValidationError', - ], - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], + 'title' => '', + 'example' => '', + ], + 'Message' => ['description' => 'A description of the result.', 'type' => 'string', 'example' => 'null', 'title' => ''], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- null: The request was successful.'."\n" + ."\n" + .'- ValidationError: A parameter is invalid.'."\n" + ."\n" + .'- InternalError: An internal error occurred.', 'type' => 'string', 'example' => 'ValidationError', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BEBDF2EE-642E-5992-8907-D2011A7ACEFE', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'accessDeniedDetail' => ['description' => 'Details about the access denial. This parameter is returned if access is denied because the user does not have the required RAM permissions.', 'type' => 'object', 'example' => '"AccessDeniedDetail": {'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "AuthPrincipalOwnerId": "xxx",'."\n" + .' "EncodedDiagnosticMessage": "AQIBIAAAA....bwhg==",'."\n" + .' "AuthPrincipalType": "SubUser",'."\n" + .' "AuthPrincipalDisplayName": "xxx",'."\n" + .' "NoPermissionType": "ImplicitDeny",'."\n" + .' "AuthAction": "ram:GetUserCommand"'."\n" + .' }', 'title' => ''], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FC****\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'DeleteIdleInstanceCuller', - 'summary' => 'Deletes the automatic stop policy of an instance.', - ], - 'GetIdleInstanceCuller' => [ - 'path' => '/api/v2/instances/{InstanceId}/idleinstanceculler', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetUserCommand', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetUserCommand', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserCommandId\\": \\"1900\\",\\n \\"OnStart\\": {\\n \\"Content\\": \\"apt update\\"\\n },\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"RequestId\\": \\"BEBDF2EE-642E-5992-8907-D2011A7ACEFE\\",\\n \\"Success\\": true,\\n \\"accessDeniedDetail\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', + ], + 'GetUserConfig' => [ + 'summary' => 'You can call GetUserConfig to query user information.', + 'path' => '/api/v2/userconfig', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '154059', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'path', - 'schema' => [ - 'description' => 'The instance ID. You can call [ListInstances](~~470439~~) to obtain the instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', - ], - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118609', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'IdleInstanceCullerResult', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The user configuration.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', + 'AccountSufficient' => ['description' => 'Indicates whether the account has a sufficient balance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'FreeTierSpecAvailable' => ['description' => 'Indicates whether free tier instances are available for purchase.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'FreeTier' => [ + 'type' => 'object', + 'properties' => [ + 'IsFreeTierUser' => ['description' => 'Indicates whether the user has a free tier.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the free tier.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the free tier.', 'type' => 'string', 'example' => '2020-11-08T15:00:00Z', 'title' => ''], + 'Status' => ['description' => 'The status of the free tier. The value can be \\`valid\\` or \\`invalid\\`.', 'type' => 'string', 'example' => 'valid', 'title' => ''], + 'InitBaseValue' => ['description' => 'The initial value of the free tier resource.', 'type' => 'number', 'format' => 'double', 'example' => '5000', 'title' => ''], + 'InitShowValue' => ['description' => 'The initial display value of the free tier resource.', 'type' => 'string', 'example' => '5000', 'title' => ''], + 'InitBaseUnit' => ['description' => 'The unit of the initial value for the free tier resource.', 'type' => 'string', 'example' => '个', 'title' => ''], + 'InitShowUnit' => ['description' => 'The display unit of the initial value for the free tier resource.', 'type' => 'string', 'example' => '个', 'title' => ''], + 'PeriodBaseValue' => ['description' => 'The current value of the free tier resource.', 'type' => 'number', 'format' => 'double', 'example' => '3000', 'title' => ''], + 'PeriodShowValue' => ['description' => 'The current display value of the free tier resource.', 'type' => 'string', 'example' => '3000', 'title' => ''], + 'PeriodBaseUnit' => ['description' => 'The unit of the current value for the free tier resource.', 'type' => 'string', 'example' => '个', 'title' => ''], + 'PeriodShowUnit' => ['description' => 'The display unit of the current value for the free tier resource.', 'type' => 'string', 'example' => '个', 'title' => ''], ], - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'ValidationError', - ], - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'CpuPercentThreshold' => [ - 'description' => 'The CPU utilization threshold. Unit: percentage. Valid values: 1 to 100. If the CPU utilization of the instance is lower than this threshold, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'GpuPercentThreshold' => [ - 'description' => 'The GPU utilization threshold. Unit: percentage. Valid values: 1 to 100. This parameter takes effect only if the instance is of the GPU instance type. If both CPU and GPU utilization is lower than the thresholds, the instance is considered idle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxIdleTimeInMinutes' => [ - 'description' => 'The maximum time duration for which the instance is idle. Unit: minutes. If the time duration for which the instance is idle exceeds this value, the system automatically stops the instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeInMinutes' => [ - 'description' => 'The time duration for which the instance is idle. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], + 'title' => '', + 'description' => 'The properties of the free tier.', + 'example' => '', + ], + 'EnableEciDisk' => ['description' => 'Indicates whether eciDisk is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Possible values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'title' => '', 'example' => '"Access denied"'], + 'Code' => ['description' => 'The status code. Possible values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. Errors other than parameter validation errors are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Possible values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'GetUserConfig', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUserConfig'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n}","type":"json"}]', - 'title' => 'GetIdleInstanceCuller', - 'summary' => 'Queries the information about an auto stop policy for a specific idle instance.', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetUserConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountSufficient\\": false,\\n \\"FreeTierSpecAvailable\\": true,\\n \\"FreeTier\\": {\\n \\"IsFreeTierUser\\": true,\\n \\"StartTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"EndTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"Status\\": \\"valid\\",\\n \\"InitBaseValue\\": 5000,\\n \\"InitShowValue\\": \\"5000\\",\\n \\"InitBaseUnit\\": \\"个\\",\\n \\"InitShowUnit\\": \\"个\\",\\n \\"PeriodBaseValue\\": 3000,\\n \\"PeriodShowValue\\": \\"3000\\",\\n \\"PeriodBaseUnit\\": \\"个\\",\\n \\"PeriodShowUnit\\": \\"个\\"\\n },\\n \\"EnableEciDisk\\": true,\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"Access denied\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0\\n}","type":"json"}]', ], 'ListEcsSpecs' => [ - 'summary' => 'Queries a list of specifications of ECS instances.', 'path' => '/api/v2/ecsspecs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '118542', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ 'name' => 'AcceleratorType', 'in' => 'query', - 'schema' => [ - 'title' => '加速类型', - 'description' => 'The accelerator type.'."\n" - ."\n" - .'* CPU: Only CPU computing is used.'."\n" - .'* GPU: GPUs are used to accelerate computing.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CPU', - ], + 'schema' => ['description' => 'Accelerator type. Valid values:'."\n" + ."\n" + .'- CPU: CPU-only computing without accelerators.'."\n" + ."\n" + .'- GPU: GPU-accelerated computing.', 'type' => 'string', 'required' => true, 'example' => 'CPU', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '页数', - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'Page number of the result list. Default: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '每页大小', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'Number of instance types per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], ], [ 'name' => 'SortBy', 'in' => 'query', - 'schema' => [ - 'title' => '排序字段', - 'description' => 'The field by which the query results are sorted. Set the value to gmtCreate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gmtCreate', - 'default' => 'gmtCreate', - ], + 'schema' => ['description' => 'Deprecated. Do not use.', 'type' => 'string', 'example' => 'gmtCreate', 'default' => 'gmtCreate', 'title' => '', 'required' => false], ], [ 'name' => 'Order', 'in' => 'query', - 'schema' => [ - 'title' => '排序顺序', - 'description' => 'The sorting order. Valid values:'."\n" - ."\n" - .'* ASC'."\n" - .'* DESC'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DESC', - 'default' => 'DESC', - ], + 'schema' => ['description' => 'The sort order. Valid values:'."\n" + ."\n" + .'- ASC: ascending order.'."\n" + ."\n" + .'- DESC: descending order.', 'type' => 'string', 'example' => 'DESC', 'default' => 'DESC', 'title' => '', 'required' => false], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ECS规格列表', - 'description' => 'The specifications of ECS instances.'."\n", + 'title' => '', + 'description' => 'Response containing ECS instance type list.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The response message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: an internal error. All errors, except for parameter validation errors, are classified as internal errors.'."\n" - .'* ValidationError: a parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* 400'."\n" - .'* 404'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'TotalCount' => [ - 'title' => '实例总数', - 'description' => 'The total number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35', - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'Status code. Valid values:'."\n" + ."\n" + .'- InternalError: Internal error occurred. Includes all errors except parameter validation errors.'."\n" + ."\n" + .'- ValidationError: Parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'HTTP status code. Common values:'."\n" + ."\n" + .'- 400: Bad request'."\n" + ."\n" + .'- 404: Resource not found', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'TotalCount' => ['description' => 'Total number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '35', 'title' => ''], 'EcsSpecs' => [ - 'title' => '本分页中请求的实例列表', - 'description' => 'The specifications of the ECS instances returned on this page.'."\n", + 'title' => '', + 'description' => 'Instance types on current page.', 'type' => 'array', 'items' => [ - 'description' => 'The specification of the ECS instance.'."\n", + 'description' => 'ECS instance type.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'title' => '实例规格', - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.gn5-c28g1.7xlarge', - ], - 'GPUType' => [ - 'title' => '显卡类型', - 'description' => 'The GPU type. Valid values:'."\n" - ."\n" - .'* V100'."\n" - .'* A100'."\n" - .'* A10'."\n" - .'* T4'."\n" - .'* P100'."\n", - 'type' => 'string', - 'example' => 'v100', - ], - 'CPU' => [ - 'title' => 'CPU核数', - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '32', - ], - 'GPU' => [ - 'title' => 'GPU卡数', - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'Memory' => [ - 'title' => '内存大小(GB)', - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '32', - ], - 'SystemDiskCapacity' => [ - 'title' => '系统盘大小(GB)', - 'description' => 'The size of the system disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '500', - ], - 'AcceleratorType' => [ - 'title' => '资源类型', - 'description' => 'The accelerator type.'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'Price' => [ - 'title' => '价格', - 'description' => 'The price.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '22.8', - ], - 'Currency' => [ - 'title' => '货币单位', - 'description' => 'The currency unit.'."\n", - 'type' => 'string', - 'example' => 'CNY', - ], - 'InstanceBandwidthRx' => [ - 'title' => '实例接收带宽', - 'description' => 'The inbound bandwidth of the instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5120000', - ], + 'InstanceType' => ['description' => 'Instance type identifier.', 'type' => 'string', 'example' => 'ecs.gn5-c28g1.7xlarge', 'title' => ''], + 'GPUType' => ['description' => 'GPU type. Examples: V100, A100, A10, T4, P100.', 'type' => 'string', 'example' => 'v100', 'title' => ''], + 'CPU' => ['description' => 'Number of CPU cores.', 'type' => 'integer', 'format' => 'int64', 'example' => '32', 'title' => ''], + 'GPU' => ['description' => 'Number of GPUs.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'Memory' => ['description' => 'Memory size in GB.', 'type' => 'number', 'format' => 'float', 'example' => '32', 'title' => ''], + 'SystemDiskCapacity' => ['description' => 'System disk size in GB.', 'type' => 'integer', 'format' => 'int64', 'example' => '500', 'title' => ''], + 'AcceleratorType' => ['description' => 'Accelerator type. Valid values: CPU, GPU.', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'Price' => ['description' => 'Hourly price per instance.', 'type' => 'number', 'format' => 'double', 'example' => '22.8', 'title' => ''], + 'Currency' => ['description' => 'Currency unit. Example: CNY, USD.', 'type' => 'string', 'example' => 'CNY', 'title' => ''], + 'InstanceBandwidthRx' => ['description' => 'Inbound bandwidth in Kbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '5120000', 'title' => ''], 'Labels' => [ - 'title' => '用户自定义标签', - 'description' => 'The labels of the ECS specification.'."\n", + 'title' => '', + 'description' => 'Instance type labels.', 'type' => 'array', 'items' => [ - 'description' => 'The label.'."\n", + 'description' => 'Label key-value pair.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => 'Ecs规格标签键', - 'description' => 'The label key added to the ECS specification.'."\n", - 'type' => 'string', - 'example' => 'SupportResourcePackDeduction', - ], - 'Value' => [ - 'description' => 'The label value added to the ECS specification.'."\n", - 'type' => 'string', - 'example' => 'true', - 'title' => '', - ], + 'Key' => ['description' => 'Label key.', 'type' => 'string', 'example' => 'SupportResourcePackDeduction', 'title' => ''], + 'Value' => ['description' => 'Label value.', 'type' => 'string', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'example' => '{\'foo\': \'bar\'}', ], - 'IsAvailable' => [ - 'title' => '资源是否可用', - 'description' => 'Indicates whether the resource was available.'."\n", - 'type' => 'boolean', - 'example' => 'True', - 'default' => 'true', - ], - 'GPUMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'SpotStockStatus' => [ - 'type' => 'string', - ], + 'IsAvailable' => ['description' => 'Indicates whether the instance type is currently available.', 'type' => 'boolean', 'example' => 'True', 'default' => 'true', 'title' => ''], + 'GPUMemorySize' => ['description' => 'GPU memory size in GB.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => ''], + 'SpotStockStatus' => ['description' => 'Spot instance stock status indicating resource availability.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"EcsSpecs\\": [\\n {\\n \\"InstanceType\\": \\"ecs.gn5-c28g1.7xlarge\\",\\n \\"GPUType\\": \\"v100\\",\\n \\"CPU\\": 32,\\n \\"GPU\\": 4,\\n \\"Memory\\": 32,\\n \\"SystemDiskCapacity\\": 500,\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Price\\": 22.8,\\n \\"Currency\\": \\"CNY\\",\\n \\"InstanceBandwidthRx\\": 5120000,\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"SupportResourcePackDeduction\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"IsAvailable\\": true,\\n \\"GPUMemorySize\\": 0,\\n \\"SpotStockStatus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'ListEcsSpecs', - ], - 'GetUserConfig' => [ - 'summary' => '获取用户配置', - 'path' => '/api/v2/userconfig', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Query available ECS instance types with hardware specifications, pricing, and availability information for PAI-DSW notebooks.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEcsSpecs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListEcsSpecs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"EcsSpecs\\": [\\n {\\n \\"InstanceType\\": \\"ecs.gn5-c28g1.7xlarge\\",\\n \\"GPUType\\": \\"v100\\",\\n \\"CPU\\": 32,\\n \\"GPU\\": 4,\\n \\"Memory\\": 32,\\n \\"SystemDiskCapacity\\": 500,\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Price\\": 22.8,\\n \\"Currency\\": \\"CNY\\",\\n \\"InstanceBandwidthRx\\": 5120000,\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"SupportResourcePackDeduction\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"IsAvailable\\": true,\\n \\"GPUMemorySize\\": 0,\\n \\"SpotStockStatus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListInstanceSnapshot' => [ + 'path' => '/api/v2/instances/{InstanceId}/snapshots', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '118609', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURElearnE5ZUBR'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. The value must be greater than or equal to 1. The default value is 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of instance snapshots to return on each page. The default value is 10.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The field to sort the results by. Set the value to gmtCreate.', 'type' => 'string', 'example' => 'gmtCreate', 'default' => 'gmtCreate', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Order', + 'in' => 'query', + 'schema' => ['description' => 'The sort order. Valid values:'."\n" + ."\n" + .'- Desc: Sorts the results in descending order.'."\n" + ."\n" + .'- Asc: Sorts the results in ascending order.', 'type' => 'string', 'example' => 'DESC', 'default' => 'DESC', 'required' => false, 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '用户配置', - 'description' => '', + 'title' => '', + 'description' => 'The list of instance snapshots.', 'type' => 'object', 'properties' => [ - 'AccountSufficient' => [ - 'title' => '用户账号金额是否充足', - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FreeTierSpecAvailable' => [ - 'title' => '是否可以购买free tier规格的实例', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FreeTier' => [ - 'title' => 'free tier属性', - 'type' => 'object', - 'properties' => [ - 'IsFreeTierUser' => [ - 'title' => '是否是free tier用户', - 'type' => 'boolean', - 'example' => 'true', - ], - 'StartTime' => [ - 'title' => 'free tier开始时间', - 'type' => 'string', - 'example' => '2020-11-08T15:00:00Z', - ], - 'EndTime' => [ - 'title' => 'free tier结束时间', - 'type' => 'string', - 'example' => '2020-11-08T15:00:00Z', - ], - 'Status' => [ - 'title' => 'free tier状态,有效或者无效', - 'type' => 'string', - 'example' => 'valid', - ], - 'InitBaseValue' => [ - 'title' => 'free tier,资源初始值', - 'type' => 'number', - 'format' => 'double', - 'example' => '5000', - ], - 'InitShowValue' => [ - 'title' => 'free tier,资源初始显示值', - 'type' => 'string', - 'example' => '5000', - ], - 'InitBaseUnit' => [ - 'title' => 'free tier,资源初始值单位', - 'type' => 'string', - 'example' => '个', - ], - 'InitShowUnit' => [ - 'title' => 'free tier,资源初始显示单位', - 'type' => 'string', - 'example' => '个', - ], - 'PeriodBaseValue' => [ - 'title' => 'free tier,资源当前值', - 'type' => 'number', - 'format' => 'double', - 'example' => '3000', - ], - 'PeriodShowValue' => [ - 'title' => 'free tier,资源当前显示值', - 'type' => 'string', - 'example' => '3000', - ], - 'PeriodBaseUnit' => [ - 'title' => 'free tier,资源当前值单位', - 'type' => 'string', - 'example' => '个', - ], - 'PeriodShowUnit' => [ - 'title' => 'free tier, 资源当前显示单位', - 'type' => 'string', - 'example' => '个', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'TotalCount' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '35', 'title' => ''], + 'Snapshots' => [ + 'title' => '', + 'description' => 'The list of instance snapshots on the current page.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance snapshot object.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'SnapshotId' => ['description' => 'The instance snapshot ID.', 'type' => 'string', 'example' => 'snp-05cexxxxxxxxx', 'title' => ''], + 'SnapshotName' => ['description' => 'The name of the instance snapshot.', 'type' => 'string', 'example' => 'training_data_env', 'title' => ''], + 'Status' => ['description' => 'The status of the instance snapshot.', 'type' => 'string', 'example' => 'Pushing', 'title' => ''], + 'ImageId' => ['description' => 'The image ID of the instance snapshot.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageUrl' => ['description' => 'The URL of the image for the instance snapshot.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code for the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message for the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the instance snapshot was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the instance snapshot was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'Labels' => [ + 'title' => '', + 'description' => 'The custom tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The key-value pair of the custom tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the custom tag.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => ''], + 'Value' => ['description' => 'The value of the custom tag.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '{\'foo\': \'bar\'}', + ], + 'ExcludePaths' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'example' => '["/path1","/path2"]', + 'title' => '', + 'description' => 'A list of file paths to exclude. This parameter is supported only for ECI instances. It is used to ignore specified folders or files when you create an image.', + ], ], + 'title' => '', + 'example' => '', ], - ], - 'EnableEciDisk' => [ - 'title' => '是否打开eciDisk', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'title' => '请求Id', - 'description' => '', - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => '', - 'type' => 'string', - 'example' => '"Access denied"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'HttpStatusCode' => [ - 'title' => 'http状态码', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountSufficient\\": false,\\n \\"FreeTierSpecAvailable\\": true,\\n \\"FreeTier\\": {\\n \\"IsFreeTierUser\\": true,\\n \\"StartTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"EndTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"Status\\": \\"valid\\",\\n \\"InitBaseValue\\": 5000,\\n \\"InitShowValue\\": \\"5000\\",\\n \\"InitBaseUnit\\": \\"个\\",\\n \\"InitShowUnit\\": \\"个\\",\\n \\"PeriodBaseValue\\": 3000,\\n \\"PeriodShowValue\\": \\"3000\\",\\n \\"PeriodBaseUnit\\": \\"个\\",\\n \\"PeriodShowUnit\\": \\"个\\"\\n },\\n \\"EnableEciDisk\\": true,\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"Access denied\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0\\n}","type":"json"}]', - ], - 'CreateDiagnosis' => [ - 'summary' => '诊断问题', - 'path' => '/api/v2/diagnoses', - 'methods' => [ - 'post', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ListInstanceSnapshot', + 'summary' => 'Lists instance snapshots.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstanceSnapshot'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"Snapshots\\": [\\n {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"SnapshotId\\": \\"snp-05cexxxxxxxxx\\",\\n \\"SnapshotName\\": \\"training_data_env\\",\\n \\"Status\\": \\"Pushing\\",\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"ExcludePaths\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListInstanceStatistics' => [ + 'path' => '/api/v2/instancestatistics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '195184', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '118645', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'title' => '分享信息', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '分享文件名称', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'dsw-5bk19******n97w', - ], - 'ProblemCategory' => [ - 'title' => '分享文件版本', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'InstanceStartFailed', - ], - 'GmtFailureTime' => [ - 'description' => '', - 'type' => 'string', - 'format' => 'iso8601_normal', - 'required' => false, - 'example' => '2021-01-12T14:36:01Z', - ], - ], - 'required' => false, - ], + 'name' => 'WorkspaceIds', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the workspaces. Separate multiple IDs with commas (,). For more information, see [ListWorkspaces](~~449124~~).', 'type' => 'string', 'required' => true, 'example' => '27218,34956', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '分享结果', - 'description' => '', + 'title' => '', + 'description' => 'The statistics information for the instances.', 'type' => 'object', 'properties' => [ - 'ReasonCode' => [ - 'title' => '分享文件名称', - 'description' => '', - 'type' => 'string', - 'example' => 'Resource.InsufficientResource', - ], - 'SolutionMessage' => [ - 'title' => '分享文件版本', - 'description' => '', - 'type' => 'string', - 'example' => 'Switch resource config', - ], - 'ReasonMessage' => [ - 'title' => '分享资源链接', - 'description' => '', - 'type' => 'string', - 'example' => 'Insufficient resource', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error. This includes all errors except parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error.', 'type' => 'string', 'title' => '', 'example' => 'InternalError'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '400'], + 'Statistics' => [ + 'title' => '', + 'description' => 'The statistics information.', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'additionalProperties' => ['description' => 'The value of the statistic.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'description' => 'A statistic, such as RunningCount: 3.', + 'title' => '', + 'example' => '', + ], + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ReasonCode\\": \\"Resource.InsufficientResource\\",\\n \\"SolutionMessage\\": \\"Switch resource config\\",\\n \\"ReasonMessage\\": \\"Insufficient resource\\"\\n}","type":"json"}]', - ], - 'GetToken' => [ - 'summary' => 'Obtains the temporary authentication information of a DSW instance.', - 'path' => '/api/v2/tokens', - 'methods' => [ - 'get', + 'title' => 'ListInstanceStatistics', + 'summary' => 'Retrieves statistics information for instances.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstanceStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListInstanceStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"InternalError\\",\\n \\"HttpStatusCode\\": 400,\\n \\"Statistics\\": {\\n \\"key\\": {\\n \\"key\\": 5\\n }\\n }\\n}","type":"json"}]', + ], + 'ListInstances' => [ + 'summary' => 'Queries a list of Distribution Switch (DSW) instances.', + 'path' => '/api/v2/instances', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7433,787 +4475,1849 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '147022', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '118637', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'WorkspaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the workspace. For more information about how to obtain the workspace ID, see [ListWorkspaces](~~449124~~). By default, this parameter is not specified, which indicates that instances in the default workspace of the current sub-account are returned. For more information about how to view the default workspace, see [GetDefaultWorkspace](https://help.aliyun.com/zh/pai/developer-reference/api-aiworkspace-2021-02-04-getdefaultworkspace?spm=a2c4g.11186623.help-menu-30347.d_5_0_1_4_2_5.6e1f4c800OFLec). To query instances in all workspaces, set this parameter to `ALL`.', 'type' => 'string', 'example' => '40823', 'title' => '', 'required' => false], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance. If you specify this parameter, a case-insensitive fuzzy search is performed on instance names. By default, this parameter is not specified, which indicates that no filter is applied.', 'type' => 'string', 'example' => 'training_data', 'title' => '', 'required' => false], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource quota. This parameter is used to filter instances. For more information about how to obtain the ID of a resource quota, see [ListQuotas](https://help.aliyun.com/zh/pai/developer-reference/api-aiworkspace-2021-02-04-listquotas).'."\n" + .'By default, this parameter is not specified, which indicates that only instances of the pay-as-you-go resource group are returned.'."\n" + .'If you set this parameter to ALL, all instances are returned.', 'type' => 'string', 'example' => 'ALL', 'title' => '', 'required' => false], + ], + [ + 'name' => 'Status', 'in' => 'query', 'schema' => [ - 'description' => 'The instance ID.'."\n", + 'description' => 'The instance status that you want to use to filter instances. By default, this parameter is not specified, which indicates that instances in all states are queried.', + 'enumValueTitles' => [ + 'Creating' => 'The instance is being created.', 'SaveFailed' => 'The image failed to be saved.', 'Stopped' => 'The instance is stopped.', 'Failed' => 'The instance fails.', 'ResourceAllocating' => 'Resources are being allocated.', 'Stopping' => 'The instance is being stopped.', 'Updating' => 'The instance is being updated.', 'Saving' => 'The image is being saved.', 'Queuing' => 'The instance is in the queue.', 'Recovering' => 'The instance is being recovered.', + 'Starting' => 'The instance is being started.', 'Running' => 'The instance is running.', 'Saved' => 'The image is saved.', 'Deleting' => 'The instance is being deleted.', 'EnvPreparing' => 'The environment is being prepared.', + ], 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx', + 'example' => 'Running', + 'title' => '', + 'required' => false, ], ], [ - 'name' => 'ExpireTime', + 'name' => 'PaymentType', 'in' => 'query', 'schema' => [ - 'description' => 'The validity period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The billing method of the instance. You can use this parameter to filter instances. By default, this parameter is not specified, which indicates that instances of all billing methods are queried.', + 'enumValueTitles' => ['PayAsYouGo' => 'pay-as-you-go', 'Subscription' => 'subscription'], + 'type' => 'string', + 'example' => 'PayAsYouGo', 'required' => false, - 'example' => '60', + 'title' => '', ], ], [ - 'name' => 'Type', + 'name' => 'Accessibility', + 'in' => 'query', + 'schema' => ['description' => 'The visibility of the instance in its workspace. You can use this parameter to filter instances. By default, this parameter is not specified, which indicates that instances of all visibility settings are queried. Valid values:'."\n" + ."\n" + .'- `PRIVATE` (default): The instance is visible to the instance creator and administrators in the workspace.'."\n" + ."\n" + .'- `PUBLIC`: The instance is visible to all users in the workspace.', 'type' => 'string', 'example' => 'PRIVATE', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'AcceleratorType', 'in' => 'query', 'schema' => [ + 'description' => 'The type of the accelerator. You can use this parameter to filter instances. By default, this parameter is not specified, which indicates that instances that use all types of accelerators are queried. Valid values:'."\n" + ."\n" + .'- `CPU`: The instance uses only CPUs for computing.'."\n" + ."\n" + .'- `GPU`: The instance uses GPUs for accelerated computing.', + 'enumValueTitles' => ['CPU' => 'CPU', 'GPU' => 'GPU'], 'type' => 'string', + 'example' => 'CPU', 'required' => false, - 'example' => 'Access', - 'default' => 'Access', - 'enum' => [ - 'Access', - 'View', - ], + 'title' => '', ], ], [ - 'name' => 'Audience', + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page 1. Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], + ], + [ + 'name' => 'SortBy', 'in' => 'query', 'schema' => [ + 'description' => 'The sorting field.', + 'enumValueTitles' => ['Priority' => 'priority', 'GmtCreateTime' => 'the creation time', 'GmtModifiedTime' => 'the modification time'], 'type' => 'string', + 'example' => 'GmtCreateTime', + 'default' => 'GmtModifiedTime', + 'title' => '', 'required' => false, - 'example' => 'Aliyun', - 'default' => 'Aliyun', - 'enum' => [ - 'Aliyun', - 'ThirdParty', + ], + ], + [ + 'name' => 'Order', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting order. Valid values: DESC and ASC. Default value: DESC.', + 'enumValueTitles' => ['ASC' => 'ascending order', 'DESC' => 'descending order'], + 'type' => 'string', + 'example' => 'DESC', + 'default' => 'DESC', + 'title' => '', + 'required' => false, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'If you specify this parameter, the system performs an exact match to filter instances. For more information about how to obtain an instance ID, see [ListInstances](~~470439~~). You can specify multiple instance IDs and separate them with commas (,).', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'If you specify this parameter, the system filters instances based on their tags. You can specify a maximum of four tags. If you specify multiple tags, the tags are combined by using the AND operator.', 'type' => 'object', 'required' => false, 'example' => '{'."\n" + .' "key1": "value1",'."\n" + .' "key2": "value2",'."\n" + .' "key3": "value3"'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'CreateUserId', + 'in' => 'query', + 'schema' => ['description' => 'If you specify this parameter, the system filters instances based on the user ID of the instance creator.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '12345*****67890'], + ], + [ + 'name' => 'GpuType', + 'in' => 'query', + 'schema' => ['description' => 'If you specify this parameter, the system filters instances based on their GPU model.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'NVIDIA A10'], + ], + [ + 'name' => 'MinCpu', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of vCPUs. The unit is 0.001 vCPU. 1000 indicates one vCPU. If you specify this parameter, the system filters out instances that have a smaller number of vCPUs than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '2000', 'title' => ''], + ], + [ + 'name' => 'MaxCpu', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of vCPUs. The unit is 0.001 vCPU. 1000 indicates one vCPU. If you specify this parameter, the system filters out instances that have a greater number of vCPUs than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '30000', 'title' => ''], + ], + [ + 'name' => 'MinGpu', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of GPUs. The unit is 0.001 GPU. 1000 indicates one GPU. If you specify this parameter, the system filters out instances that have a smaller number of GPUs than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'MaxGpu', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of GPUs. The unit is 0.001 GPU. 1000 indicates one GPU. If you specify this parameter, the system filters out instances that have a greater number of GPUs than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '8000', 'title' => ''], + ], + [ + 'name' => 'MinMemory', + 'in' => 'query', + 'schema' => ['description' => 'The minimum memory size of the instance. Unit: GB. If you specify this parameter, the system filters out instances whose memory size is smaller than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'MaxMemory', + 'in' => 'query', + 'schema' => ['description' => 'The maximum memory size of the instance. Unit: GB. If you specify this parameter, the system filters out instances whose memory size is greater than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '48', 'title' => ''], + ], + [ + 'name' => 'MinGpuMemory', + 'in' => 'query', + 'schema' => ['description' => 'The minimum memory size of a single GPU. Unit: GB. If you specify this parameter, the system filters out instances whose GPU memory size is smaller than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''], + ], + [ + 'name' => 'MaxGpuMemory', + 'in' => 'query', + 'schema' => ['description' => 'The maximum memory size of a single GPU. Unit: GB. If you specify this parameter, the system filters out instances whose GPU memory size is greater than the value of this parameter.', 'type' => 'string', 'required' => false, 'example' => '16', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The image name. If you specify this parameter, the system filters instances based on the image name.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-cpu-py38-ubuntu20.04'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The tags. If you specify this parameter, the system filters instances based on their tags. You can specify a maximum of four tags. If you specify multiple tags, the tags are combined by using the AND operator.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'tag1', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'value1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'OversoldInfo', + 'in' => 'query', + 'schema' => ['description' => 'The type of the idle resources that are actually used by the instance. If you specify this parameter, the system filters instances based on the type of idle resources that are actually used by the instances. Valid values:'."\n" + ."\n" + .'- ForbiddenQuotaOverSold: guaranteed resources.'."\n" + ."\n" + .'- ForceQuotaOverSold: idle resources.'."\n" + ."\n" + .'- PendingQuotaOverSold: The resource allocation is pending.', 'type' => 'string', 'required' => false, 'example' => 'ForceQuotaOverSold', 'title' => ''], + ], + [ + 'name' => 'OversoldType', + 'in' => 'query', + 'schema' => ['description' => 'The type of idle resources that are specified by the user. If you specify this parameter, the system filters instances based on the type of idle resources. Valid values:'."\n" + ."\n" + .'- ForceQuotaOverSold: uses only idle resources.'."\n" + ."\n" + .'- AcceptQuotaOverSold: accepts idle resources.'."\n" + ."\n" + .'- ForbiddenQuotaOverSold: uses guaranteed resources.', 'type' => 'string', 'required' => false, 'example' => 'AcceptQuotaOverSold', 'title' => ''], + ], + [ + 'name' => 'CreateTimeAfter', + 'in' => 'query', + 'schema' => ['description' => 'If you specify this parameter, the system filters out instances that are created on or after the specified time.', 'type' => 'string', 'required' => false, 'example' => '2024-01-12T14:36:01Z', 'title' => ''], + ], + [ + 'name' => 'CreateTimeBefore', + 'in' => 'query', + 'schema' => ['description' => 'If you specify this parameter, the system filters out instances that are created on or before the specified time.', 'type' => 'string', 'required' => false, 'example' => '2024-01-12T15:36:01Z', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'TokenResult', - 'description' => 'The returned data.'."\n", + 'title' => '', + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求Id', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', - ], - 'Success' => [ - 'title' => '成功标志', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- `InternalError`: An internal error occurred. This code is returned for all errors except for `ValidationError`.'."\n" + ."\n" + .'- `ValidationError`: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'TotalCount' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '35', 'title' => ''], + 'Instances' => [ + 'title' => '', + 'description' => 'A list of instances on the current page.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of an instance.', + 'type' => 'object', + 'properties' => [ + 'WorkspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => '40823', 'title' => ''], + 'WorkspaceName' => ['description' => 'The workspace name.', 'type' => 'string', 'example' => 'training_data', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'training_data', 'title' => ''], + 'EcsSpec' => ['description' => 'The ECS specification of the instance.', 'type' => 'string', 'example' => 'ecs.c6.large', 'title' => ''], + 'Status' => ['description' => 'The status of the instance.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'InstanceUrl' => ['description' => 'The instance URL.', 'type' => 'string', 'example' => 'https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=39772#/', 'title' => ''], + 'JupyterlabUrl' => ['title' => 'Jupyterlab Url', 'description' => 'The JupyterLab URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/lab/'], + 'WebIDEUrl' => ['title' => 'Web IDE url', 'description' => 'The Web IDE URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/ide/'], + 'TerminalUrl' => ['description' => 'The terminal URL.', 'type' => 'string', 'example' => 'https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/tty/', 'title' => ''], + 'AccumulatedRunningTimeInMs' => ['description' => 'The accumulated running time, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600000', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the instance was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the instance was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'UserName' => ['description' => 'The username.', 'type' => 'string', 'example' => 'Test user', 'title' => ''], + 'Datasets' => [ + 'title' => '', + 'description' => 'The list of datasets.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dataset object.', + 'type' => 'object', + 'properties' => [ + 'DatasetId' => ['description' => 'The dataset ID.', 'type' => 'string', 'example' => 'd-vsqjvsjp4orp5l206u', 'title' => ''], + 'DatasetVersion' => ['description' => 'The dataset version.', 'type' => 'string', 'title' => '', 'example' => 'v1'], + 'Uri' => ['description' => 'The URI of the specified dataset.', 'type' => 'string', 'title' => '', 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/'], + 'MountPath' => ['description' => 'The mount path in the container.', 'type' => 'string', 'example' => '/mnt/data', 'title' => ''], + 'MountAccess' => [ + 'description' => 'The read/write permissions. Valid values are `RW` (read/write) and `RO` (read-only).', + 'enumValueTitles' => ['RW' => 'read/write', 'RO' => 'read-only'], + 'type' => 'string', + 'title' => '', + 'example' => 'RW', + ], + 'Options' => ['description' => 'The mount options for the dataset.', 'type' => 'string', 'title' => '', 'example' => '{'."\n" + .' "fs.oss.download.thread.concurrency": "10",'."\n" + .' "fs.oss.upload.thread.concurrency": "10",'."\n" + .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" + .'}'], + 'OptionType' => ['description' => 'The type of the mount configuration item.', 'type' => 'string', 'title' => '', 'example' => 'FastReadWrite'], + 'Dynamic' => ['description' => 'Specifies whether to enable dynamic mounting. Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'UserVpc' => [ + 'title' => '', + 'description' => 'The VPC settings.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['title' => 'Vpc Id', 'description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxxxx'], + 'VSwitchId' => ['title' => 'VSwitch Id', 'description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxxxx'], + 'SecurityGroupId' => ['title' => 'Security Group Id', 'description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-xxxxxx'], + 'ExtendedCIDRs' => [ + 'description' => 'The list of extended CIDR blocks for network connectivity.', + 'type' => 'array', + 'items' => ['description' => 'An extended CIDR block for network connectivity.', 'type' => 'string', 'example' => '192.168.0.1/24', 'title' => ''], + 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', + 'title' => '', + ], + 'DefaultRoute' => ['title' => 'Default Route', 'description' => 'The default route.', 'type' => 'string', 'example' => 'eth0 | eth1'], + 'ForwardInfos' => [ + 'description' => 'A list of port forwarding rules.', + 'type' => 'array', + 'items' => ['description' => 'A port forwarding rule.', '$ref' => '#/components/schemas/ForwardInfoResponse', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + 'BandwidthLimit' => ['$ref' => '#/components/schemas/BandwidthLimit', 'description' => '', 'title' => '', 'example' => ''], + 'Ip' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', + ], + 'InstanceShutdownTimer' => [ + 'title' => '', + 'description' => 'The scheduled shutdown task for the instance.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the task was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'DueTime' => ['description' => 'The scheduled shutdown time.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'RemainingTimeInMs' => ['description' => 'The remaining time before shutdown, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600000', 'title' => ''], + ], + 'example' => '', + ], + 'ReasonCode' => ['description' => 'The instance error code.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The reason for the instance error.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'PaymentType' => ['description' => 'The billing method. Valid values:'."\n" + ."\n" + .'- `PayAsYouGo`: pay-as-you-go'."\n" + ."\n" + .'- `Subscription`: subscription', 'type' => 'string', 'example' => 'PayAsYouGo', 'title' => ''], + 'LatestSnapshot' => [ + 'title' => '', + 'description' => 'The most recent snapshot of the instance.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'RepositoryUrl' => ['description' => 'The image repository URL.', 'type' => 'string', 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the snapshot was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the snapshot was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code for the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message for the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'Status' => ['description' => 'The status of the instance snapshot.', 'type' => 'string', 'example' => 'Pushing', 'title' => ''], + ], + 'example' => '', + ], + 'AcceleratorType' => ['description' => 'The accelerator type for the instance. Valid values:'."\n" + ."\n" + .'- CPU'."\n" + ."\n" + .'- GPU', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'Accessibility' => ['description' => 'The visibility of the instance in the workspace. Valid values:'."\n" + ."\n" + .'- `PRIVATE` (default): The instance is visible only to its creator and workspace administrators.'."\n" + ."\n" + .'- `PUBLIC`: The instance is visible to all users in the workspace.', 'type' => 'string', 'example' => 'PRIVATE', 'title' => ''], + 'EnvironmentVariables' => [ + 'title' => '', + 'description' => 'The environment variables.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'A user-defined environment variable. After the DSW instance starts, the specified environment variables are injected into the container.', 'type' => 'string', 'example' => 'MAAS', 'title' => ''], + 'example' => '{userName: "Chris"}', + ], + 'ResourceId' => ['description' => 'The resource ID. This parameter is returned for subscription instances.', 'type' => 'string', 'example' => 'dsw-123456789', 'title' => ''], + 'ResourceName' => ['description' => 'The resource specification.'."\n" + ."\n" + .'- For pay-as-you-go instances, this is the purchased ECS specification.'."\n" + ."\n" + .'- For subscription instances, this is the requested number of CPU cores and memory size.', 'type' => 'string', 'example' => 'resource_group', 'title' => ''], + 'Priority' => ['description' => 'The priority of the instance. Resources are allocated to instances with higher priority first.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestedResource' => [ + 'title' => '', + 'description' => 'The resource configuration.', + 'type' => 'object', + 'properties' => [ + 'CPU' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'Memory' => ['description' => 'The memory size.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'SharedMemory' => ['description' => 'The size of the shared memory.', 'type' => 'string', 'example' => '32', 'title' => ''], + 'GPU' => ['description' => 'The number of GPUs.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'GPUType' => ['description' => 'The GPU card type.', 'type' => 'string', 'example' => 'NVIDIA A10', 'title' => ''], + ], + 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', + ], + 'Labels' => [ + 'title' => '', + 'description' => 'The user-defined tags for the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The user-defined tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the user-defined tag.', 'type' => 'string', 'example' => 'stsTokenOwner', 'title' => ''], + 'Value' => ['description' => 'The value of the user-defined tag.', 'type' => 'string', 'example' => '123xxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '{\'foo\': \'bar\'}', + ], + 'IdleInstanceCuller' => [ + 'title' => '', + 'description' => 'The idle shutdown rule for the instance.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'CpuPercentThreshold' => ['description' => 'The CPU utilization threshold, in percent. Valid values: 1 to 100. If the CPU utilization is below this value, the instance is considered idle.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'GpuPercentThreshold' => ['description' => 'The GPU utilization threshold, in percent. Valid values: 1 to 100. This setting applies only to GPU instances. An instance is considered idle only when both its CPU and GPU utilization fall below their respective thresholds.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxIdleTimeInMinutes' => ['description' => 'The maximum idle time threshold, in minutes. If the idle duration exceeds this value, the system automatically stops the DSW instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeInMinutes' => ['description' => 'The current idle duration of the instance, in minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + ], + 'example' => '{"InstanceId":"dsw-05cefd0be2e5a278","CpuPercentThreshold":20,"GpuPercentThreshold":10,"MaxIdleTimeInMinutes":120,"IdleTimeInMinutes":30}', + ], + 'InstanceSnapshotList' => [ + 'title' => '', + 'description' => 'The list of instance snapshots.', + 'type' => 'array', + 'items' => [ + 'description' => 'An instance snapshot.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => ''], + 'ImageName' => ['description' => 'The image name.', 'type' => 'string', 'example' => 'py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => ''], + 'RepositoryUrl' => ['description' => 'The image repository URL.', 'type' => 'string', 'example' => 'https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The time when the snapshot was created.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The time when the snapshot was last modified.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'ReasonCode' => ['description' => 'The error code for the instance snapshot.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ReasonMessage' => ['description' => 'The error message for the instance snapshot.', 'type' => 'string', 'example' => 'ImagePullBackOff', 'title' => ''], + 'Status' => ['description' => 'The status of the instance snapshot.', 'type' => 'string', 'example' => 'Pushing', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '[]', + ], + 'CloudDisks' => [ + 'title' => '', + 'description' => 'The list of cloud disks for the instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'The capacity of the cloud disk.', 'type' => 'string', 'example' => '30Gi', 'title' => ''], + 'SubType' => ['description' => 'The usage of the cloud disk. A value of `rootfs` indicates that the disk is mounted as a root file system.', 'type' => 'string', 'example' => 'rootfs', 'title' => ''], + 'MountPath' => ['description' => 'The mount path of the cloud disk in the container.', 'type' => 'string', 'example' => '/mmt/workspace', 'title' => ''], + 'Path' => ['description' => 'The directory to be mounted in the cloud disk.', 'type' => 'string', 'example' => '/workspace', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '[]', + ], + 'WorkspaceSource' => ['description' => 'The storage pointed to by the workspace. If this parameter is not specified, NAS, CloudDisk, or local disk is used in sequence.', 'type' => 'string', 'example' => 'd-123456789', 'title' => ''], + 'Driver' => ['description' => 'The NVIDIA driver configuration.', 'type' => 'string', 'example' => '535.54.03', 'title' => ''], + 'CredentialConfig' => ['description' => 'The credential injection configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'title' => '', 'example' => ''], + 'Affinity' => [ + 'description' => 'The affinity configuration.', + 'type' => 'object', + 'properties' => [ + 'CPU' => [ + 'description' => 'The CPU affinity configuration. This parameter is supported only for subscription general-purpose computing instances.', + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Specifies whether to enable CPU affinity.'."\n" + ."\n" + .'true: Enabled. false: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ImageAuth' => ['description' => 'The Base64-encoded value of the account and password information for a user\'s private image. The password part will be hidden.', 'type' => 'string', 'title' => '', 'example' => 'aGFyYm9yYWlAeGltYWxheWE6KioqKioq'], + 'Tags' => [ + 'description' => 'Tag list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Tag information.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'tag1', 'title' => ''], + 'TagValue' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'value1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DynamicMount' => ['description' => 'Dynamic mount configuration.', '$ref' => '#/components/schemas/DynamicMount', 'title' => '', 'example' => ''], + 'OversoldType' => ['description' => 'Type of instance idle resources.', 'type' => 'string', 'title' => '', 'example' => ''], + 'OversoldInfo' => ['description' => 'Information about the idle resources that the instance actually uses.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ServiceConfig' => ['description' => 'Configuration information for instance services (such as IDE and Jupyter).', '$ref' => '#/components/schemas/ServiceConfig', 'title' => '', 'example' => ''], + 'TenantId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', ], - 'example' => 'true', - ], - 'Message' => [ - 'title' => '说明', - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => '"XXX"', - ], - 'Code' => [ - 'title' => '状态码', - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* InternalError: All errors, except for parameter validation errors, are internal errors.'."\n" - .'* ValidationError: A parameter validation error.'."\n", - 'type' => 'string', - 'example' => 'ValidationError', - ], - 'Token' => [ - 'title' => 'token', - 'description' => 'The temporary authentication information of the DSW instance.'."\n", - 'type' => 'string', - 'example' => '*******', + 'example' => '', ], + 'MigrationOptions' => ['description' => 'Instance migration options', 'type' => 'object', 'title' => '', 'example' => ''], ], + 'example' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"Token\\": \\"*******\\"\\n}","type":"json"}]', - 'title' => 'GetToken', - ], - 'GetMetrics' => [ - 'summary' => '获取metrics数据', - 'path' => '/api/v2/instance/{InstanceId}/cms/metrics', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"TotalCount\\": 35,\\n \\"Instances\\": [\\n {\\n \\"WorkspaceId\\": \\"40823\\",\\n \\"WorkspaceName\\": \\"training_data\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"InstanceName\\": \\"training_data\\",\\n \\"EcsSpec\\": \\"ecs.c6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceUrl\\": \\"https://dsw-cn-shanghai.data.aliyun.com/notebook.htm?instance=39772#/\\",\\n \\"JupyterlabUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/lab/\\",\\n \\"WebIDEUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/ide/\\",\\n \\"TerminalUrl\\": \\"https://dsw-gateway-cn-shanghai.aliyun.com/dsw-39772/tty/\\",\\n \\"AccumulatedRunningTimeInMs\\": 3600000,\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"UserId\\": \\"1612285282502324\\",\\n \\"UserName\\": \\"Test user\\",\\n \\"Datasets\\": [\\n {\\n \\"DatasetId\\": \\"d-vsqjvsjp4orp5l206u\\",\\n \\"DatasetVersion\\": \\"v1\\",\\n \\"Uri\\": \\"oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/\\",\\n \\"MountPath\\": \\"/mnt/data\\",\\n \\"MountAccess\\": \\"RW\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"fs.oss.download.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.oss.upload.thread.concurrency\\\\\\": \\\\\\"10\\\\\\",\\\\n \\\\\\"fs.jindo.args\\\\\\": \\\\\\"-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink\\\\\\"\\\\n}\\",\\n \\"OptionType\\": \\"FastReadWrite\\",\\n \\"Dynamic\\": false\\n }\\n ],\\n \\"UserVpc\\": {\\n \\"VpcId\\": \\"vpc-xxxxx\\",\\n \\"VSwitchId\\": \\"vsw-xxxxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxxxxx\\",\\n \\"ExtendedCIDRs\\": [\\n \\"192.168.0.1/24\\"\\n ],\\n \\"DefaultRoute\\": \\"eth0 | eth1\\",\\n \\"ForwardInfos\\": [\\n {\\n \\"Enable\\": true,\\n \\"ContainerName\\": \\"dsw-notebook\\",\\n \\"ForwardPort\\": \\"22\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"EipAllocationId\\": \\"eip-25877c70gddh****\\",\\n \\"SSHPublicKey\\": \\"ssh-rsa AAAAB3****************************\\\\n\\",\\n \\"ConnectInfo\\": {\\n \\"Phase\\": \\"Ready\\",\\n \\"Message\\": \\"DNAT and privateZone are both ready.\\",\\n \\"Intranet\\": {\\n \\"Endpoint\\": \\"dsw-notebook-22-urz3u6cnu0uts7ej9r.dsw-5cc6083084818f60.dsw.pai.alibaba.com\\",\\n \\"Port\\": \\"22\\"\\n },\\n \\"Internet\\": {\\n \\"Endpoint\\": \\"47.111.119.114\\",\\n \\"Port\\": \\"22\\"\\n }\\n },\\n \\"Name\\": \\"ssh\\",\\n \\"ExternalPort\\": \\"1024\\",\\n \\"AccessType\\": [\\n \\"intranet\\"\\n ],\\n \\"NlbGatewayId\\": \\"\\"\\n }\\n ],\\n \\"BandwidthLimit\\": {\\n \\"EgressWhitelists\\": [\\n \\"\\"\\n ],\\n \\"IngressRate\\": \\"\\",\\n \\"EgressRate\\": \\"\\",\\n \\"IngressWhitelists\\": [\\n \\"\\"\\n ]\\n },\\n \\"Ip\\": \\"\\"\\n },\\n \\"InstanceShutdownTimer\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"DueTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"RemainingTimeInMs\\": 3600000\\n },\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"PaymentType\\": \\"PayAsYouGo\\",\\n \\"LatestSnapshot\\": {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n },\\n \\"AcceleratorType\\": \\"CPU\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"MAAS\\"\\n },\\n \\"ResourceId\\": \\"dsw-123456789\\",\\n \\"ResourceName\\": \\"resource_group\\",\\n \\"Priority\\": 1,\\n \\"RequestedResource\\": {\\n \\"CPU\\": \\"32\\",\\n \\"Memory\\": \\"32\\",\\n \\"SharedMemory\\": \\"32\\",\\n \\"GPU\\": \\"4\\",\\n \\"GPUType\\": \\"NVIDIA A10\\"\\n },\\n \\"Labels\\": [\\n {\\n \\"Key\\": \\"stsTokenOwner\\",\\n \\"Value\\": \\"123xxxxxxxx\\"\\n }\\n ],\\n \\"IdleInstanceCuller\\": {\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CpuPercentThreshold\\": 20,\\n \\"GpuPercentThreshold\\": 10,\\n \\"MaxIdleTimeInMinutes\\": 60,\\n \\"IdleTimeInMinutes\\": 30\\n },\\n \\"InstanceSnapshotList\\": [\\n {\\n \\"ImageId\\": \\"image-05cefd0be2exxxx\\",\\n \\"ImageName\\": \\"py36_cpu_tf1.12_ubuntu\\",\\n \\"ImageUrl\\": \\"registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu\\",\\n \\"RepositoryUrl\\": \\"https://cr.console.aliyun.com/repository/cn-hangzhou/zouxu/kf/images\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"ReasonCode\\": \\"Internal Error\\",\\n \\"ReasonMessage\\": \\"ImagePullBackOff\\",\\n \\"Status\\": \\"Pushing\\"\\n }\\n ],\\n \\"CloudDisks\\": [\\n {\\n \\"Capacity\\": \\"30Gi\\",\\n \\"SubType\\": \\"rootfs\\",\\n \\"MountPath\\": \\"/mmt/workspace\\",\\n \\"Path\\": \\"/workspace\\"\\n }\\n ],\\n \\"WorkspaceSource\\": \\"d-123456789\\",\\n \\"Driver\\": \\"535.54.03\\",\\n \\"CredentialConfig\\": {\\n \\"Enable\\": true,\\n \\"AliyunEnvRoleKey\\": \\"0\\",\\n \\"Configs\\": [\\n {\\n \\"Key\\": \\"0\\",\\n \\"Type\\": \\"Role\\",\\n \\"Roles\\": [\\n {\\n \\"RoleArn\\": \\"acs:ram::123******:role/****\\",\\n \\"RoleType\\": \\"service\\",\\n \\"AssumeRoleFor\\": \\"123******\\",\\n \\"Policy\\": \\"{}\\",\\n \\"UserInfo\\": {\\n \\"Id\\": \\"456******\\",\\n \\"Type\\": \\"S\\",\\n \\"AccessKeyId\\": \\"LT********\\",\\n \\"SecurityToken\\": \\"********\\"\\n }\\n }\\n ]\\n }\\n ]\\n },\\n \\"Affinity\\": {\\n \\"CPU\\": {\\n \\"Enable\\": true\\n }\\n },\\n \\"ImageAuth\\": \\"aGFyYm9yYWlAeGltYWxheWE6KioqKioq\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"tag1\\",\\n \\"TagValue\\": \\"value1\\"\\n }\\n ],\\n \\"DynamicMount\\": {\\n \\"Enable\\": true,\\n \\"MountPoints\\": [\\n {\\n \\"RootPath\\": \\"/mnt/dynamic/\\",\\n \\"Options\\": \\"{}\\"\\n }\\n ]\\n },\\n \\"OversoldType\\": \\"\\",\\n \\"OversoldInfo\\": \\"\\",\\n \\"ServiceConfig\\": {\\n \\"JupyterServerPassword\\": \\"\\",\\n \\"JupyterServerAuth\\": \\"\\",\\n \\"CodeServerPassword\\": \\"\\",\\n \\"CodeServerAuth\\": \\"\\"\\n },\\n \\"TenantId\\": \\"\\"\\n }\\n ],\\n \\"MigrationOptions\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', + 'title' => 'ListInstances', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'ListSystemLogs' => [ + 'summary' => 'Retrieves system logs. This API is deprecated and should not be used.', + 'path' => '/api/v2/systemlogs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '223121', - 'abilityTreeNodes' => [ - 'FEATURElearnTBR2KU', - ], + 'abilityTreeCode' => '254265', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Namespace', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'acs_pai_dsw', - ], + 'schema' => ['description' => 'The ID of the DSW instance.', 'type' => 'string', 'required' => false, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'InstanceId', - 'in' => 'path', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'dsw-328d2bbf605*****', - ], + 'name' => 'SourceRequestId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the request that has an error.', 'type' => 'string', 'required' => false, 'example' => '473469C7-******5-B3DB-A3DC0DE3C83E', 'title' => ''], ], [ - 'name' => 'Dimensions', + 'name' => 'Offset', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{"userId":"16122852825*****","jobId":"dsw-328d2bbf605*****","regionId":"cn-wulanchabu","pod":"dsw-45680-76766f8778-95gxh"}', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'Length', + 'name' => 'SortBy', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The field to sort the results by. Supported fields:'."\n" + ."\n" + .'- GmtCreateTime'."\n" + ."\n" + .'- GmtModifiedTime', 'type' => 'string', 'required' => false, 'example' => 'GmtCreateTime', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'Order', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T16:00:00Z', - ], + 'schema' => ['description' => 'The sort order.'."\n" + ."\n" + .'- ASC: Ascending'."\n" + ."\n" + .'- DESC: Descending', 'type' => 'string', 'required' => false, 'example' => 'ASC', 'title' => ''], ], [ - 'name' => 'Period', + 'name' => 'LogRepository', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'LogLevel', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****', - ], + 'schema' => ['description' => 'The log level. The supported level is:'."\n" + ."\n" + .'- Error', 'type' => 'string', 'required' => false, 'example' => 'Error', 'title' => ''], ], [ - 'name' => 'MetricName', + 'name' => 'GmtStartTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'INSTANCE_SPEC_MEMORY_SWAP', - ], + 'schema' => ['description' => 'The start time in UTC. Use the ISO 8601 format.', 'type' => 'string', 'format' => 'iso8601_normal', 'required' => false, 'example' => '2020-11-08T16:00:00Z', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'GmtEndTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-08T15:00:00Z', - ], + 'schema' => ['description' => 'The end time in UTC. Use the ISO 8601 format.', 'type' => 'string', 'format' => 'iso8601_normal', 'required' => false, 'example' => '2020-12-08T16:00:00Z', 'title' => ''], + ], + [ + 'name' => 'ProblemCategory', + 'in' => 'query', + 'schema' => ['description' => 'The category of the problem.'."\n" + ."\n" + .'- InstanceStartFailed'."\n" + ."\n" + .'- InstanceTerminating'."\n" + ."\n" + .'- InstanceCreateFailed', 'type' => 'string', 'required' => false, 'example' => 'InstanceStartFailed', 'title' => ''], + ], + [ + 'name' => 'LifecycleId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'The system logs.', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Datapoints' => [ - 'type' => 'string', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Succeed', - ], - 'Period' => [ - 'description' => '', - 'type' => 'string', - 'example' => '60', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'SystemLogs' => [ + 'title' => '', + 'description' => 'A list of system logs.', + 'type' => 'array', + 'items' => [ + 'description' => 'A system log.', + 'type' => 'object', + 'properties' => [ + 'Content' => ['description' => 'The content of the log.', 'type' => 'string', 'example' => 'You are using******', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The creation time of the log in UTC. The format is ISO 8601.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2020-10-08T16:00:00Z'."\n", 'title' => ''], + 'Level' => ['description' => 'The log level.', 'type' => 'string', 'example' => 'Error。', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', ], + 'Offset' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListSystemLogs', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"15761485350009dd70bb64cff1f0fff750b08ffff073be5fb1e785e2b020f1a949d5ea14aea7fed82f01dd8****\\",\\n \\"Success\\": true,\\n \\"Datapoints\\": \\"[{\'timestamp\': 1740452220000, \'jobId\': \'dsw-94ed9f9********\', \'pod\': \'dsw-871***-764fdf******\', \'regionId\': \'cn-hangzhou\', \'userId\': \'1042612********\', \'workspaceId\': \'1445***\', \'Value\': 0.0}]\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Succeed\\",\\n \\"Period\\": \\"60\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SystemLogs\\": [\\n {\\n \\"Content\\": \\"You are using******\\",\\n \\"GmtCreateTime\\": \\"2020-10-08T16:00:00Z\\\\n\\",\\n \\"Level\\": \\"Error。\\"\\n }\\n ],\\n \\"Offset\\": \\"\\"\\n}","type":"json"}]', ], - 'GetUserCommand' => [ - 'summary' => 'Get the user defined command', - 'path' => '/api/v2/usercommands/{UserCommandId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTempFiles' => [ + 'path' => '/api/v2/tempfiles', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], - [ - 'APP' => [], - ], ], - 'consumes' => [], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '273001', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '207258', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'UserCommandId', - 'in' => 'path', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '1900', - ], + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the temporary file.', 'type' => 'string', 'example' => 'filename', 'default' => '', 'title' => '', 'required' => false], + ], + [ + 'name' => 'Prefix', + 'in' => 'query', + 'schema' => ['description' => 'Filters the results to include only files whose names start with the specified prefix.', 'type' => 'string', 'example' => 'somedir/', 'default' => '', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Delimiter', + 'in' => 'query', + 'schema' => ['description' => 'A character used to group file names. All file names that share the same string between the prefix and the first occurrence of the delimiter are grouped into a single CommonPrefixes element.', 'type' => 'string', 'example' => '/', 'default' => '', 'required' => false, 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'default' => '', 'required' => false, 'title' => ''], ], [ - 'name' => 'Token', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The field to use for sorting.', 'type' => 'string', 'example' => 'GmtModifiedTime', 'default' => 'GmtModifiedTime', 'title' => '', 'required' => false], + ], + [ + 'name' => 'Order', + 'in' => 'query', + 'schema' => ['description' => 'The sort order.', 'type' => 'string', 'example' => 'DESC', 'default' => 'ASC', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'UserCommandId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1900', - ], - 'OnStart' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Content' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'apt update', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TotalCount' => ['description' => 'The total number of temporary files.', 'type' => 'integer', 'format' => 'int64', 'example' => '35', 'title' => ''], + 'TempFiles' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'OwnerId' => ['description' => 'The owner ID.', 'type' => 'string', 'example' => '1612285282502324', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + 'Type' => ['description' => 'The file type.', 'type' => 'string', 'example' => 'type', 'title' => ''], + 'GmtCreateTime' => ['description' => 'The creation time of the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtModifiedTime' => ['description' => 'The last modification time of the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'GmtExpiredTime' => ['description' => 'The expiration time of the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => ''], + 'Uuid' => ['description' => 'The temporary file ID.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], + 'Name' => ['description' => 'The name of the temporary file.', 'type' => 'string', 'example' => 'filename', 'title' => ''], + 'Description' => ['description' => 'The description of the temporary file.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'Capacity' => ['description' => 'The storage capacity of the temporary file.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'Status' => ['description' => 'The status of the temporary file.', 'type' => 'string', 'example' => 'Created', 'title' => ''], + 'Prefix' => ['description' => 'The storage path prefix of the temporary file.', 'type' => 'string', 'example' => '/1079135428626537/209170658818096848/', 'title' => ''], + 'Bandwidth' => ['description' => 'The upload bandwidth of the temporary file.', 'type' => 'integer', 'format' => 'int32', 'example' => '10Mi', 'title' => ''], + 'UploadUrl' => ['description' => 'The upload URL for the temporary file.', 'type' => 'string', 'example' => 'http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123154&OSSAccessKeyId&Signature=5ekVo7r+CeeU5oYmCpnmrzrx2IM=', 'title' => ''], + 'DownloadUrl' => ['description' => 'The download URL for the temporary file.', 'type' => 'string', 'example' => 'http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123270&OSSAccessKeyId&Signature=Fn7xSv2kRQraU6UqRZ3+DMzQK14=', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'description' => 'A list of temporary files on the current page.', + 'example' => '', ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'null', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ValidationError', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'BEBDF2EE-642E-5992-8907-D2011A7ACEFE', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'accessDeniedDetail' => [ - 'description' => '', + 'Quota' => [ 'type' => 'object', - 'example' => '"AccessDeniedDetail": {'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "AuthPrincipalOwnerId": "xxx",'."\n" - .' "EncodedDiagnosticMessage": "AQIBIAAAA....bwhg==",'."\n" - .' "AuthPrincipalType": "SubUser",'."\n" - .' "AuthPrincipalDisplayName": "xxx",'."\n" - .' "NoPermissionType": "ImplicitDeny",'."\n" - .' "AuthAction": "ram:GetUserCommand"'."\n" - .' }', + 'properties' => [ + 'UsedFileNum' => ['description' => 'The number of files currently stored.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'TotalFileNum' => ['description' => 'The maximum number of files that can be stored.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'UsedCapacity' => ['description' => 'The amount of storage in use.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total storage capacity.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + ], + 'title' => '', + 'description' => 'Details of the temporary file quota.', + 'example' => '', ], ], + 'title' => '', + 'description' => 'A list of temporary files.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ListTempFiles', + 'summary' => 'List temporary files', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserCommandId\\": \\"1900\\",\\n \\"OnStart\\": {\\n \\"Content\\": \\"apt update\\"\\n },\\n \\"Message\\": \\"null\\",\\n \\"Code\\": \\"ValidationError\\",\\n \\"RequestId\\": \\"BEBDF2EE-642E-5992-8907-D2011A7ACEFE\\",\\n \\"Success\\": true,\\n \\"accessDeniedDetail\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', - ], - 'ListSystemLogs' => [ - 'summary' => '获取系统日志', - 'path' => '/api/v2/systemlogs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paidsw:ListTempFiles', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TotalCount\\": 35,\\n \\"TempFiles\\": [\\n {\\n \\"UserId\\": \\"1612285282502324\\",\\n \\"OwnerId\\": \\"1612285282502324\\",\\n \\"TaskId\\": \\"task-05cexxxxxxxxx\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"Type\\": \\"type\\",\\n \\"GmtCreateTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtModifiedTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"GmtExpiredTime\\": \\"2021-01-12T14:36:01Z\\",\\n \\"Uuid\\": \\"tempfile-05cexxxxxxxxx\\",\\n \\"Name\\": \\"filename\\",\\n \\"Description\\": \\"desc\\",\\n \\"Capacity\\": 1000,\\n \\"Status\\": \\"Created\\",\\n \\"Prefix\\": \\"/1079135428626537/209170658818096848/\\",\\n \\"Bandwidth\\": 0,\\n \\"UploadUrl\\": \\"http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123154&OSSAccessKeyId&Signature=5ekVo7r+CeeU5oYmCpnmrzrx2IM=\\",\\n \\"DownloadUrl\\": \\"http://examplebucket.yourEndpoint/exampledir/exampleobject.txt?Expires=1703123270&OSSAccessKeyId&Signature=Fn7xSv2kRQraU6UqRZ3+DMzQK14=\\"\\n }\\n ],\\n \\"Quota\\": {\\n \\"UsedFileNum\\": 100,\\n \\"TotalFileNum\\": 1000,\\n \\"UsedCapacity\\": 1000,\\n \\"TotalCapacity\\": 1000\\n }\\n}","type":"json"}]', + ], + 'QueryAutoShutdownPolicies' => [ + 'summary' => 'Retrieves the auto shutdown policies for specified running instances.', + 'path' => '/api/v2/batch/autoshutdownpolicies/query', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '254265', - 'abilityTreeNodes' => [ - 'FEATURElearnQHG7ZB', - ], + 'abilityTreeCode' => '254409', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'InstanceIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of a running instance.', 'type' => 'string', 'required' => false, 'example' => 'dsw-msq7tjk9kox7v****3', 'title' => ''], + 'title' => '', + 'description' => 'The IDs of up to 100 DSW instances within the same workspace. This parameter is required for requests that are not made from a share page.', + 'required' => false, + 'example' => '', + ], + ], + 'description' => 'The request parameters.', 'required' => false, - 'example' => 'dsw-730xxxxxxxxxx', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SourceRequestId', + 'name' => 'Token', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '473469C7-******5-B3DB-A3DC0DE3C83E', - ], + 'schema' => ['description' => 'The sharing token.', 'type' => 'string', 'required' => false, 'example' => '*******', 'title' => ''], ], [ - 'name' => 'Offset', + 'name' => 'InstanceId', 'in' => 'query', + 'schema' => ['description' => 'The instance ID for the share page.', 'type' => 'string', 'required' => false, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'string', - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'AutoShutdownPolicies' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The DSW instance ID.', 'type' => 'string', 'title' => '', 'example' => 'dsw-05cefd0be2e5a278'], + 'Conditions' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SourceType' => ['description' => 'The source type of the policy. Examples: `Workspace`, `User`, and `System`.', 'type' => 'string', 'title' => '', 'example' => 'Workspace'], + 'Expression' => ['description' => 'The expression for the active auto shutdown policy condition on the instance.', 'type' => 'string', 'title' => '', 'example' => 'IdleDuration > 1440 min AND CpuUtilization <= 1%'], + 'Context' => ['description' => 'The context for the auto shutdown policy check. The content of the `Context` field varies by policy type. See the scenarios below for details.', 'type' => 'object', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The active auto shutdown policy conditions for the instance.', + 'example' => '', + ], + 'SourceType' => ['description' => 'This field is deprecated.', 'type' => 'string', 'deprecated' => true, 'example' => 'Workspace', 'title' => ''], + 'Expression' => ['description' => 'This field is deprecated.', 'type' => 'string', 'deprecated' => true, 'example' => 'IdleDuration > 1440 min AND CpuUtilization <= 1%', 'title' => ''], + 'Context' => ['description' => 'This field is deprecated.', 'type' => 'object', 'deprecated' => true, 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'A list of auto shutdown policies.', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'The response body.', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'QueryAutoShutdownPolicies', + 'responseParamsDescription' => '### Context field'."\n" + ."\n" + .'The content of the `Context` field varies based on the policy type, as described in the following scenarios.'."\n" + ."\n" + .'#### Scenario 1: Idle duration policy (SourceType = Workspace)'."\n" + ."\n" + .'| Key | Type | Example | Description |'."\n" + .'| ----------------------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| IdleDuration | Integer | 580 | The current idle duration of the instance, in minutes. A value of `-1` indicates the duration is unavailable. |'."\n" + .'| IdleShutdownRemainingSeconds | Long | 1200 | The remaining time in seconds before the instance is automatically shut down due to idleness. This key is returned only when the remaining time is greater than 0. |'."\n" + .'| DelayShutdownCountdownSeconds | Long | 300 | The remaining seconds in the delayed shutdown countdown. This key is returned only when the delayed shutdown feature is active and the countdown is greater than 0. |'."\n" + .'| EnableSkip | Boolean | true | Indicates if the user can skip or close the delayed shutdown countdown dialog. This key is returned only when the delayed shutdown countdown is active. |'."\n" + ."\n" + .'**Example:**'."\n" + ."\n" + .'```json'."\n" + .'{'."\n" + .' "SourceType": "Workspace",'."\n" + .' "Expression": "IdleDuration > 600 min",'."\n" + .' "Context": {'."\n" + .' "IdleDuration": 580,'."\n" + .' "IdleShutdownRemainingSeconds": 1200,'."\n" + .' "DelayShutdownCountdownSeconds": 300,'."\n" + .' "EnableSkip": true'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'#### Scenario 2: Running duration policy (SourceType = Workspace)'."\n" + ."\n" + .'| Key | Type | Example | Description |'."\n" + .'| --------------------- | ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| RunningDuration | Integer | 90 | The current running duration of the instance, in minutes. |'."\n" + .'| RemainingTimeInMillis | Long | 1800000 | The remaining time in milliseconds before the instance reaches its maximum running duration. A value of `-1` indicates that the limit has been exceeded or does not apply. |'."\n" + ."\n" + .'**Example:**'."\n" + ."\n" + .'```json'."\n" + .'{'."\n" + .' "SourceType": "Workspace",'."\n" + .' "Expression": "RunningDuration > 120 min",'."\n" + .' "Context": {'."\n" + .' "RunningDuration": 90,'."\n" + .' "RemainingTimeInMillis": 1800000'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AutoShutdownPolicies\\": [\\n {\\n \\"InstanceId\\": \\"dsw-05cefd0be2e5a278\\",\\n \\"Conditions\\": [\\n {\\n \\"SourceType\\": \\"Workspace\\",\\n \\"Expression\\": \\"IdleDuration > 1440 min AND CpuUtilization <= 1%\\",\\n \\"Context\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n ],\\n \\"SourceType\\": \\"Workspace\\",\\n \\"Expression\\": \\"IdleDuration > 1440 min AND CpuUtilization <= 1%\\",\\n \\"Context\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n ]\\n}","type":"json"}]', + ], + 'StartInstance' => [ + 'path' => '/api/v2/instances/{InstanceId}/start', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '118635', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'SortBy', - 'in' => 'query', + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the instance. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'GmtCreateTime', + 'title' => '', + 'description' => 'The result of the request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. This includes all errors except for parameter validation errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'StartInstance', + 'summary' => 'Starts a DSW instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Order', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ASC', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StartInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'StopInstance' => [ + 'path' => '/api/v2/instances/{InstanceId}/stop', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LogRepository', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '118632', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + ], + 'parameters' => [ [ - 'name' => 'LogLevel', + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The ID of the instance. For information about how to obtain an instance ID, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'SaveImage', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to save the environment before the instance is stopped.'."\n" + ."\n" + .'- true: The environment is saved before the instance is stopped.'."\n" + ."\n" + .'- false: The instance is stopped without saving the environment data.', 'type' => 'boolean', 'example' => 'false', 'default' => 'false', 'title' => '', 'required' => false], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Error', + 'title' => '', + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. Errors other than parameter validation errors are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'title' => 'StopInstance', + 'summary' => 'Stops a DSW instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'GmtStartTime', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'format' => 'iso8601_normal', - 'required' => false, - 'example' => '2020-11-08T16:00:00Z', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StopInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'StopInstances' => [ + 'path' => '/api/v2/batch/instances/stop', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '247825', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], + ], + 'parameters' => [ [ - 'name' => 'GmtEndTime', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', - 'format' => 'iso8601_normal', + 'type' => 'object', + 'properties' => [ + 'InstanceIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance to stop.', 'type' => 'string', 'required' => false, 'example' => '[\'dsw-msq7tjk9kox7v26il3\']', 'title' => ''], + 'required' => true, + 'description' => 'The list of instance IDs to stop.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The request body.', 'required' => false, - 'example' => '2020-12-08T16:00:00Z', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ProblemCategory', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceStartFailed', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948'], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '"XXX"', 'title' => ''], + 'Code' => ['description' => 'The error code for the instance operation.', 'type' => 'string', 'example' => 'PermissionError', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'AccessDeniedDetail' => [ + 'type' => 'object', + 'additionalProperties' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'description' => 'Details about the access denial.', + 'title' => '', + 'example' => '', + ], + 'InstanceIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance that was stopped.', 'type' => 'string', 'example' => '[\'dsw-fcbhy7b9nseilom7fw\']', 'title' => ''], + 'description' => 'The list of IDs for the stopped instances.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'StopInstances', + 'summary' => 'Stops a batch of instances.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'LifecycleId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StopInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responses' => [ - 200 => [ + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"PermissionError\\",\\n \\"HttpStatusCode\\": 200,\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"InstanceIds\\": [\\n \\"[\'dsw-fcbhy7b9nseilom7fw\']\\"\\n ]\\n}","type":"json"}]', + ], + 'UpdateInstance' => [ + 'summary' => 'Updates the properties of a DSW instance.', + 'path' => '/api/v2/instances/{InstanceId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '118636', + 'abilityTreeNodes' => ['FEATURElearnQHG7ZB'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'path', + 'schema' => ['description' => 'The instance ID. For more information, see [ListInstances](~~470439~~).', 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'ECS规格列表', - 'description' => '', + 'title' => '', + 'description' => 'The instance properties to update.', 'type' => 'object', 'properties' => [ - 'SystemLogs' => [ - 'title' => '本分页中请求的实例列表', - 'description' => '', + 'InstanceName' => ['description' => 'The instance name. The name must meet the following requirements:'."\n" + ."\n" + .'- It can contain only letters, digits, and underscores (\\_).'."\n" + ."\n" + .'- It must be no more than 27 characters in length.', 'type' => 'string', 'example' => 'training_data', 'title' => '', 'required' => false], + 'EcsSpec' => ['description' => 'The ECS instance type. For more information, see [ListEcsSpecs](~~470423~~).', 'type' => 'string', 'example' => 'ecs.c6.large', 'title' => '', 'required' => false], + 'ImageId' => ['description' => 'The image ID. For more information, see [ListImages](~~449118~~).', 'type' => 'string', 'example' => 'image-05cefd0be2exxxx', 'title' => '', 'required' => false], + 'ImageUrl' => ['description' => 'The image URL. For more information, see [ListImages](~~449118~~).', 'type' => 'string', 'example' => 'registry.cn-shanghai.aliyuncs.com/pai_product/tensorflow:py36_cpu_tf1.12_ubuntu', 'title' => '', 'required' => false], + 'UserVpc' => [ + 'title' => '', + 'description' => 'The user VPC configuration.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['title' => 'Vpc Id', 'description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxxxx', 'required' => false], + 'VSwitchId' => ['title' => 'VSwitch Id', 'description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxxxx', 'required' => false], + 'SecurityGroupId' => ['title' => 'Security Group Id', 'description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-xxxxxx', 'required' => false], + 'ExtendedCIDRs' => [ + 'description' => 'The extended CIDR blocks.'."\n" + ."\n" + .'- If you do not specify a vSwitch ID, you can leave this parameter empty. The system automatically obtains all CIDR blocks of the VPC.'."\n" + ."\n" + .'- If you specify a vSwitch ID, you must specify this parameter. We recommend that you specify all CIDR blocks of the VPC.', + 'type' => 'array', + 'items' => ['description' => 'The extended CIDR block.', 'type' => 'string', 'required' => false, 'example' => '"172.16.19.0/24","172.16.2.0/24","172.16.12.0/24"', 'title' => ''], + 'required' => false, + 'example' => '["192.168.0.1/24", "192.168.1.1/24"]', + 'title' => '', + ], + 'DefaultRoute' => ['title' => 'Default Route', 'description' => 'The default route. Valid values:'."\n" + ."\n" + .'- eth0: Use the default network interface controller (NIC). The instance accesses the external network through a public gateway.'."\n" + ."\n" + .'- eth1: Use the user\'s elastic network interface (ENI). The instance accesses the external network through a private gateway.', 'type' => 'string', 'example' => 'eth0', 'required' => false], + 'ForwardInfos' => [ + 'title' => 'Forward Infos', + 'description' => 'The instance port mapping configuration.', + 'type' => 'array', + 'items' => ['description' => 'A ForwardInfo object.', '$ref' => '#/components/schemas/ForwardInfo', 'required' => false, 'title' => '', 'example' => ''], + 'required' => false, + 'example' => '', + ], + 'BandwidthLimit' => ['$ref' => '#/components/schemas/BandwidthLimit', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + 'required' => false, + 'example' => '', + ], + 'Accessibility' => [ + 'description' => 'The visibility of the instance.', + 'enumValueTitles' => ['PUBLIC' => 'Visible to all users in the workspace.', 'PRIVATE' => 'Visible only to the instance owner and administrators in the workspace.'], + 'type' => 'string', + 'example' => 'PRIVATE', + 'title' => '', + 'required' => false, + ], + 'Datasets' => [ + 'title' => '', + 'description' => 'The list of datasets.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'A dataset object.', 'type' => 'object', 'properties' => [ - 'Content' => [ - 'title' => '实例规格', - 'description' => '', + 'DatasetId' => ['description' => 'The dataset ID. If the dataset is read-only, you cannot change the access mode to read-write using MountAccess.'."\n" + ."\n" + .'For more information, see [ListDatasets](~~457222~~). You cannot specify this parameter if you specify Uri.', 'type' => 'string', 'required' => false, 'example' => 'd-vsqjvs****rp5l206u', 'title' => ''], + 'DatasetVersion' => ['description' => 'The dataset version. You must specify this parameter together with DatasetId. If you do not specify this parameter, the default value v1 is used.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'v1'], + 'Uri' => ['description' => 'The URI of a directory in Service Catalog for direct mounting. This parameter is mutually exclusive with DatasetId.'."\n" + ."\n" + .'The URI formats for different storage types are as follows:'."\n" + ."\n" + .'- OSS: oss\\://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/'."\n" + ."\n" + .'- NAS: nas\\://29\\*\\*d-b12\\*\\*\\*\\*446.cn-hangzhou.nas.aliyuncs.com/data/path/'."\n" + ."\n" + .'- Extreme NAS: nas\\://29\\*\\*\\*\\*123-y\\*\\*r.cn-hangzhou.extreme.nas.aliyuncs.com/data/path/'."\n" + ."\n" + .'- CPFS: cpfs\\://cpfs-213\\*\\*\\*\\*87.cn-wulanchabu/ptc-292\\*\\*\\*\\*\\*cbb/exp-290\\*\\*\\*\\*\\*\\*\\*\\*03e/data/path/'."\n" + ."\n" + .'- Intelligent Computing CPFS: bmcpfs\\://cpfs-290\\*\\*\\*\\*\\*\\*foflh-vpc-x\\*\\*\\*\\*8r.cn-wulanchabu.cpfs.aliyuncs.com/data/path/', 'type' => 'string', 'example' => 'oss://bucket-name.oss-cn-shanghai-internal.aliyuncs.com/data/path/', 'title' => '', 'required' => false], + 'MountPath' => ['description' => 'The mount path of the dataset.', 'type' => 'string', 'example' => '/mnt/data', 'title' => '', 'required' => false], + 'MountAccess' => [ + 'description' => 'The read and write permissions for the mounted dataset. If the dataset is read-only, you cannot set the permissions to read-write.', + 'enumValueTitles' => ['RW' => 'Read-write', 'RO' => 'Read-only'], 'type' => 'string', - 'example' => 'You are using******', + 'required' => false, + 'enum' => ['RW', 'RO'], + 'title' => '', + 'example' => 'RW', ], - 'GmtCreateTime' => [ - 'title' => '显卡类型', - 'description' => '', - 'type' => 'string', - 'format' => 'iso8601_normal', - 'example' => '2020-10-08T16:00:00Z'."\n", + 'Options' => ['description' => 'The custom properties for mounting the dataset. This parameter is supported only for OSS. You cannot specify OptionType when you use this parameter. For more information, see [DSW mount configurations](~~441724~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '{'."\n" + .' "fs.oss.download.thread.concurrency": "10",'."\n" + .' "fs.oss.upload.thread.concurrency": "10",'."\n" + .' "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"'."\n" + .'}'], + 'OptionType' => ['description' => 'The mount type. You cannot specify Options when you use this parameter. This parameter is deprecated. Use the Options parameter instead.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'ReadOnly', 'title' => ''], + 'Dynamic' => ['description' => 'Specifies whether to enable dynamic mounting. The default value is false.'."\n" + ."\n" + .'- This feature is supported only for instances that use general computing resources.'."\n" + ."\n" + .'- This feature is supported only for OSS datasets. The mounted dataset is in read-only mode.'."\n" + ."\n" + .'- The MountPath of a dynamically mounted dataset must be a subdirectory of the dynamic mount root path. The default root path is /mnt/dynamic/. An example is /mnt/dynamic/data1/.'."\n" + ."\n" + .'- Dynamically mounted datasets must be placed after non-dynamically mounted datasets.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '', + ], + 'DisassociateDatasets' => ['description' => 'Specifies whether to delete the associated datasets.'."\n" + ."\n" + .'- true: Delete the associated datasets.'."\n" + ."\n" + .'- false: Retain the associated datasets.', 'type' => 'boolean', 'example' => 'false', 'title' => '', 'required' => false], + 'DisassociateVpc' => ['description' => 'Specifies whether to delete the associated user VPC.', 'type' => 'boolean', 'example' => 'false', 'title' => '', 'required' => false], + 'DisassociateForwardInfos' => ['description' => 'Specifies whether to delete the associated port forwarding information.', 'type' => 'boolean', 'example' => 'false', 'title' => '', 'required' => false], + 'RequestedResource' => [ + 'title' => '', + 'description' => 'The resource configuration.', + 'type' => 'object', + 'properties' => [ + 'CPU' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '32', 'title' => '', 'required' => false], + 'Memory' => ['description' => 'The memory size in GB.', 'type' => 'string', 'example' => '32', 'title' => '', 'required' => false], + 'SharedMemory' => ['description' => 'The shared memory size in GB.', 'type' => 'string', 'example' => '32', 'title' => '', 'required' => false], + 'GPU' => ['description' => 'The number of GPUs.', 'type' => 'string', 'example' => '4', 'title' => '', 'required' => false], + 'GPUType' => ['description' => 'The GPU card type.', 'type' => 'string', 'example' => 'v100', 'title' => '', 'required' => false], + ], + 'required' => false, + 'example' => '{"CPU":"4","Memory":"8Gi","SharedMemory":"4Gi","GPU":"1","GPUType":"Tesla-V100-16G"}', + ], + 'WorkspaceSource' => ['description' => 'The storage for the working directory. You can mount a disk or a dataset from Datasets to the /mnt/workspace working directory. OSS datasets and dynamically mounted datasets are not supported.'."\n" + ."\n" + .'You can specify one of the following values:'."\n" + ."\n" + .'- rootfsCloudDisk: Mounts the disk to the working directory.'."\n" + ."\n" + .'- The mount path of a dataset in Datasets, such as /mnt/data. For datasets specified by URI, you can only use this method.'."\n" + ."\n" + .'- The ID of a dataset, such as d-vsqjvs\\*\\*\\*\\*rp5l206u. If the same dataset is mounted to multiple paths, the first path is selected. We recommend that you specify the mount path instead of the dataset ID.'."\n" + ."\n" + .'If you leave this parameter empty:'."\n" + ."\n" + .'- If the instance uses a disk, the disk is selected by default.'."\n" + ."\n" + .'- If no disk is used, the first NAS or CPFS dataset is selected as the working directory.'."\n" + ."\n" + .'- If no disk is used and no NAS or CPFS working directory is available, the host storage is used.', 'type' => 'string', 'example' => '/mnt/data', 'title' => '', 'required' => false], + 'UserId' => ['description' => 'The ID of the user who uses the instance.', 'type' => 'string', 'example' => '16122**********', 'title' => '', 'required' => false], + 'CloudDisks' => [ + 'title' => '', + 'description' => 'The list of disks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'If you set **Resource Type** to **Public Resources**, or if you set **Resource Quota** to subscription general computing resources (CPU cores ≥ 2 and memory ≥ 4 GB, or with a GPU configured):'."\n" + ."\n" + .'Each instance includes a 100 GiB free system disk for persistent storage. **If the instance is stopped for more than 15 days, the content on the disk is deleted**. You can scale out the disk. The scale-out price is subject to the price displayed on the console.'."\n" + ."\n" + .'><warning>'."\n" + ."\n" + .'- You cannot scale in a disk after it is scaled out. Scale out the disk as needed.'."\n" + ."\n" + .'- After a disk is scaled out, the entire system disk (free + paid) is no longer subject to the 15-day stop limit. However, fees are continuously generated.'."\n" + ."\n" + .'- When an instance is deleted, the system disk is released at the same time. Back up the necessary data before you delete the instance.'."\n" + ."\n" + .'></warning>'."\n" + ."\n" + .'If you need durable storage, configure **dataset mounting** or add an OSS, NAS, or CPFS path in **Storage Path Mounting**.', 'type' => 'string', 'example' => '100Gi', 'title' => '', 'required' => false], + 'SubType' => ['description' => 'The disk type:'."\n" + ."\n" + .'- rootfs: The disk is mounted as a system disk. The system environment is stored on the disk.', 'type' => 'string', 'example' => 'rootfs', 'title' => '', 'required' => false], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '[]', + ], + 'Priority' => ['description' => 'The priority. When resources are allocated to instances, instances with higher priorities are given precedence. Valid values: 1 to 9.'."\n" + ."\n" + .'- 1 is the lowest priority.'."\n" + ."\n" + .'- 9 is the highest priority.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => '', 'required' => false], + 'Driver' => ['title' => 'Driver for accelerator', 'description' => 'The NVIDIA driver configuration.', 'type' => 'string', 'required' => false, 'example' => '535.54.03'], + 'DisassociateDriver' => ['description' => 'Specifies whether to delete the NVIDIA driver configuration.', 'type' => 'boolean', 'example' => 'false', 'title' => '', 'required' => false], + 'CredentialConfig' => ['description' => 'The credential configuration.', '$ref' => '#/components/schemas/CredentialConfig', 'title' => '', 'required' => false, 'example' => ''], + 'DisassociateCredential' => ['description' => 'Specifies whether to delete the injected credential information.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + 'Affinity' => [ + 'description' => 'The affinity configuration.', + 'type' => 'object', + 'properties' => [ + 'CPU' => [ + 'description' => 'The CPU affinity configuration. This is supported only for subscription general computing instances.', + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Specifies whether to enable CPU affinity.'."\n" + ."\n" + .'- true: Enable.'."\n" + ."\n" + .'- false: Disable.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - 'Level' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Error。', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'ImageAuth' => ['description' => 'The Base64-encoded username and password for the user\'s private image. The password part is hidden.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '****'], + 'DynamicMount' => ['description' => 'The dynamic mount configuration.', '$ref' => '#/components/schemas/DynamicMount', 'required' => false, 'title' => '', 'example' => ''], + 'EnvironmentVariables' => ['description' => 'The environment variables to inject into the DSW instance.'."\n" + ."\n" + .'><warning>'."\n" + ."\n" + .'The environment variables that you specify may overwrite the preset system environment variables.'."\n" + ."\n" + .'></warning>', 'type' => 'object', 'required' => false, 'example' => '{'."\n" + .'"ENABLE_TRAIN": "true",'."\n" + .'"ENABLE_DEBUG":"false",'."\n" + .'"INSTANCE_ENV":"prod"'."\n" + .'}', 'title' => ''], + 'DisassociateEnvironmentVariables' => ['description' => 'Deletes the user-specified environment variables.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'UserCommand' => [ + 'type' => 'object', + 'properties' => [ + 'OnStart' => [ + 'type' => 'object', + 'properties' => [ + 'Content' => ['description' => 'The content of the custom startup command.', 'type' => 'string', 'required' => false, 'example' => 'apt update && echo initialized', 'title' => ''], ], + 'description' => 'A custom command that runs every time the instance starts. It runs after the instance environment is initialized but before services such as JupyterLab and code-server start.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'description' => 'The user-defined execution command.', + 'required' => false, + 'title' => '', + 'example' => '', ], - 'Offset' => [ - 'type' => 'string', + 'DisassociateUserCommand' => ['description' => 'Deletes the user-specified custom command.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'OversoldType' => ['description' => 'The type of idle resources.', 'type' => 'string', 'example' => 'ForceQuotaOverSold: Use only idle resources'."\n" + .'AcceptQuotaOverSold: Accept idle resources'."\n" + .'ForbiddenQuotaOverSold: Use guaranteed resources', 'title' => '', 'required' => false], + 'DisassociateSpot' => ['description' => 'Specifies whether to disable spot instance configuration.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => ''], + 'SpotSpec' => [ + 'type' => 'object', + 'properties' => [ + 'SpotStrategy' => ['description' => 'Preemption policy:• SpotWithPriceLimit: Set a maximum price for preemptible instances.• SpotAsPriceGo: Let the system automatically bid at the current market price.', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => '', 'required' => false], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the spot instance. The price can be accurate up to three decimal places. This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'example' => '0.12', 'title' => '', 'required' => false], + 'SpotDuration' => ['description' => 'The protection period for the spot instance. The default value is 1. You can set it to 0 to disable the protection period. This parameter does not apply to Lingjun instance types.', 'type' => 'string', 'example' => '0', 'title' => '', 'required' => false], + 'SpotDiscountLimit' => ['description' => 'The maximum hourly discount for the spot instance. This parameter is required for Lingjun instance types.', 'type' => 'string', 'example' => '0.1', 'title' => '', 'required' => false], + ], + 'title' => '', + 'required' => false, + 'description' => 'The spot instance configuration.', + 'example' => '', + ], + 'DisassociateAssignNode' => ['description' => 'Specifies whether to disable node assignment scheduling.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => ''], + 'AssignNodeSpec' => [ + 'type' => 'object', + 'properties' => [ + 'NodeNames' => ['description' => 'The names of the nodes to assign, separated by commas.', 'type' => 'string', 'example' => 'node-a', 'title' => '', 'required' => false], + 'AntiAffinityNodeNames' => ['description' => 'The names of the nodes to exclude, separated by commas.', 'type' => 'string', 'example' => 'node-b', 'title' => '', 'required' => false], + ], + 'title' => '', + 'required' => false, + 'description' => 'The node assignment scheduling configuration.', + 'example' => '', ], + 'StartInstance' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'DisassociateMigrationOptions' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'MigrationOptions' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''], ], + 'required' => false, + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'The execution result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'A message that describes the result.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code. Valid values:'."\n" + ."\n" + .'- InternalError: An internal error occurred. All errors, except for parameter validation errors, are classified as internal errors.'."\n" + ."\n" + .'- ValidationError: A parameter validation error occurred.', 'type' => 'string', 'title' => '', 'example' => 'null'], + 'HttpStatusCode' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- 400'."\n" + ."\n" + .'- 404', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => 'null'], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'dsw-730xxxxxxxxxx', 'title' => ''], + ], + 'example' => '', + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SystemLogs\\": [\\n {\\n \\"Content\\": \\"You are using******\\",\\n \\"GmtCreateTime\\": \\"2020-10-08T16:00:00Z\\\\n\\",\\n \\"Level\\": \\"Error。\\"\\n }\\n ],\\n \\"Offset\\": \\"\\"\\n}","type":"json"}]', - ], - 'GetSanityCheckTask' => [ - 'summary' => '查询健康检查任务结果', - 'path' => '/api/v2/sanitychecks/{CheckType}/{TaskId}', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"null\\",\\n \\"HttpStatusCode\\": 0,\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\"\\n}","type":"json"}]', + 'title' => 'UpdateInstance', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstance'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdatePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'UpdateInstanceLabels' => [ + 'summary' => 'Updates the tags of a Data Science Workshop (DSW) instance. If the tags do not exist, the system adds tags.', + 'path' => '/api/v2/instances/{InstanceId}/labels', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '228178', + 'abilityTreeNodes' => ['FEATURElearnRNGD0R'], ], 'parameters' => [ [ - 'name' => 'CheckType', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The request body.'."\n", + 'type' => 'object', + 'properties' => [ + 'Labels' => [ + 'title' => '', + 'description' => 'The tags that you want to update.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The custom tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the custom tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'customLabelKey', 'title' => ''], + 'Value' => ['description' => 'The value of the custom tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'labelValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'example' => '', + ], + ], 'required' => false, - 'example' => 'SSH', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TaskId', + 'name' => 'InstanceId', 'in' => 'path', + 'schema' => ['title' => '', 'description' => 'The ID of the DSW instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dsw-730xxxxxxxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response to the request.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948'], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateInstanceLabels', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstanceLabels'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Verbose', - 'in' => 'query', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdateInstanceLabels', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\"\\n}","type":"json"}]', + ], + 'UpdateTempFile' => [ + 'path' => '/api/v2/tempfiles/{TempFileId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '207261', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], + ], + 'parameters' => [ + [ + 'name' => 'TempFileId', + 'in' => 'path', + 'schema' => ['description' => 'The temporary file ID.', 'type' => 'string', 'required' => true, 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'boolean', + 'type' => 'object', + 'properties' => [ + 'GmtExpiredTime' => ['description' => 'The expiration time for the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => '', 'required' => false], + 'Status' => ['description' => 'The status of the temporary file.', 'type' => 'string', 'example' => 'Created', 'title' => '', 'required' => false], + ], + 'title' => '', + 'description' => 'The properties of the temporary file to update.', 'required' => false, - 'example' => 'true', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '44FB0869-AA85-599D-A09D-C42F7467618A', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'dsw-730xxxxxxxxxx', - ], - 'CheckType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SSH', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Executing', - ], - 'StartTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2020-11-08T15:00:00Z', - ], - 'EndTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2020-11-08T15:00:00Z', - ], - 'Issues' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'example' => '[ "Port 22 is blocked by the security group." , "sshd has not been installed"]', - ], - ], - 'CheckDetails' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'secureGroupCheck', - ], - 'Description' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Check whether the security group allows traffic on port 22', - ], - 'Result' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'passed', - ], - 'Reason' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Port 22 is blocked by the security group', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileId' => ['description' => 'The temporary file ID.', 'type' => 'string', 'example' => 'tempfile-05cexxxxxxxxx', 'title' => ''], ], + 'title' => '', + 'description' => 'The response.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'UpdateTempFile', + 'summary' => 'Updates the properties of a temporary file.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"44FB0869-AA85-599D-A09D-C42F7467618A\\",\\n \\"TaskId\\": \\"917479ff-c869-49ea-908e-ae85bd987bc0\\",\\n \\"InstanceId\\": \\"dsw-730xxxxxxxxxx\\",\\n \\"CheckType\\": \\"SSH\\",\\n \\"Status\\": \\"Executing\\",\\n \\"StartTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"EndTime\\": \\"2020-11-08T15:00:00Z\\",\\n \\"Issues\\": [\\n \\"sshd has not been installed\\\\\\"\\"\\n ],\\n \\"CheckDetails\\": [\\n {\\n \\"Name\\": \\"secureGroupCheck\\",\\n \\"Description\\": \\"Check whether the security group allows traffic on port 22\\",\\n \\"Result\\": \\"passed\\",\\n \\"Reason\\": \\"Port 22 is blocked by the security group\\"\\n }\\n ]\\n}","type":"json"}]', - ], - 'CreateSanityCheckTask' => [ - 'summary' => '创建一个健康检查任务', - 'path' => '/api/v2/sanitychecks/{CheckType}', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdateTempFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileId\\": \\"tempfile-05cexxxxxxxxx\\"\\n}","type":"json"}]', + ], + 'UpdateTempFileTask' => [ + 'path' => '/api/v2/tempfiletasks/{TempFileTaskId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURElearnRNGD0R', - ], + 'abilityTreeCode' => '214813', + 'abilityTreeNodes' => ['FEATURElearn0KXSR7'], ], 'parameters' => [ [ - 'name' => 'CheckType', + 'name' => 'TempFileTaskId', 'in' => 'path', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'SSH', - ], + 'schema' => ['description' => 'The ID of the temporary file task.', 'type' => 'string', 'required' => true, 'example' => 'task-05cexxxxxxxxx', 'title' => ''], ], [ 'name' => 'body', @@ -8222,132 +6326,538 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'dsw-730xxxxxxxxxx'."\n", - ], + 'GmtExpiredTime' => ['description' => 'The expiration time of the temporary file.', 'type' => 'string', 'example' => '2021-01-12T14:36:01Z', 'title' => '', 'required' => false], ], + 'title' => '', + 'description' => 'The properties to update for the temporary file task.', 'required' => false, + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'BEBDF2EE-642E-5992-8907-D2011A7ACEFE'."\n", - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '917479ff-c869-49ea-908e-ae85bd987bc0', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7D55162-4489-1619-AAF5-3F97D5FCA948', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'title' => '', 'example' => '"XXX"'], + 'Code' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => '"200"'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], + 'TempFileTaskId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'task-05cexxxxxxxxx', 'title' => ''], ], + 'title' => '', + 'description' => 'The data returned for the request.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BEBDF2EE-642E-5992-8907-D2011A7ACEFE\\\\n\\",\\n \\"TaskId\\": \\"917479ff-c869-49ea-908e-ae85bd987bc0\\"\\n}","type":"json"}]', + 'title' => 'UpdateTempFileTask', + 'summary' => 'Updates a temporary file task.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdateTempFileTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7D55162-4489-1619-AAF5-3F97D5FCA948\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"\\\\\\"XXX\\\\\\"\\",\\n \\"Code\\": \\"\\\\\\"200\\\\\\"\\",\\n \\"HttpStatusCode\\": 200,\\n \\"TempFileTaskId\\": \\"task-05cexxxxxxxxx\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-chengdu.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-chengdu.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-wulanchabu.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-beijing.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-beijing.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-shanghai.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-shanghai.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-hongkong.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-hongkong.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-shenzhen.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-shenzhen.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-northeast-2.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-northeast-2.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-northeast-1.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-northeast-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-guangzhou.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-guangzhou.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-southeast-1.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-southeast-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-southeast-3.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-southeast-3.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-southeast-5.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-southeast-5.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-southeast-7.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-southeast-7.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.cn-hangzhou.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-hangzhou.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'ap-southeast-8', 'regionName' => 'Malaysia (Johor)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'pai-dsw.ap-southeast-8.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-southeast-8.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-southeast-8.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'pai-dsw.us-east-1.aliyuncs.com', 'endpoint' => 'pai-dsw.us-east-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'pai-dsw.us-southeast-1.aliyuncs.com', 'endpoint' => 'pai-dsw.us-southeast-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.us-southeast-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'pai-dsw.us-west-1.aliyuncs.com', 'endpoint' => 'pai-dsw.us-west-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'pai-dsw.eu-central-1.aliyuncs.com', 'endpoint' => 'pai-dsw.eu-central-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'pai-dsw.me-east-1.aliyuncs.com', 'endpoint' => 'pai-dsw.me-east-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'pai-dsw.me-central-1.aliyuncs.com', 'endpoint' => 'pai-dsw.me-central-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'pai-dsw.ap-south-1.aliyuncs.com', 'endpoint' => 'pai-dsw.ap-south-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'pai-dsw.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'pai-dsw.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'pai-dsw-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [], + 'changeSet' => [ [ - 'regionId' => 'us-west-1', - 'endpoint' => 'pai-dsw.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'pai-dsw.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'pai-dsw.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'pai-dsw.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'pai-dsw.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'pai-dsw.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'pai-dsw.cn-shanghai-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'pai-dsw.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'pai-dsw.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'pai-dsw.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'pai-dsw.ap-northeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'pai-dsw.ap-southeast-7.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'pai-dsw.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'pai-dsw.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'pai-dsw.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'pai-dsw.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'pai-dsw.us-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'pai-dsw.me-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListEcsSpecs'], + ], + 'createdAt' => '2025-04-22T04:21:53.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'pai-dsw.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListInstances'], + ['description' => 'Response parameters changed', 'api' => 'GetInstance'], + ['description' => 'Request parameters changed', 'api' => 'UpdateInstance'], + ['description' => 'Request parameters changed', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2025-04-18T03:13:55.000Z', + 'description' => '', ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'pai-dsw.me-east-1.aliyuncs.com', + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteIdleInstanceCuller'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetIdleInstanceCuller'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceGroupStatistics'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceShutdownTimer'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceEvents'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstanceSnapshot'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceSnapshot'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstanceShutdownTimer'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'], + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceMetrics'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceLabels'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstanceSnapshot'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstanceShutdownTimer'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstanceLabels'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstanceStatistics'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEcsSpecs'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLifecycle'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUserConfig'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateIdleInstanceCuller'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetToken'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceSnapshot'], + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMetrics'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstance'], ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'pai-dsw.us-east-1.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'PaiDswApi', + 'productName' => 'Platform for AI', + 'ramCodes' => ['paidsw'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DeleteInstanceSnapshot', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstanceSnapshot', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateDiagnosis', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StopInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstanceEvents', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateInstanceShutdownTimer', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetLifecycle', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetResourceGroupStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetResourceGroupStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeletePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetSanityCheckTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetSanityCheckTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetIdleInstanceCuller', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetUserConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetUserConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StartInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstanceMetrics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceMetrics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstanceShutdownTimer', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdatePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetToken', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:StopInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstanceSnapshot', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteInstances', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeletePostPaidInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteInstanceShutdownTimer', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceShutdownTimer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteInstanceLabels', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteInstanceLabels', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateInstanceLabels', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paidsw:UpdateInstanceLabels', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteIdleInstanceCuller', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paidsw:DeleteIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateIdleInstanceCuller', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateIdleInstanceCuller', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateInstanceSnapshot', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateInstanceSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryAutoShutdownPolicies', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:QueryAutoShutdownPolicies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSanityCheckTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paidsw:CreateSanityCheckTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstance', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paidsw:GetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PaiDswApi', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'pai-dsw.cn-wulanchabu.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'TempFileTask', 'arn' => 'acs:paidsw:{#regionId}:{#accountId}:'], + ['validationType' => 'always', 'resourceType' => 'TempFileTask', 'arn' => 'acs:paidsw:{#regionId}:{#accountId}:tempfiletask/{#TempFileTaskId}'], ], ], ]; |
