From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/en_us/smc/2019-06-01/api-docs.php | 7384 ++++++++++++++------------------ 1 file changed, 3118 insertions(+), 4266 deletions(-) (limited to 'data/en_us/smc/2019-06-01/api-docs.php') diff --git a/data/en_us/smc/2019-06-01/api-docs.php b/data/en_us/smc/2019-06-01/api-docs.php index 926fc93..3dcf965 100644 --- a/data/en_us/smc/2019-06-01/api-docs.php +++ b/data/en_us/smc/2019-06-01/api-docs.php @@ -1,746 +1,363 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'smc', - 'version' => '2019-06-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'smc', 'version' => '2019-06-01'], 'directories' => [ [ - 'id' => 68530, - 'title' => 'Migration sources', + 'children' => ['DescribeSourceServers', 'ModifySourceServerAttribute', 'DeleteSourceServer'], 'type' => 'directory', - 'children' => [ - 'DescribeSourceServers', - 'ModifySourceServerAttribute', - 'DeleteSourceServer', - ], + 'title' => 'Migration source', ], [ - 'id' => 68534, - 'title' => 'Migration tasks', + 'children' => ['CreateReplicationJob', 'CreateCrossZoneMigrationJob', 'ModifyReplicationJobAttribute', 'StartReplicationJob', 'StopReplicationJob', 'DescribeReplicationJobs', 'CutOverReplicationJob', 'DeleteReplicationJob'], 'type' => 'directory', - 'children' => [ - 'CreateReplicationJob', - 'CreateCrossZoneMigrationJob', - 'ModifyReplicationJobAttribute', - 'StartReplicationJob', - 'StopReplicationJob', - 'DescribeReplicationJobs', - 'CutOverReplicationJob', - 'DeleteReplicationJob', - ], + 'title' => 'Migration task', ], [ - 'id' => 198919, - 'title' => 'Work groups', + 'children' => ['CreateWorkgroup', 'AssociateSourceServers', 'DisassociateSourceServers', 'DescribeWorkgroups', 'ModifyWorkgroupAttribute', 'DeleteWorkgroup'], 'type' => 'directory', - 'children' => [ - 'CreateWorkgroup', - 'AssociateSourceServers', - 'DisassociateSourceServers', - 'DescribeWorkgroups', - 'ModifyWorkgroupAttribute', - 'DeleteWorkgroup', - ], + 'title' => 'Workgroup', ], [ - 'id' => 183898, - 'title' => 'Tag', + 'children' => ['CreateAccessToken', 'DisableAccessToken', 'ListAccessTokens', 'DeleteAccessToken'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'UntagResources', - ], + 'title' => 'Activation code', ], [ - 'id' => 183845, - 'title' => 'Activation code', + 'children' => ['ListTagResources', 'TagResources', 'UntagResources'], + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'CreateAccessToken', - 'DisableAccessToken', - 'ListAccessTokens', - 'DeleteAccessToken', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeSourceServers' => [ - 'summary' => 'Queries the information about one or more source servers.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AssociateSourceServers' => [ + 'summary' => 'To migrate servers as a group, you must first associate the migration sources with that group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '18569', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '240395', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'WorkgroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'j-bp19vlwm0tyigbmj****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The ID of the group.', 'type' => 'string', 'required' => true, 'example' => 'w-bp10geepnj916e3d****'], ], [ - 'name' => 'State', + 'name' => 'SourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The state of the migration source. Valid values:'."\n" - ."\n" - .'* Unavailable: The migration source is inactive, or an error occurs in the migration source.'."\n" - .'* Available: The migration source is active.'."\n" - .'* InUse: The migration source is being migrated.'."\n" - .'* Deleting: The migration source is being deleted from Server Migration Center (SMC).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Available', + 'description' => 'The IDs of the migration sources. You can associate a maximum of 50 migration sources with a group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9'], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'AssociateSourceServers', + 'description' => 'A migration source can be associated with only one group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:AssociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}","type":"json"}]', + ], + 'CreateAccessToken' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '144505', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration source. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:// or https://. It can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSourceServerName', - ], + 'schema' => ['description' => 'The name of the activation code. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character and cannot start with http\\:// or https\\://. The name can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test_name'], ], [ - 'name' => 'PageNumber', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Minimum value: 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The description of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '这是导入迁移源激活码'], ], [ - 'name' => 'PageSize', + 'name' => 'Count', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The maximum number of times that the activation code can be used to register migration sources. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 100.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10'], ], [ - 'name' => 'SourceId', + 'name' => 'TimeToLiveInDays', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The validity period of the activation code, in days. The activation code cannot be used to register new instances after it expires. Valid values: 1 to 90.'."\n" + ."\n" + .'Default value: 30.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '30'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The migration source ID. You can specify multiple IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The migration source ID. You can specify multiple IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', + 'description' => 'Response parameters', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****'], + 'AccessTokenCode' => ['description' => 'The activation code. The code is returned only when you call this operation and cannot be queried later. Make sure that you properly save the code.', 'type' => 'string', 'title' => '', 'example' => 'B57QoTXEA2Tytr0uZWoNY5Aju5Jt****'], + 'AccessTokenId' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], + ], + 'title' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'CreateAccessToken', + 'summary' => 'Creates an activation code.', + 'description' => 'If you need an activation code to import a migration source, call this operation to create one.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccessToken'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\",\\n \\"AccessTokenCode\\": \\"B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\",\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\"\\n}","type":"json"}]', + ], + 'CreateCrossZoneMigrationJob' => [ + 'summary' => 'Server Migration Center (SMC) lets you migrate an Alibaba Cloud Elastic Compute Service (ECS) instance to a different zone within the same region and change its instance type, including the vCPU and memory, within the same instance family. This feature helps you meet business requirements for instance migration and specification changes. Call this operation to create a cross-zone migration job.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ResourceGroupId', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149399', + 'abilityTreeNodes' => ['FEATUREsmcL35UBA'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmw3ty5y7****', - ], + 'schema' => ['description' => 'The ID of the destination Alibaba Cloud region.'."\n" + ."\n" + .'For example, if you want to migrate a source server to the China (Hangzhou) region, the region ID is `cn-hangzhou`. You can call [DescribeRegions](~~25609~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Tag', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that is attached to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You cannot specify an empty string as a tag key. The tag key can be up to 64 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N that is attached to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You can specify an empty string as a tag key. The tag value can be up to 64 characters in length and cannot contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a unique value for this parameter from your client. \\`ClientToken\\` can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'RelatedJobType', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1ff25rzvnul6kr****'], + ], + [ + 'name' => 'TargetVSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the destination vSwitch.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1mxqnssl8nafltc****'], + ], + [ + 'name' => 'TargetZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the destination zone.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-i'], + ], + [ + 'name' => 'TargetInstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The destination instance type.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.g7.large'], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'- **true**: (Default) Enables automatic payment. Make sure that your account has a sufficient balance.'."\n" + ."\n" + .'- **false**: Disables automatic payment. In this case, you must manually complete the payment. For more information, see [Manually renew a subscription instance](~~85052~~).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + ], + [ + 'name' => 'Disk', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of migration job that is associated with the migration source.'."\n", + 'description' => 'The disk information.', 'type' => 'array', 'items' => [ - 'description' => 'The type of migration job that is associated with the migration source. Valid values:'."\n" - ."\n" - .'* Not_Related: No migration job is associated with the migration source.'."\n" - .'* Server: server migration job.'."\n" - .'* Os: operating system migration job.'."\n" - .'* Cross_Zone: cross-zone migration job.'."\n" - .'* VMWare: job to migrate VMware VMs without agents.'."\n" - .'* Desktop: desktop migration job.'."\n", - 'type' => 'string', + 'description' => 'A disk object.', + 'type' => 'object', + 'properties' => [ + 'DiskId' => ['description' => 'The disk ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd-bp1eeplkn4j29wf7****'], + 'Category' => ['description' => 'The disk category. \\`cloud\\_essd\\` indicates an Enhanced SSD (ESSD).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cloud_essd'], + 'PerformanceLevel' => ['description' => 'The performance level of the ESSD. Valid values:'."\n" + ."\n" + .'- PL0: A single disk can deliver up to 10,000 random read/write IOPS.'."\n" + ."\n" + .'- PL1: A single disk can deliver up to 50,000 random read/write IOPS.'."\n" + ."\n" + .'- PL2: A single disk can deliver up to 100,000 random read/write IOPS.'."\n" + ."\n" + .'- PL3: A single disk can deliver up to 1,000,000 random read/write IOPS.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PL0'], + ], 'required' => false, - 'example' => 'Server', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'WorkgroupId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The workgroup ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'w-bp1ja22kdqphehlj****', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The collection of information.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'SourceServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SourceServer' => [ - 'description' => 'The information about the migration source.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the migration source.'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the migration source was created.'."\n", - 'type' => 'string', - 'example' => '2019-06-27T02:58:09Z', - ], - 'HeartbeatRate' => [ - 'description' => 'The interval at which heartbeats are sent from the SMC client. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'State' => [ - 'description' => 'The state of the migration source.'."\n", - 'type' => 'string', - 'example' => 'InUse', - ], - 'DataDisks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisk' => [ - 'description' => 'The data disks on the migration source.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data disks on the migration source.'."\n", - 'type' => 'object', - 'properties' => [ - 'Index' => [ - 'description' => 'The index number of the data disk.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Size' => [ - 'description' => 'The size of data disk N. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Parts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Part' => [ - 'description' => 'The information about the data disk partition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", - 'type' => 'object', - 'properties' => [ - 'CanBlock' => [ - 'description' => 'Indicates whether block replication is enabled for the data disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SizeBytes' => [ - 'description' => 'The size of the data disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480', - ], - 'Need' => [ - 'description' => 'Indicates whether the data disk partition must be selected.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Device' => [ - 'description' => 'The device ID of the data disk partition.'."\n", - 'type' => 'string', - 'example' => '1_0', - ], - 'Path' => [ - 'description' => 'The path of the data disk partition.'."\n", - 'type' => 'string', - 'example' => '/home/data', - ], - ], - ], - ], - ], - ], - 'Path' => [ - 'description' => 'The path of data disk N.'."\n", - 'type' => 'string', - 'example' => '/home/data', - ], - ], - ], - ], - ], - ], - 'SystemDiskParts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SystemDiskPart' => [ - 'description' => 'The information about the system disk partition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the system disk partition.'."\n", - 'type' => 'object', - 'properties' => [ - 'CanBlock' => [ - 'description' => 'Indicates whether block replication is enabled for the system disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SizeBytes' => [ - 'description' => 'The size of the system disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '254803968', - ], - 'Need' => [ - 'description' => 'Indicates whether the system disk partition must be selected.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The device ID of the system disk partition.'."\n", - 'type' => 'string', - 'example' => '0_0', - ], - 'Path' => [ - 'description' => 'The path of the system disk partition.'."\n", - 'type' => 'string', - 'example' => '/boot', - ], - ], - ], - ], - ], - ], - 'KernelLevel' => [ - 'description' => 'The kernel level of the migration source.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SourceId' => [ - 'description' => 'The ID of the migration source.'."\n", - 'type' => 'string', - 'example' => 's-bp1e2fsl57knvuug****', - ], - 'AgentVersion' => [ - 'description' => 'The version number of the SMC client.'."\n", - 'type' => 'string', - 'example' => '1.5.2.3', - ], - 'StatusInfo' => [ - 'description' => 'The status information of the migration source. This parameter is returned if the migration source is in the Unavailable state. The value of this parameter consists of key-value pairs in the JSON format. Sample keys:'."\n" - ."\n" - .' error_code: The error code.'."\n" - .' error_msg: the error message.'."\n", - 'type' => 'string', - 'example' => '{"error_code": "S1", "error_msg": "Rsync not found. Please install rsync."}', - ], - 'SystemDiskSize' => [ - 'description' => 'The system disk size of the migration source. Unit: GiB'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'Description' => [ - 'description' => 'The description of the migration source.'."\n", - 'type' => 'string', - 'example' => 'Server Source Imported By GotoAliyun.', - ], - 'ErrorCode' => [ - 'description' => 'The error code of the migration source.'."\n", - 'type' => 'string', - 'example' => 'SourceServer.Offline', - ], - 'JobId' => [ - 'description' => 'The ID of the last migration job.'."\n", - 'type' => 'string', - 'example' => 'j-bp19vlwm0tyigbmj****', - ], - 'Platform' => [ - 'description' => 'The operating system of the migration source.'."\n", - 'type' => 'string', - 'example' => 'OpenSUSE', - ], - 'ReplicationDriver' => [ - 'description' => 'The replication driver used for migration. Default value: SMT.'."\n", - 'type' => 'string', - 'example' => 'SMT', - ], - 'Name' => [ - 'description' => 'The name of the migration source.'."\n", - 'type' => 'string', - 'example' => 'SourceServerName', - ], - 'SystemInfo' => [ - 'description' => 'The system information of the migration source. The parameter must be specified as key-value pairs in the JSON format. The key-value pairs are extensible and have fixed keys. Maximum value: 1 KB. Example:'."\n" - ."\n" - .' agent_mode: the running mode.'."\n" - .' agent_type: the type of the run.'."\n" - .' client_type: the type of the client.'."\n" - .' hostname : the hostname.'."\n" - .' ipv4:IPv4 address'."\n" - .' ipv6: IPv6 address'."\n" - .' cores: the number of CPU cores.'."\n" - .' cpu_usage: the CPU utilization.'."\n" - .' memory: the memory size.'."\n" - .' memory_usage: the memory usage.'."\n", - 'type' => 'string', - 'example' => '{\\"agent_mode\\":\\"daemon\\",\\"agent_type\\":\\"aliyun\\",\\"client_type\\":\\"\\",\\"cores\\":\\"2\\",\\"cpu_usage\\":\\"0.00\\",\\"hostname\\":\\"ixxxxxxxxxx\\",\\"ipv4\\":\\"10.0.0.1\\",\\"memory\\":\\"8.00\\",\\"memory_usage\\":\\"3.61\\"}', - ], - 'Architecture' => [ - 'description' => 'The system architecture of the migration source.'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmw3ty5y7****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tag details.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that is attached to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You cannot specify an empty string as a tag key. The tag key can be up to 64 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N that is attached to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key can be an empty string. The tag value can be up to 64 characters in length and cannot contain http:// or https://.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - 'Disks' => [ - 'description' => 'The information about the disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'System' => [ - 'description' => 'The information about the system disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'Size' => [ - 'description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The parameter value must be greater than the actual used space of the data disk on the source server. For example, if the size of the source disk is 500 GiB but the actual used space is 100 GiB, you must set this parameter to a value greater than 100 GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Offset' => [ - 'description' => 'The start offset of the first partition of the system disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - 'Parts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Part' => [ - 'description' => 'The information about the system disk partition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The partition information.'."\n", - 'type' => 'object', - 'properties' => [ - 'CanBlock' => [ - 'description' => 'Indicates whether block replication is enabled for the system disk partition. Valid values:'."\n" - ."\n" - .'* true: Block replication is enabled for the system disk partition.'."\n" - .'* false: Block replication is disabled for the system disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SizeBytes' => [ - 'description' => 'The size of the system disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480', - ], - 'Path' => [ - 'description' => 'The path of the system disk partition.'."\n", - 'type' => 'string', - 'example' => '/home/data', - ], - 'Type' => [ - 'description' => 'The type of the system disk partition. Valid values:'."\n" - ."\n" - .'* Normal: normal partition.'."\n" - .'* System: system partition.'."\n" - .'* Boot: boot partition.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - ], - ], - ], - ], - ], - ], - 'required' => false, - ], - 'Data' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Data' => [ - 'description' => 'The list of data disk information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the data disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'Size' => [ - 'description' => 'The data disk size of the migration source. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Offset' => [ - 'description' => 'The start offset of the first partition of the data disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - 'Parts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Part' => [ - 'description' => 'The information about the data disk partition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", - 'type' => 'object', - 'properties' => [ - 'CanBlock' => [ - 'description' => 'Whether block replication is enabled for the data disk partition. Valid values:'."\n" - ."\n" - .'* true: Block replication is enabled for the data disk partition.'."\n" - .'* false: Block replication is disabled for the data disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SizeBytes' => [ - 'description' => 'The size of the data disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480', - ], - 'Path' => [ - 'description' => 'The path of the data disk partition.'."\n", - 'type' => 'string', - 'example' => '/home/data', - ], - 'Type' => [ - 'description' => 'The type of the data disk partition. Valid values:'."\n" - ."\n" - .'* Normal: normal partition.'."\n" - .'* System: system partition.'."\n" - .'* Boot: boot partition.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'WorkgroupId' => [ - 'description' => 'The workgroup ID.'."\n", - 'type' => 'string', - 'example' => 'w-bp1ja22kdqphehlj****', - ], - ], - ], - ], - ], - ], - 'TotalCount' => [ - 'description' => 'The total number of migration sources returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'A9DBD2F8-DE5A-5844-BA6F-957A996CBD78'], + 'JobId' => ['description' => 'The migration job ID.', 'type' => 'string', 'title' => '', 'example' => 'j-bp17bclvg344jlyt****'], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ReplicationJobDataDiskIndex.Invalid', 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], + ['errorCode' => 'VSwitchIdVpcId.Mismatch', 'errorMessage' => 'The specified VSwitchId and VpcId does not match.', 'description' => 'The specified VSwitchId and VpcId does not match.'], + ['errorCode' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'errorMessage' => 'The network type of the specified security group does not support this action.', 'description' => 'The network type of the specified security group does not support this action.'], + ['errorCode' => 'InvalidSecurityGroupId.VPCMismatch', 'errorMessage' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'description' => 'The specified security group and the specified virtual switch are not in the same VPC.'], + ['errorCode' => 'QuotaExceeded.ReplicationJob', 'errorMessage' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', 'description' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.'], + ['errorCode' => 'ReplicationJobName.Duplicate', 'errorMessage' => 'The specified replication job name already exists.', 'description' => 'The specified replication job name already exists.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], + ], 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', 'description' => 'The account does not have the operation permission, please assign the account AliyunServiceRoleForSMC role.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'CreateCrossZoneMigrationJob', + 'description' => 'For more information about the limits and effects of cross-zone migration, see [Cross-zone migration](~~476797~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCrossZoneMigrationJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateCrossZoneMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SourceServers\\": {\\n \\"SourceServer\\": [\\n {\\n \\"CreationTime\\": \\"2019-06-27T02:58:09Z\\",\\n \\"HeartbeatRate\\": 30,\\n \\"State\\": \\"InUse\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"Index\\": 1,\\n \\"Size\\": 20,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Need\\": false,\\n \\"Device\\": \\"1_0\\",\\n \\"Path\\": \\"/home/data\\"\\n }\\n ]\\n },\\n \\"Path\\": \\"/home/data\\"\\n }\\n ]\\n },\\n \\"SystemDiskParts\\": {\\n \\"SystemDiskPart\\": [\\n {\\n \\"CanBlock\\": true,\\n \\"SizeBytes\\": 254803968,\\n \\"Need\\": true,\\n \\"Device\\": \\"0_0\\",\\n \\"Path\\": \\"/boot\\"\\n }\\n ]\\n },\\n \\"KernelLevel\\": 1,\\n \\"SourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"AgentVersion\\": \\"1.5.2.3\\",\\n \\"StatusInfo\\": \\"{\\\\\\"error_code\\\\\\": \\\\\\"S1\\\\\\", \\\\\\"error_msg\\\\\\": \\\\\\"Rsync not found. Please install rsync.\\\\\\"}\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"Server Source Imported By GotoAliyun.\\",\\n \\"ErrorCode\\": \\"SourceServer.Offline\\",\\n \\"JobId\\": \\"j-bp19vlwm0tyigbmj****\\",\\n \\"Platform\\": \\"OpenSUSE\\",\\n \\"ReplicationDriver\\": \\"SMT\\",\\n \\"Name\\": \\"SourceServerName\\",\\n \\"SystemInfo\\": \\"{\\\\\\\\\\\\\\"agent_mode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"daemon\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"agent_type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aliyun\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"client_type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cores\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpu_usage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0.00\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hostname\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ixxxxxxxxxx\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ipv4\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"10.0.0.1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.00\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory_usage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"3.61\\\\\\\\\\\\\\"}\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"ResourceGroupId\\": \\"rg-acfmw3ty5y7****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Disks\\": {\\n \\"System\\": {\\n \\"Size\\": 100,\\n \\"Offset\\": 1024,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Path\\": \\"/home/data\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ]\\n }\\n },\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Size\\": 80,\\n \\"Offset\\": 1024,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Path\\": \\"/home/data\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"WorkgroupId\\": \\"w-bp1ja22kdqphehlj****\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n \\n 2019-06-27T02:58:09Z\\n 30\\n InUse\\n \\n 1\\n 20\\n \\n false\\n 21474836480\\n false\\n 1_0\\n /home/data\\n \\n /home/data\\n \\n \\n true\\n 254803968\\n true\\n 0_0\\n /boot\\n \\n 1\\n s-bp1e2fsl57knvuug****\\n 1.5.2.3\\n {\\"error_code\\": \\"S1\\", \\"error_msg\\": \\"Rsync not found. Please install rsync.\\"}\\n 40\\n Server Source Imported By GotoAliyun.\\n SourceServer.Offline\\n j-bp19vlwm0tyigbmj****\\n OpenSUSE\\n SMT\\n SourceServerName\\n {\\\\\\"agent_mode\\\\\\":\\\\\\"daemon\\\\\\",\\\\\\"agent_type\\\\\\":\\\\\\"aliyun\\\\\\",\\\\\\"client_type\\\\\\":\\\\\\"\\\\\\",\\\\\\"cores\\\\\\":\\\\\\"2\\\\\\",\\\\\\"cpu_usage\\\\\\":\\\\\\"0.00\\\\\\",\\\\\\"hostname\\\\\\":\\\\\\"ixxxxxxxxxx\\\\\\",\\\\\\"ipv4\\\\\\":\\\\\\"10.0.0.1\\\\\\",\\\\\\"memory\\\\\\":\\\\\\"8.00\\\\\\",\\\\\\"memory_usage\\\\\\":\\\\\\"3.61\\\\\\"}\\n x86_64\\n rg-acfmw3ty5y7****\\n \\n TestKey\\n TestValue\\n \\n \\n 1\\n 10\\n 410E6073-66D0-45D3-AB3E-4DC3F5E4****\\n 1\\n","errorExample":""}]', - 'title' => 'DescribeSourceServers', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'You can specify multiple request parameters to filter instances. Specified parameters have logical AND relations. Only the specified parameters are used as filter conditions.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A9DBD2F8-DE5A-5844-BA6F-957A996CBD78\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","type":"json"}]', ], - 'ModifySourceServerAttribute' => [ - 'summary' => 'Modifies the name and description of a migration source.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateReplicationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -749,620 +366,282 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18573', - 'abilityTreeNodes' => [ - 'FEATUREsmcBBDD6M', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '18560', + 'abilityTreeNodes' => ['FEATUREsmcBBDD6M'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SourceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration source ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 's-bp17m1vi6x20c6g6****', - ], + 'schema' => ['description' => 'The ID of the destination Alibaba Cloud region.'."\n" + ."\n" + .'For example, if you want to migrate a source server to the China (Hangzhou) region, set this parameter to `cn-hangzhou`. You can call the [DescribeRegions](~~25609~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a string of up to 64 ASCII characters and assign it to this parameter. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration source. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSourceServerName', - ], + 'schema' => ['description' => 'The name of the migration task. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be unique.'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the migration source. The description can be up to 256 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This is a source server.', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'The description of the migration task.'."\n" + ."\n" + .'The description must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This_is_a_migration_task'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SourceServerName.Duplicate', - 'errorMessage' => 'The specified source server name already exists. Please modify the source server name.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + [ + 'name' => 'SourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', - 'title' => 'ModifySourceServerAttribute', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can call this operation regardless of the status of the migration source.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteSourceServer' => [ - 'summary' => 'Deletes a migration source.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the migration target. Valid values:'."\n" + ."\n" + .'- Image: SMC generates an Alibaba Cloud image from the migration source.'."\n" + ."\n" + .'- ContainerImage: SMC generates a Docker container image from the migration source.'."\n" + ."\n" + .'- TargetInstance: SMC migrates the source server to a destination instance. If you set this parameter to TargetInstance, you must also specify the `InstanceId` parameter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Image'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '18563', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', + [ + 'name' => 'ScheduledStartTime', + 'in' => 'query', + 'schema' => ['description' => 'The time when you want to start the migration task. The time must meet the following requirements:'."\n" + ."\n" + .'- The time must follow the ISO 8601 standard and be in UTC. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" + ."\n" + .'- The time must be later than the current time and within 30 days.'."\n" + ."\n" + .'> If you leave this parameter empty, the migration task is not automatically started. You must call the [StartReplicationJob](~~121823~~) operation to start the task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], ], - ], - 'parameters' => [ [ - 'name' => 'SourceId', + 'name' => 'ValidTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration source ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 's-bp17m1vi6x20c6g6****', - ], + 'schema' => ['description' => 'The time when the migration task expires. The value must be between 7 and 90 days after the task is created.'."\n" + ."\n" + .'- The time must follow the ISO 8601 standard and be in UTC. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" + ."\n" + .'- If you leave this parameter empty, the task does not expire.'."\n" + ."\n" + .'- After a task expires, it is marked as \\`Expired\\`. Expired tasks are retained for 7 days and then automatically deleted.'."\n" + ."\n" + .'Default value: 30 days after the task is created.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], ], [ - 'name' => 'Force', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly delete the migration source. Valid values:'."\n" - ."\n" - .'* true: forcibly deletes the migration source and the migration job created for the migration source, and releases the intermediate resources of the migration job.'."\n" - .'* false: does not delete the migration source if a migration job is created for the migration source.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the destination Alibaba Cloud image. The name must meet the following requirements:'."\n" + ."\n" + .'- The image name must be unique in the same Alibaba Cloud region.'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> If an image with the same name already exists in the current region when the migration task is running, the system adds the migration task ID (JobId) to the image name as a suffix. For example: \\`ImageName\\_j-2zexxxxxxxxxxxxx\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testAliCloudImageName'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SourceServer.WithRunningReplicationJob', - 'errorMessage' => 'The specified source server has related replication jobs that are running.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ReplicationJob.Related', - 'errorMessage' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.', - ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => ['description' => 'The system disk size of the destination Elastic Compute Service (ECS) instance. Unit: GiB. Valid values: 20 to 2048.'."\n" + ."\n" + .'> The value must be greater than the used space of the source system disk. For example, if the source system disk is 500 GiB and 100 GiB of space is used, set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC that is configured with an Express Connect circuit or a VPN Gateway.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-bp1vwnn14rqpyiczj****'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteSourceServer', - 'description' => '## Usage notes'."\n" - ."\n" - .'* If a migration job is created for the migration source and the migration job is in the Running state, the migration source cannot be deleted.'."\n" - .'* If a migration job is created for the migration source but the migration job is not in the Running state, you can set the `Force` parameter to true to delete the migration source.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateReplicationJob' => [ - 'summary' => 'Creates a migration job for a source server.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '18560', - 'abilityTreeNodes' => [ - 'FEATUREsmcBBDD6M', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud region to which you want to migrate the source server.'."\n" - ."\n" - .'For example, if you want to migrate the source server to the China (Hangzhou) region, set this parameter to `cn-hangzhou`. You can call the [DescribeRegions](~~25609~~) operation to query the latest regions.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration job. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique.'."\n" - .'* The name must be 2 to 128 characters in length, and can contain digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter, but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testMigrationTaskName', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the migration job.'."\n" - ."\n" - .'The description must be 2 to 128 characters in length, and can contain digits, colons (:), underscores (\\_), and hyphens (-). The description must start with a letter, but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This_is_a_migration_task', - ], - ], - [ - 'name' => 'SourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the source server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 's-bp1e2fsl57knvuug****', - ], - ], - [ - 'name' => 'TargetType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of destination to which you want to migrate the source server. Valid values:'."\n" - ."\n" - .'* Image: After the migration job is complete, SMC generates an Elastic Compute Service (ECS) image for the source server.'."\n" - .'* ContainerImage: After the migration job is complete, SMC generates a Docker container image for the source server.'."\n" - .'* TargetInstance: After the migration job is completed, SMC migrates the source server to the destination instance. If you set this parameter to TargetInstance, you must set the `InstanceId` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Image', - ], - ], - [ - 'name' => 'ScheduledStartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time when you want to run the migration job. The time must meet the following requirements:'."\n" - ."\n" - .'* The time must be specified in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" - .'* The value must be within 30 days after the current time.'."\n" - ."\n" - .'> If you do not specify this parameter, you must manually start the migration job after the job is created. You can call the [StartReplicationJob](~~121823~~) operation to start the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-06-04T13:35:00Z', - ], - ], - [ - 'name' => 'ValidTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the migration job expires. You can schedule the migration job to expire 7 to 90 days after the job is created.'."\n" - ."\n" - .'* The time must be specified in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" - .'* If you do not specify this parameter, the migration job does not expire.'."\n" - .'* After a migration job expires, the job state changes to Expired. SMC retains the migration job for seven days after the job expires. After the job is retained for seven days, SMC deletes the migration job.'."\n" - ."\n" - .'By default, a migration job is valid for 30 days after it is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-06-04T13:35:00Z', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the destination image. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique within an Alibaba Cloud region.'."\n" - .'* The name must be 2 to 128 characters in length, and can contain digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter, but cannot start with `http://` or `https://`.'."\n" - ."\n" - .'> If you specify an image name that already exists in the destination region, the migration job ID is appended to the image name as a suffix. Example: ImageName_j-2zexxxxxxxxxxxxx.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testAliCloudImageName', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1f1dvfto1sigz5****', - ], - ], - [ - 'name' => 'SystemDiskSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The system disk size of the destination ECS instance. Unit: GiB. Valid values: 20 to 2048.'."\n" - ."\n" - .'> The value must be greater than the used space of the system disk on the source server. For example, if the total size of the source disk is 500 GiB and the used space is 100 GiB, the value of this parameter must be greater than 100 GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - ], - [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a VPC for which you have configured an Express Connect circuit or a VPN gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch in the specified VPC.'."\n" - ."\n" - .'You must set this parameter if you use a VPC to migrate data.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1ddbrxdlrcbim46****', - ], + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the virtual switch in the specified VPC.'."\n" + ."\n" + .'This parameter is required for migrations over a VPC internal network.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], ], [ 'name' => 'ReplicationParameters', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the replication driver. The parameters must be specified as key-value pairs in the JSON format. The keys are fixed for each type of replication driver. The JSON string can be up to 2,048 characters in length.'."\n" - ."\n" - .'A replication driver is a tool that is used to migrate a source server to an intermediate instance. The parameters vary based on the replication driver type. If you use a Server Migration Tool (SMT) driver, you can specify the following parameters:'."\n" - ."\n" - .'* bandwidth_limit: the maximum bandwidth for data transmission.'."\n" - .'* compress_level: the compression ratio of data to be transmitted.'."\n" - .'* checksum: specifies whether to enable checksum verification.'."\n" - ."\n" - .'For more information about replication drivers, see the response parameter `SourceServers.ReplicationDriver` of the [DescribeSourceServers](~~121818~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"bandwidth_limit":0,"compress_level":1,"checksum":true}', - ], + 'schema' => ['description' => 'The parameters for the replication driver. The parameters are a JSON key-value pair. The keys are fixed. The value can be up to 2,048 characters in length.'."\n" + ."\n" + .'The replication driver is the tool used to copy data from the source server to the intermediate instance. The supported parameters vary based on the replication driver. The SMT replication driver supports the following parameters:'."\n" + ."\n" + .'- bandwidth\\_limit: The bandwidth limit for data transmission.'."\n" + ."\n" + .'- compress\\_level: The compression ratio for data transmission.'."\n" + ."\n" + .'- checksum: Specifies whether to enable checksum verification.'."\n" + ."\n" + .'To obtain the value of the replication driver, see the `SourceServers.ReplicationDriver` response parameter in [DescribeSourceServers](~~121818~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"bandwidth_limit":0,"compress_level":1,"checksum":true}'], ], [ 'name' => 'NetMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The network mode for data transmission. Valid values:'."\n" - ."\n" - .'* 0: Data is transmitted over the Internet. Make sure that the source server can access the Internet.'."\n" - .'* 2: Data is transmitted over a VPC. If you specify this value, you must specify the VSwitchId parameter. You do not need to specify the VpcId parameter because the value of the VpcId parameter can be retrieved based on the value of the VSwitchId parameter.'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The network mode for data transmission. Valid values:'."\n" + ."\n" + .'- 0: Internet. Data is transmitted over the Internet. The source server must be able to access the Internet.'."\n" + ."\n" + .'- 2: Internal network. If you select this mode, you must set the VSwitchId parameter. The VpcId parameter is optional because the service can automatically query the VPC ID.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], [ 'name' => 'RunOnce', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable incremental migration for the source server. Valid values:'."\n" - ."\n" - .'* true: creates a migration job that runs only once. This is the default value. Incremental data of the source server is not synchronized.'."\n" - .'* false: creates an incremental migration job. In this case, you must specify the `Frequency` parameter. SMC synchronizes incremental data of the source server to Alibaba Cloud at the specified frequency. You can use an incremental migration job to synchronize incremental data from the source server to Alibaba Cloud without the need to interrupt your business. A full data image is generated for the source server when the job is running.'."\n" - ."\n" - .'> You can specify this parameter only when you create a migration job. The parameter value cannot be changed after the migration job is created.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to create a one-time migration task or an incremental migration task. Valid values:'."\n" + ."\n" + .'- true (default): One-time migration task. The task is executed only once after it is created.'."\n" + ."\n" + .'- false: Incremental migration task. After the task is created, it is automatically executed at the interval specified by the `Frequency` parameter. An incremental migration task lets you synchronize incremental data from a source server to Alibaba Cloud without interrupting your services and generate a full data image of the source server at the time the task is running.'."\n" + ."\n" + .'> You can specify this parameter only when you create a migration task. You cannot change the value after the task is created.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'Frequency', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which SMC synchronizes incremental data to Alibaba Cloud. Unit: hour. Valid values: 1 to 168.'."\n" - ."\n" - .'This parameter is required if you set the `RunOnce` parameter to false.'."\n" - ."\n" - .'By default, this parameter is empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The interval at which an incremental migration task is run. Unit: hours. Valid values: 1 to 168.'."\n" + ."\n" + .'This parameter is required if you set the `RunOnce` parameter to \\`false\\`.'."\n" + ."\n" + .'Default value: None.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '12'], ], [ 'name' => 'MaxNumberOfImageToKeep', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of images retained for the incremental migration job. Valid values: 1 to 10.'."\n" - ."\n" - .'This parameter is required if you set the `RunOnce` parameter to false.'."\n" - ."\n" - .'By default, this parameter is empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The maximum number of images to retain for an incremental migration task. Valid values: 1 to 10.'."\n" + ."\n" + .'This parameter is required if you set the `RunOnce` parameter to \\`false\\`.'."\n" + ."\n" + .'Default value: None.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the intermediate instance.'."\n" - ."\n" - .'You can call the [DescribeInstanceTypes](~~25620~~) operation to obtain the ECS instance types.'."\n" - ."\n" - .'* If you specify this parameter, SMC creates an intermediate instance of the specified instance type. If the specified instance type is unavailable, you cannot create the migration job.'."\n" - .'* If you do not specify this parameter, SMC selects an available instance type in a specific order to create an intermediate instance. For more information, see [SMC FAQ](~~121707~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6.large', - ], + 'schema' => ['description' => 'The instance type of the intermediate instance.'."\n" + ."\n" + .'You can call the [DescribeInstanceTypes](~~25620~~) operation to query the instance types provided by ECS.'."\n" + ."\n" + .'- If you specify this parameter, the system creates an intermediate instance of the specified instance type. If the specified instance type is out of stock, the migration task fails to be created.'."\n" + ."\n" + .'- If you do not specify this parameter, the system selects an instance type in a specific order to create the intermediate instance. For more information, see the "What instance types are used for intermediate instances?" section in [SMC FAQ](~~121707~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.c6.large'], ], [ 'name' => 'LaunchTemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-bp16jovvln1cgaaq****', - ], + 'schema' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'lt-bp16jovvln1cgaaq****'], ], [ 'name' => 'LaunchTemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The version of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '1'], ], [ 'name' => 'InstanceRamRole', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Resource Access Management (RAM) role that is assigned to the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SMCAdmin', - ], + 'schema' => ['description' => 'The name of the RAM role for the instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'SMCAdmin'], ], [ 'name' => 'ContainerNamespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testNamespace', - ], + 'schema' => ['description' => 'The namespace of the Docker container. For more information, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testNamespace'], ], [ 'name' => 'ContainerRepository', 'in' => 'query', - 'schema' => [ - 'description' => 'The repository that stores the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testRepository', - ], + 'schema' => ['description' => 'The image repository for the Docker container. For more information, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testRepository'], ], [ 'name' => 'ContainerTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS:v1', - ], + 'schema' => ['description' => 'The image tag for the Docker container. For more information, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'CentOS:v1'], ], [ 'name' => 'LicenseType', 'in' => 'query', - 'schema' => [ - 'description' => 'The license type. Valid values:'."\n" - ."\n" - .'* An empty value specifies no license.'."\n" - .'* A value of BYOL specifies Bring Your Own License (BYOL).'."\n" - ."\n" - .'For more information, see [SMC FAQ](~~121707~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BYOL', - ], + 'schema' => ['description' => 'The license type. Valid values:'."\n" + ."\n" + .'- Leave this parameter empty to indicate no license.'."\n" + ."\n" + .'- BYOL: Bring Your Own License (BYOL).'."\n" + ."\n" + .'For more information, see [SMC FAQ](~~121707~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'BYOL'], ], [ 'name' => 'DataDisk', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The list of data disks.', 'type' => 'array', 'items' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The list of data disks.', 'type' => 'object', 'properties' => [ - 'Index' => [ - 'description' => 'The index of data disk N on the destination ECS instance. Data disks on a destination ECS instance are arranged in a sequential order that starts from 1. Valid values: 1 to 16.'."\n" - ."\n" - .'> To create a destination data disk for a source server, make sure that the source server has data disks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'Index' => ['description' => 'The sequence number of the data disk on the destination ECS instance. The sequence starts from 1. Valid values: 1 to 16.'."\n" + ."\n" + .'> You can create a destination data disk only for a data disk that exists on the migration source.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], 'Part' => [ - 'description' => 'The data disk partitions.'."\n", + 'description' => 'The list of partitions.', 'type' => 'array', 'items' => [ - 'description' => 'Partition information of data disk.', + 'description' => 'The list of partitions.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of partition N in the destination data disk. Unit: bytes. The default value is equal to the corresponding partition size of the source data disk.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* The total size of all partitions in a destination data disk cannot exceed the size of the destination data disk.'."\n" - ."\n" - .'* You must set both the `DataDisk.N.Part.N.Device` and DataDisk.N.Part.N.SizeBytes parameters or leave both parameters empty.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Specifies whether to enable block replication for partition N in the destination data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The device ID of partition N in the destination data disk. The partitions in the destination data disk are arranged in the same sequential order as those in the source data disk.'."\n" - ."\n" - .'> You must set both the DataDisk.N.Part.N.Device and `DataDisk.N.Part.N.SizeBytes` parameters or leave both parameters empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0_1', - ], + 'SizeBytes' => ['description' => 'The size of partition N on data disk N. Unit: bytes. Default value: the size of the source data disk partition.'."\n" + ."\n" + .'> - The partition size cannot exceed the data disk size. The total size of all partitions on a data disk cannot exceed the data disk size.'."\n" + ."\n" + .'- This parameter cannot be empty if `DataDisk.N.Part.N.Device` is not empty.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Specifies whether to enable block replication for partition N on data disk N. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: \\`true\\`.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of partition N on data disk N. The value of N must be the same as the value of N in the device ID of the source partition.'."\n" + ."\n" + .'> This parameter cannot be empty if `DataDisk.N.Part.N.SizeBytes` is not empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '0_1'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 32, + 'title' => '', + 'example' => '', ], - 'Size' => [ - 'description' => 'The size of the data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The size of a destination data disk must be larger than the size of data in the source data disk. For example, if the size of the source data disk is 500 GiB and the used space is 100 GiB, you must set this parameter to a value greater than 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'Size' => ['description' => 'The size of the data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" + ."\n" + .'> The value must be greater than the used space of the source data disk. For example, if the source data disk is 500 GiB and 100 GiB of space is used, set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '100'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ @@ -1370,33 +649,27 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags list.', + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag for the migration job. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of the tag for the migration job. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of tag N for the migration task. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. It can be up to 128 characters in length. It cannot start with `aliyun`, `acs:`, `http://`, or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N for the migration task. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. It can be up to 128 characters in length. It cannot start with `aliyun`, `acs:`, `http://`, or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -1404,327 +677,244 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about system disk partitions.'."\n", + 'description' => 'The information about the system disk partitions.', 'type' => 'array', 'items' => [ - 'description' => 'Partition information of system disk.', + 'description' => 'The list of system disk partitions.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the partition N in the destination system disk. Unit: bytes. The default value is equal to the partition size of the source system disk.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* The total size of all partitions in the destination system disk cannot exceed the size of the destination system disk.'."\n" - ."\n" - .'* You must set both the `SystemDiskPart.N.Device` and SystemDiskPart.N.SizeBytes parameters or leave both parameters empty.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Specifies whether to enable block replication for partition N in the destination system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The ID of partition N in the destination system disk. The partitions in the destination system disk are arranged in the same sequential order as those in the source system disk.'."\n" - ."\n" - .'> You must set both the SystemDiskPart.N.Device and `SystemDiskPart.N.SizeBytes` parameters or leave both parameters empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0_1', - ], + 'SizeBytes' => ['description' => 'The size of system disk partition N. Unit: bytes. Default value: the size of the source system disk partition.'."\n" + ."\n" + .'> - The partition size cannot exceed the system disk size. The total size of all partitions on the system disk cannot exceed the system disk size.'."\n" + ."\n" + .'- This parameter cannot be empty if `SystemDiskPart.N.Device` is not empty.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Specifies whether to enable block replication for system disk partition N. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: \\`true\\`.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of system disk partition N. The value of N must be the same as the value of N in the device ID of the source partition.'."\n" + ."\n" + .'> This parameter cannot be empty if `SystemDiskPart.N.SizeBytes` is not empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '0_1'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 32, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'JobType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the migration job. Valid values:'."\n" - ."\n" - .'* 0: server migration.'."\n" - .'* 1: operating system migration.'."\n" - .'* 2: cross-zone migration.'."\n" - .'* 3: agentless migration for a VMware VM.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The type of the migration task. Valid values:'."\n" + ."\n" + .'- 0: Server migration.'."\n" + ."\n" + .'- 1: Operating system migration.'."\n" + ."\n" + .'- 2: Cross-zone migration.'."\n" + ."\n" + .'- 3: Agentless migration for VMware.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmw3ty5y7****', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ 'name' => 'Disks', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The information about the disk.'."\n", + 'description' => 'The disk information.', 'type' => 'object', 'properties' => [ 'System' => [ - 'description' => 'The information about the system disk.'."\n", + 'description' => 'The system disk information.', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The parameter value must be greater than the actual used space of the data disk on the source server. For example, if the size of the source disk is 500 GiB but the actual used space is 100 GiB, you must set this parameter to a value greater than 100 GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'LVM' => [ - 'description' => 'Specifies whether to use LVM. Valid values:'."\n" - ."\n" - .'* true: Use LVM.'."\n" - .'* false: Not use LVM.'."\n" - ."\n" - .'LVM is not supported:'."\n" - ."\n" - .'* If your source server runs Windows, LVM is not supported.'."\n" - .'* The system disk does not have a boot partition, and LVM is not supported.'."\n" - ."\n" - .'After LVM is enabled, this feature does not take effect in the following scenarios:'."\n" - ."\n" - .'* LVM2 is not supported on your source server and the software package is not installed.'."\n" - .'* Your source server runs Debian with a kernel version of 3.x or earlier and XFS file systems are mounted.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'Size' => ['description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" + ."\n" + .'> The value must be greater than the used space of the source system disk. For example, if the source system disk is 500 GiB and 100 GiB of space is used, set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '100'], + 'LVM' => ['description' => 'Specifies whether to use Logical Volume Management (LVM). Valid values:'."\n" + ."\n" + .'- true: Use LVM.'."\n" + ."\n" + .'- false: Do not use LVM.'."\n" + ."\n" + .'LVM is not supported in the following scenarios:'."\n" + ."\n" + .'- The source server runs a Windows operating system.'."\n" + ."\n" + .'- The system disk does not have a boot partition.'."\n" + ."\n" + .'If you enable LVM, the feature does not take effect in the following scenarios:'."\n" + ."\n" + .'- The source server does not support lvm2 or does not have the lvm2 package installed.'."\n" + ."\n" + .'- The source server runs a Debian operating system with a kernel version of 3.x or earlier and has a disk with an XFS file system mounted.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], 'Part' => [ - 'description' => 'The information about the system disk partition.'."\n", + 'description' => 'The information about the system disk partitions.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the system disk partition.'."\n", + 'description' => 'The information about the system disk partitions.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the system disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Specifies whether block replication is enabled for the system disk partition.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Path' => [ - 'description' => 'The path of the system disk partition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/boot', - ], + 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Specifies whether to enable block replication for the system disk partition.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Path' => ['description' => 'The path of the system disk partition.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/boot'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'Data' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'description' => 'The size of the data disk of the migration source. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LVM' => [ - 'description' => 'Specifies whether the data disk uses LVM. Valid values:'."\n" - ."\n" - .'* true: Use LVM.'."\n" - .'* false: Not use LVM.'."\n", - 'type' => 'boolean', - 'required' => false, - ], - 'DiskId' => [ - 'description' => 'The ID of the data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-2ze8hyowhdgd6ou2m5z6', - ], + 'Size' => ['description' => 'The size of the source data disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], + 'LVM' => ['description' => 'Specifies whether to use LVM for the data disk. Valid values:'."\n" + ."\n" + .'- true: Use LVM.'."\n" + ."\n" + .'- false: Do not use LVM.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], + 'DiskId' => ['description' => 'The ID of the data disk.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd-2ze8hyowhdgd6ou2m5z6'], 'Part' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the data disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '21474836480', - ], - 'Block' => [ - 'description' => 'Whether block replication is enabled for the data disk partition. Valid values:'."\n" - ."\n" - .'* true: Block replication is enabled for the data disk partition.'."\n" - .'* false: Block replication is disabled for the data disk partition.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Path' => [ - 'description' => 'The path of the data disk partition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home/date', - ], + 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '21474836480'], + 'Block' => ['description' => 'Specifies whether to enable block replication for the data disk partition. Valid values:'."\n" + ."\n" + .'- true: Enable block replication for the data disk partition.'."\n" + ."\n" + .'- false: Disable block replication for the data disk partition.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Path' => ['description' => 'The path of the data disk partition.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/home/date'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information of parameters that is returned.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', - ], - 'JobId' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'example' => 'j-bp17bclvg344jlyt****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9'], + 'JobId' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'j-bp17bclvg344jlyt****'], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ReplicationJobDataDiskIndex.Invalid', - 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', - ], - [ - 'errorCode' => 'VSwitchIdVpcId.Mismatch', - 'errorMessage' => 'The specified VSwitchId and VpcId does not match.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.IncorrectNetworkType', - 'errorMessage' => 'The network type of the specified security group does not support this action.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.VPCMismatch', - 'errorMessage' => 'The specified security group and the specified virtual switch are not in the same VPC.', - ], - [ - 'errorCode' => 'QuotaExceeded.ReplicationJob', - 'errorMessage' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'ReplicationJobName.Duplicate', - 'errorMessage' => 'The specified replication job name already exists.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ImageName.UsedByReplicationJob', - 'errorMessage' => 'The specified imageName: "%s" was used by another replication job in the current region.', - ], - [ - 'errorCode' => 'InvalidOsMigrationType.NotMatched', - 'errorMessage' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.', - ], + ['errorCode' => 'ReplicationJobDataDiskIndex.Invalid', 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], + ['errorCode' => 'VSwitchIdVpcId.Mismatch', 'errorMessage' => 'The specified VSwitchId and VpcId does not match.', 'description' => 'The specified VSwitchId and VpcId does not match.'], + ['errorCode' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'errorMessage' => 'The network type of the specified security group does not support this action.', 'description' => 'The network type of the specified security group does not support this action.'], + ['errorCode' => 'InvalidSecurityGroupId.VPCMismatch', 'errorMessage' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'description' => 'The specified security group and the specified virtual switch are not in the same VPC.'], + ['errorCode' => 'QuotaExceeded.ReplicationJob', 'errorMessage' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', 'description' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.'], + ['errorCode' => 'ReplicationJobName.Duplicate', 'errorMessage' => 'The specified replication job name already exists.', 'description' => 'The specified replication job name already exists.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ImageName.UsedByReplicationJob', 'errorMessage' => 'The specified imageName: "%s" was used by another replication job in the current region.', 'description' => 'The specified imageName: "%s" was used by another replication job in the current region.'], + ['errorCode' => 'InvalidOsMigrationType.NotMatched', 'errorMessage' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.', 'description' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.'], ], 403 => [ - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', - ], - [ - 'errorCode' => 'RealNameAuthenticationError', - 'errorMessage' => 'You must perform real-name verification for your account.', - ], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', 'description' => 'The account does not have the operation permission, please assign the account AliyunServiceRoleForSMC role.'], + ['errorCode' => 'RealNameAuthenticationError', 'errorMessage' => 'You must perform real-name verification for your account.', 'description' => 'The account does not have real-name authentication. Please perform real-name authentication first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n j-bp17bclvg344jlyt****\\n","errorExample":""}]', 'title' => 'CreateReplicationJob', - 'description' => '## Usage notes'."\n" + 'summary' => 'Creates a migration task for a source server.', + 'description' => '## Description'."\n" + ."\n" + .'- You can create migration tasks only for source servers that are in the Available state.'."\n" ."\n" - .'* You can create migration jobs only for source servers that are in the Available state.'."\n" - .'* Each source server can be associated with only one migration job that is in the Ready, Running, Stopped, Waiting, InError, or Expired state.'."\n" - .'* You can create a maximum of 1,000 migration jobs within each Alibaba Cloud account.'."\n" - .'* If you migrate a source server to an image, you must specify the ImageName, SystemDiskSize, and DataDisk parameters.'."\n" - .'* If you use a virtual private cloud (VPC) to migrate data, the VSwitchId parameter is required and the VpcId parameter is optional.'."\n" - .'* Server Migration Center (SMC) allows you to migrate source servers to Docker container images. This allows you to migrate containerized applications in a cost-effective way.'."\n", + .'- A source server can be associated with only one migration task in an incomplete state, such as Ready, Running, Stopped, Waiting, InError, or Expired.'."\n" + ."\n" + .'- Each Alibaba Cloud account can create up to 1,000 migration tasks.'."\n" + ."\n" + .'- If the migration target is an image, the ImageName, SystemDiskSize, and DataDisk parameters are required.'."\n" + ."\n" + .'- For migrations over a VPC internal network, the VSwitchId parameter is required and the VpcId parameter is optional.'."\n" + ."\n" + .'- You can migrate a source server to a Docker container image for low-cost application containerization.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateCrossZoneMigrationJob' => [ - 'summary' => 'Server Migration Center (SMC) allows you to migrate Alibaba Cloud ECS instances across zones in the same region. You can also change the instance type (vCPU and memory) within the same instance family to meet your business requirements. You can use this API to create a cross-zone migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/*'], + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","type":"json"}]', + ], + 'CreateWorkgroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1736,862 +926,1035 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '149399', - 'abilityTreeNodes' => [ - 'FEATUREsmcL35UBA', - ], + 'abilityTreeCode' => '240381', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination Alibaba Cloud region.'."\n" - ."\n" - .'For example, if you want to migrate the source server to the China (Hangzhou) region, set this parameter to `cn-hangzhou`. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotency of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1ff25rzvnul6kr****', - ], - ], - [ - 'name' => 'TargetVSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID of the destination Elastic Compute Service (ECS) instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1mxqnssl8nafltcx32e', - ], - ], - [ - 'name' => 'TargetZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination zone.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-i', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'A token to ensure the idempotence of the request. Generate a value from your client that contains up to 64 ASCII characters. This ensures that retried requests are idempotent. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'TargetInstanceType', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the new instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g7.large', - ], + 'schema' => ['description' => 'The name of the workgroup. The name must meet the following requirements:'."\n" + ."\n" + .'- The workgroup name must be unique.'."\n" + ."\n" + .'- The name must be 2 to 64 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testWorkgroupName'], ], [ - 'name' => 'AutoPay', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" - ."\n" - .'* **true** (default): enables automatic payment. Make sure that you have sufficient balance within your account.'."\n" - .'* **false**: disables automatic payment. In this case, you must manually pay for the instance. For more information, see [Renew a subscription instance](~~85052~~).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The description of the workgroup. It must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], [ - 'name' => 'Disk', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The disk list.'."\n", + 'description' => 'An array of tags. The array can contain 1 to 20 tags. If the array contains multiple tags, the value of \\`Key\\` for each tag must be unique.', 'type' => 'array', 'items' => [ - 'description' => 'The disk list.'."\n", + 'description' => 'A tag object.', 'type' => 'object', 'properties' => [ - 'DiskId' => [ - 'description' => 'The disk ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-bp1eeplkn4j29wf7irpb', - ], - 'Category' => [ - 'description' => 'The disk category. A value of cloud_essd indicates enhanced SSD (ESSD).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_essd', - ], - 'PerformanceLevel' => [ - 'description' => 'The performance level of the ESSD. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'Key' => ['description' => 'The tag key. It can be up to 128 characters in length and cannot be an empty string. The key cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The tag value. It can be up to 128 characters in length and can be an empty string. The value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, + 'title' => '', ], 'required' => false, - 'maxItems' => 101, - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmw3ty5y7****', + 'maxItems' => 21, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information of parameters that is returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A9DBD2F8-DE5A-5844-BA6F-957A996CBD78', - ], - 'JobId' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'example' => 'j-bp17bclvg344jlyt****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9'], + 'WorkgroupId' => ['title' => 'Id of the request', 'description' => 'The ID of the workgroup.', 'type' => 'string', 'example' => 'w-bp10geepnj916e3d****'], ], ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ReplicationJobDataDiskIndex.Invalid', - 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', - ], - [ - 'errorCode' => 'VSwitchIdVpcId.Mismatch', - 'errorMessage' => 'The specified VSwitchId and VpcId does not match.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.IncorrectNetworkType', - 'errorMessage' => 'The network type of the specified security group does not support this action.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.VPCMismatch', - 'errorMessage' => 'The specified security group and the specified virtual switch are not in the same VPC.', - ], - [ - 'errorCode' => 'QuotaExceeded.ReplicationJob', - 'errorMessage' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'ReplicationJobName.Duplicate', - 'errorMessage' => 'The specified replication job name already exists.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - ], 403 => [ - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', - ], + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateWorkgroup', + 'summary' => 'Workgroups are used to manage the lifecycle of multiple migration tasks in batch server migration scenarios.', + 'description' => '- Each Alibaba Cloud account can have up to 50 workgroups.'."\n" + ."\n" + .'- A single workgroup can be associated with up to 50 migration sources.'."\n" + ."\n" + .'- A migration source can be associated with only one workgroup.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A9DBD2F8-DE5A-5844-BA6F-957A996CBD78\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","type":"json"}]', - 'title' => 'CreateCrossZoneMigrationJob', - 'description' => 'For more information about the limits and impacts of cross-zone migration, see [Cross-zone ECS instance migration](~~476797~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"WorkgroupId\\": \\"w-bp10geepnj916e3d****\\"\\n}","type":"json"}]', ], - 'ModifyReplicationJobAttribute' => [ - 'summary' => 'Modifies the parameters of a migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CutOverReplicationJob' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '18572', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeCode' => '18561', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bp19vlwm0tyigbmj****', - ], + 'schema' => ['description' => 'The ID of the incremental migration job.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp1fnx5y3djc4cop****'], ], [ - 'name' => 'Name', + 'name' => 'SyncData', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration job. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique.'."\n" - .'* The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testMigrationTaskName', - ], + 'schema' => ['description' => 'Specifies whether to perform a final full data migration. Valid values:'."\n" + ."\n" + .'- true: Performs a final full data migration.'."\n" + ."\n" + .'- false: Does not perform a final full data migration.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], - [ - 'name' => 'Description', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The description of the migration job.'."\n" - ."\n" - .'The description must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This_is_my_migration_task', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'title' => '', ], ], - [ - 'name' => 'TargetType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of destination to which the source server is migrated. You can modify the value only before the migration job starts. Valid values:'."\n" - ."\n" - .'* Image: After the migration job is complete, Server Migration Center (SMC) generates a destination Elastic Compute Service (ECS) image for the source server. You can use the image to create an ECS instance.'."\n" - .'* ContainerImage: After the migration job is complete, SMC generates a container image for the source server. You can use the container image in Container Registry.'."\n" - .'* TargetInstance: After the migration job is complete, SMC migrates the source server to the destination instance. If you set this parameter to TargetInstance, you must set the `InstanceId` parameter.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* The value of this parameter is not case-sensitive.'."\n" - ."\n" - .'* SMC does not allow you to migrate Windows servers or servers that run operating systems on the ARM architecture to Container Registry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Image', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ReplicationJob.InvalidBusinessStatus', 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'CutOverReplicationJob', + 'summary' => 'Stops the periodic execution of a specified incremental migration job and completes the migration.', + 'description' => '## Description'."\n" + ."\n" + .'- The incremental migration job must be in the Waiting state.'."\n" + ."\n" + .'- When you call this operation, the incremental migration job stops running periodically. The SyncData parameter determines the next action. If SyncData is `false`, no more data is migrated. If `SyncData` is `true`, a final full data migration is performed. The job is then completed after the intermediate resources are automatically released.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:CutOverReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteAccessToken' => [ + 'summary' => 'Deletes an activation code.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScheduledStartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the migration job is executed. SMC starts the migration job at the specified time.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. For example, 2018-01-01T12:00:00Z indicates 20:00:00 on January 1, 2018 (UTC+8).'."\n" - ."\n" - .'> If ScheduledStartTime is left empty, SMC does not automatically start the migration job. In this case, you must call the [StartReplicationJob](~~121823~~) operation to start the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-06-04T13:35:00Z', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '144985', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + ], + 'parameters' => [ [ - 'name' => 'ImageName', + 'name' => 'AccessTokenId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the destination image. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique within an Alibaba Cloud region.'."\n" - .'* The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.'."\n" - ."\n" - .'> If an image whose name is the same as that of the destination image already exists in the current region when the migration job is in progress, the system adds the migration job ID to the end of the image name by default. Example: ImageName-JobId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testAliCloudImageName', + 'description' => 'The ID of the request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****'], + ], + 'title' => '', ], ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The destination instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1f1dvfto1sigz5****', + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'DeleteAccessToken', + 'description' => 'You can delete an activation code when it is no longer needed for importing migration sources or has expired.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\"\\n}","type":"json"}]', + ], + 'DeleteReplicationJob' => [ + 'summary' => 'You can call DeleteReplicationJob to delete a migration job.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SystemDiskSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The system disk size of the destination ECS instance. Unit: GiB. Valid values: 20 to 500.'."\n" - ."\n" - .'> The size of a destination data disk must be greater than the size of data in the source data disk. For example, if the source data disk has 500 GiB of storage space and 100 GiB of data, you must set this parameter to a value greater than 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '18562', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], + ], + 'parameters' => [ [ - 'name' => 'Frequency', + 'name' => 'JobId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the migration job.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp17m1vi6x21qhqk****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The interval at which an incremental migration job runs. Unit: hour. Valid values: 1 to 168.'."\n" - ."\n" - .'This parameter is required if you set the `RunOnce` parameter to false.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + 'title' => '', ], ], - [ - 'name' => 'MaxNumberOfImageToKeep', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of images that are retained for an incremental migration job. Valid values: 1 to 10.'."\n" - ."\n" - .'This parameter is required if you set the `RunOnce` parameter to false.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'DeleteReplicationJob', + 'description' => '## Description'."\n" + ."\n" + .'- You cannot recover a migration job after it is deleted.'."\n" + ."\n" + .'- When you delete a migration job, related resources such as intermediate instances are automatically released.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteSourceServer' => [ + 'summary' => 'You can call the DeleteSourceServer operation to delete a migration source.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceType', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '18563', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + ], + 'parameters' => [ + [ + 'name' => 'SourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the intermediate instance.'."\n" - ."\n" - .'You can call the [DescribeInstanceTypes](~~25620~~) operation to query the ECS instance types.'."\n" - ."\n" - .'* If you specify this parameter, SMC creates an intermediate instance of the specified instance type. If the specified instance type is unavailable, you cannot create the migration job.'."\n" - .'* If you do not specify this parameter, SMC selects an available instance type in a specific order to create an intermediate instance. For more information,'."\n" - ."\n" - .'see the "How does SMC create an intermediate instance?" section of the "FAQ" topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.large', - ], + 'schema' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 's-bp17m1vi6x20c6g6****'], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'Force', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to force delete the migration source.'."\n" + ."\n" + .'- true: Force deletes the migration source, its associated migration tasks, and the intermediate resources for the tasks.'."\n" + ."\n" + .'- false: You cannot delete a migration source that has associated migration tasks.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The launch template ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-bp16jovvln1cgaaq****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + 'title' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SourceServer.WithRunningReplicationJob', 'errorMessage' => 'The specified source server has related replication jobs that are running.', 'description' => 'The specified source server has related replication jobs that are running.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ReplicationJob.Related', 'errorMessage' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.', 'description' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'DeleteSourceServer', + 'description' => '## Interface description'."\n" + ."\n" + .'- You cannot delete a migration source that is associated with a migration task in the Running status.'."\n" + ."\n" + .'- To delete a migration source that is associated with a migration task in any other status, set `Force=true`.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteSourceServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteWorkgroup' => [ + 'summary' => 'You can delete a workgroup that you no longer need.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'LaunchTemplateVersion', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '240401', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], + ], + 'parameters' => [ + [ + 'name' => 'WorkgroupId', 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Latest', + 'title' => 'Schema of Response', + 'description' => 'The returned parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****'], + ], ], ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteWorkgroup', + 'description' => 'Before you delete a workgroup, you must delete or disassociate all migration sources from it. Otherwise, the deletion will fail. For more information, see [Delete a migration source](~~2402124~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\"\\n}","type":"json"}]', + ], + 'DescribeReplicationJobs' => [ + 'summary' => 'Retrieves details about one or more migration tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceRamRole', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '18568', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], + ], + 'parameters' => [ + [ + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Resource Access Management (RAM) role that is attached to the intermediate instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SMCAdmin', - ], + 'schema' => ['description' => 'The name of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ - 'name' => 'ContainerNamespace', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace of the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testNamespace', - ], + 'schema' => ['description' => 'The ID of the destination Alibaba Cloud region to which you want to migrate the source.'."\n" + ."\n" + .'For example, if you want to migrate a source server to the China (Hangzhou) region, set RegionId to `cn-hangzhou`. You can call [DescribeRegions](~~25609~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerRepository', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'The repository that stores the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testRepository', - ], + 'schema' => ['description' => 'The main status of the migration task. Valid values:'."\n" + ."\n" + .'- Ready: The task is not started.'."\n" + ."\n" + .'- Running: The task is running.'."\n" + ."\n" + .'- Stopped: The task is paused.'."\n" + ."\n" + .'- InError: An error occurred.'."\n" + ."\n" + .'- Finished: The task is complete.'."\n" + ."\n" + .'- Waiting: The task is waiting.'."\n" + ."\n" + .'- Expired: The task has expired.'."\n" + ."\n" + .'- Deleting: The task is being deleted.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Ready'], ], [ - 'name' => 'ContainerTag', + 'name' => 'BusinessStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the destination Docker container image. For more information about Docker container images, see [Terms](~~60744~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS:v1', - ], + 'schema' => ['description' => 'The business status of the migration task. Valid values:'."\n" + ."\n" + .'- Preparing: The task is being prepared.'."\n" + ."\n" + .'- Syncing: Data is being synchronized.'."\n" + ."\n" + .'- Processing: The task is being processed.'."\n" + ."\n" + .'- Cleaning: The task is being cleared.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Preparing'], ], [ - 'name' => 'ValidTime', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the migration job expires. You can schedule the migration job to expire 7 to 90 days after the job is created.'."\n" - ."\n" - .'* This parameter can be modified only if the migration job is in the Ready, Running, Stopped, InError, or Waiting state.'."\n" - .'* Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format. The time must be in UTC. For example, 2018-01-01T12:00:00Z indicates 20:00:00 on January 1, 2018 (UTC+8).'."\n" - .'* If you do not specify this parameter, the migration job does not expire.'."\n" - .'* After a migration job expires, the job state changes to Expired. SMC retains the migration job for seven days after the job expires. After the job is retained for seven days, SMC deletes the migration job.'."\n" - ."\n" - .'By default, a migration job is valid for 30 days after it is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-06-04T13:35:00Z', - ], + 'schema' => ['description' => 'The page number of the migration task list. The value starts from 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'], ], [ - 'name' => 'SystemDiskPart', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'title' => '', 'example' => '10'], + ], + [ + 'name' => 'SourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The partition information of the system disk.'."\n", + 'description' => 'The IDs of the migration sources. You can specify up to 50 migration source IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'Partition information of system disk.', - 'type' => 'object', - 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of partition N in the destination system disk. Unit: bytes. The default value is equal to the partition size of the source system disk.'."\n" - ."\n" - .'> The total size of all partitions in the destination system disk cannot exceed the size of the destination system disk.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Specifies whether to enable block replication for partition N in the destination system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The ID of partition N in the destination system disk.'."\n" - ."\n" - .'> The partitions in the destination system disk are arranged in the same sequential order as those in the source system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0_1', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The IDs of the migration sources. You can specify up to 50 migration source IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1bjhkwk2j5hlbn****'], 'required' => false, - 'maxItems' => 32, + 'example' => 's-bp1e2fsl57knvuug****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'DataDisk', + 'name' => 'JobId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the data disk.'."\n", + 'description' => 'The IDs of the migration tasks. You can specify up to 50 migration task IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The information about the data disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'Index' => [ - 'description' => 'The index of data disk N on the destination ECS instance. Valid values of N: 1 to 16.'."\n" - ."\n" - .'Data disks on a destination ECS instance are arranged in a sequential order that starts from 1.'."\n" - ."\n" - .'> You can create a destination data disk only for a source server that has data disks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Part' => [ - 'description' => 'The information about partitions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The number of parts.', - 'type' => 'object', - 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of partition N in the destination data disk. Unit: bytes. The default value is equal to the corresponding size of the partition in the source data disk.'."\n" - ."\n" - .'> The total size of all partitions in the destination data disk cannot exceed the size of the destination data disk.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Specifies whether to enable block replication for partition N in the destination data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The ID of partition N in the destination data disk.'."\n" - ."\n" - .'> The partitions in the destination data disk are arranged in the same sequential order as those in the source data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0_1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 32, - ], - 'Size' => [ - 'description' => 'The size of the data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The size of a destination data disk must be greater than the size of data in the source data disk. For example, if the source data disk has 500 GiB of storage space and 100 GiB of data, you must set this parameter to a value greater than 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The IDs of the migration tasks. You can specify up to 50 migration task IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'j-bp1h3d33mekxwu0n****'], 'required' => false, - 'maxItems' => 16, + 'example' => 'j-bp19vlwm0tyigbmj****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'NetMode', + 'name' => 'JobType', 'in' => 'query', - 'schema' => [ - 'description' => 'The network mode for data transmission. Valid values:'."\n" - ."\n" - .'* 0: Data is transmitted over the Internet. Make sure that the source server can access the Internet.'."\n" - .'* 2: Data is transmitted over a virtual private cloud (VPC). If you set this parameter to 2, you must specify the VSwitchId parameter. You can leave the VpcId parameter empty, the VPC ID can be queried by calling an operation.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The type of the migration task. Valid values:'."\n" + ."\n" + .'- 0: server migration.'."\n" + ."\n" + .'- 1: operating system migration.'."\n" + ."\n" + .'- 2: cross-zone migration.'."\n" + ."\n" + .'- 3: agentless VMware migration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], [ - 'name' => 'VSwitchId', + 'name' => 'InstanceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the vSwitch in the VPC.'."\n", - 'type' => 'string', + 'description' => 'The instance ID.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], 'required' => false, - 'example' => 'vsw-bp1ddbrxdlrcbim46****', + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'VpcId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VPC for which an Express Connect circuit or VPN gateway is configured.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ - 'name' => 'ReplicationParameters', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters of the replication driver. The parameters are fixed key-value pairs of the JSON format. The value can be up to 2,048 characters in length.'."\n" - ."\n" - .'A replication driver is a tool that is used to replicate the data of a source server to an intermediate instance. The parameters vary based on the replication driver type. If you use a Server Migration Tool (SMT) driver, you can set the following parameters:'."\n" - ."\n" - .'* bandwidth_limit: the maximum bandwidth for data transmission.'."\n" - .'* compress_level: the compression ratio of data to be transmitted.'."\n" - .'* checksum: specifies whether to enable checksum verification'."\n" - ."\n" - .'For more information about the replication driver, see the response parameter `SourceServers.ReplicationDriver` of the [DescribeSourceServers](~~2402126~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"bandwidth_limit":0,"compress_level":1,"checksum":true}', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01', + 'description' => 'The tags of the SMC resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the SMC resource.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'This parameter can be an empty string. The tag key can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'This parameter can be an empty string. The tag value can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], + 'required' => false, + 'title' => '', ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'DataDisk.DuplicateIndex', - 'errorMessage' => 'The source server data disk cannot contain the same index.', - ], - [ - 'errorCode' => 'ReplicationJobDataDiskIndex.Invalid', - 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', - ], - [ - 'errorCode' => 'ReplicationJobName.Duplicate', - 'errorMessage' => 'The specified replication job name already exists.', - ], - [ - 'errorCode' => 'ReplicationJob.InvalidStatus', - 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ReplicationJob.InvalidBusinessStatus', - 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ImageName.UsedByReplicationJob', - 'errorMessage' => 'The specified imageName: "%s" was used by another replication job in the current region.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1C488B66-B819-4D14-8711-C4EAAA13AC01\\n","errorExample":""}]', - 'title' => 'ModifyReplicationJobAttribute', - 'description' => '## Usage notes'."\n" - ."\n" - .'Before you modify the parameters of a migration job, take note of the following information:'."\n" - ."\n" - .'* The `Name` and `Description` parameters can be modified during the lifecycle of the migration job.'."\n" - .'* The `Frequency` and `MaxNumberOfImageToKeep` parameters can be modified only before the migration job is executed or when the migration job is in the `Waiting` state.'."\n" - .'* Other parameters can be modified only before the migration job is executed.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartReplicationJob' => [ - 'summary' => 'Starts a migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18576', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - ], - 'parameters' => [ - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bw526m1vi6x21q****', + 'required' => false, + 'maxItems' => 21, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'TotalCount' => ['description' => 'The total number of migration tasks.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'ReplicationJobs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReplicationJob' => [ + 'description' => 'A collection of migration task details.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of migration task details.', + 'type' => 'object', + 'properties' => [ + 'Frequency' => ['description' => 'The interval at which an incremental migration task is automatically run. Unit: hours. Valid values: 1 to 168.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '15'], + 'VpcId' => ['description' => 'The ID of the VPC for which an Express Connect circuit or a VPN Gateway is configured.', 'type' => 'string', 'title' => '', 'example' => 'vpc-bp1vwnn14rqpyiczj****'], + 'CreationTime' => ['description' => 'The time when the migration task was created.', 'type' => 'string', 'title' => '', 'example' => '2014-07-24T13:00:52Z'], + 'Status' => ['description' => 'The main status of the migration task. Valid values:'."\n" + ."\n" + .'- Ready: The task is not started.'."\n" + ."\n" + .'- Running: The task is running.'."\n" + ."\n" + .'- Stopped: The task is paused.'."\n" + ."\n" + .'- InError: An error occurred.'."\n" + ."\n" + .'- Finished: The task is complete.'."\n" + ."\n" + .'- Waiting: The task is waiting.'."\n" + ."\n" + .'- Expired: The task has expired.'."\n" + ."\n" + .'- Deleting: The task is being deleted.', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'ScheduledStartTime' => ['description' => 'The time when the migration task is scheduled to run. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. This parameter must meet the following requirements:'."\n" + ."\n" + .'- The time must be later than the current time and within 30 days from the current time.'."\n" + ."\n" + .'- If you leave this parameter empty, SMC does not start the migration task. In this case, you must call the [StartReplicationJob](~~121823~~) operation to start the task.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T13:35:00Z'], + 'MaxNumberOfImageToKeep' => ['description' => 'The maximum number of images that can be retained for an incremental migration task. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8'], + 'ContainerNamespace' => ['description' => 'The namespace of the Docker container.', 'type' => 'string', 'title' => '', 'example' => 'testNamespace'], + 'DataDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisk' => [ + 'description' => 'The data disks of the destination Alibaba Cloud Elastic Compute Service (ECS) instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data disks of the destination Alibaba Cloud ECS instance.', + 'type' => 'object', + 'properties' => [ + 'Index' => ['description' => 'The index number of the data disk.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Size' => ['description' => 'The size of the data disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '40'], + 'Parts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Part' => [ + 'description' => 'The information about the data disk partitions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the data disk partitions.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'], + 'Block' => ['description' => 'Indicates whether block replication is enabled for the partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '0_1'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'StatusInfo' => ['description' => 'The details of the migration status.', 'type' => 'string', 'title' => '', 'example' => 'statusinfo'], + 'InstanceRamRole' => ['description' => 'The name of the instance RAM role.', 'type' => 'string', 'title' => '', 'example' => 'SMCAdmin'], + 'SystemDiskSize' => ['description' => 'The size of the system disk of the destination Alibaba Cloud ECS instance.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '40'], + 'Description' => ['description' => 'The description of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'This is my migration task.'], + 'ReplicationParameters' => ['description' => 'The parameters of the replication driver.', 'type' => 'string', 'title' => '', 'example' => 'BandWidthLimit:0'], + 'ErrorCode' => ['description' => 'The error code of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'InternalError'], + 'ValidTime' => ['description' => 'The time when the migration task expires. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-08T14:40:52Z'], + 'NetMode' => ['description' => 'The network mode used for the migration.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'ContainerTag' => ['description' => 'The tag of the Docker image.', 'type' => 'string', 'title' => '', 'example' => 'CentOS:v1'], + 'LicenseType' => ['description' => 'The license type of the migration task. Valid values:'."\n" + ."\n" + .'- An empty value indicates no license.'."\n" + ."\n" + .'- BYOL: Bring Your Own License.', 'type' => 'string', 'title' => '', 'example' => 'BYOL'], + 'Name' => ['description' => 'The name of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'testMigrationTaskName'], + 'ImageId' => ['description' => 'The ID of the destination image that is created from the migration task.', 'type' => 'string', 'title' => '', 'example' => 'm-o6w3gy99qf89rkga****'], + 'Progress' => ['description' => 'The overall progress of the migration task.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '100'], + 'RunOnce' => ['description' => 'Indicates whether the task is a one-time or incremental migration task. Valid values:'."\n" + ."\n" + .'- true: The task is a one-time migration task. The task is run only once after it is created.'."\n" + ."\n" + .'- false: The task is an incremental migration task. After the task is created, it is automatically run at the interval specified by the `Frequency` parameter.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'title' => '', 'example' => 'lt-launchtemplateid'], + 'ContainerRepository' => ['description' => 'The Docker image repository.', 'type' => 'string', 'title' => '', 'example' => 'testRepository'], + 'InstanceId' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'title' => '', 'example' => 'i-bp1ff25rzvnul6kr****'], + 'SystemDiskParts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SystemDiskPart' => [ + 'description' => 'The information about the system disk partitions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the system disk partitions.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Indicates whether block replication is enabled for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '0_1'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'InstanceType' => ['description' => 'The instance type of the intermediate instance.', 'type' => 'string', 'title' => '', 'example' => 'ecs.sn1ne.large'], + 'SourceId' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'title' => '', 'example' => '1'], + 'RegionId' => ['description' => 'The ID of the destination Alibaba Cloud region to which you want to migrate the source.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'TransitionInstanceId' => ['description' => 'The ID of the intermediate instance.', 'type' => 'string', 'title' => '', 'example' => 'i-bp1ff25rzvnul6kr****'], + 'EndTime' => ['description' => 'The time when the migration task was completed. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T16:00:52Z'], + 'StartTime' => ['description' => 'The time when the migration task started. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T14:40:52Z'], + 'VSwitchId' => ['description' => 'The ID of the vSwitch in the specified VPC.', 'type' => 'string', 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], + 'JobId' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], + 'ImageName' => ['description' => 'The name of the destination image that is created from the migration task.', 'type' => 'string', 'title' => '', 'example' => 'testAliCloudImageName'], + 'BusinessStatus' => ['description' => 'The business status of the migration task. Valid values:'."\n" + ."\n" + .'- Preparing: The task is being prepared.'."\n" + ."\n" + .'- Syncing: Data is being synchronized.'."\n" + ."\n" + .'- Processing: The task is being processed.'."\n" + ."\n" + .'- Cleaning: The task is being cleared.', 'type' => 'string', 'title' => '', 'example' => 'Preparing'], + 'ReplicationJobRuns' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReplicationJobRun' => [ + 'description' => 'The running records of the migration task.', + 'type' => 'array', + 'items' => [ + 'description' => 'The running records of the migration task.', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The time when the migration task run ended. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-10-04T13:35:00Z'], + 'Type' => ['description' => 'The execution mode of the migration task. Valid values:'."\n" + ."\n" + .'- Manual: The task is manually run.'."\n" + ."\n" + .'- Schedule: The task is run at a scheduled time or at a specific interval.', 'type' => 'string', 'title' => '', 'example' => 'Schedule'], + 'StartTime' => ['description' => 'The time when the migration task run started. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-10-01T13:35:00Z'], + 'ImageId' => ['description' => 'The ID of the image generated by the migration task.', 'type' => 'string', 'title' => '', 'example' => 'm-o6w3gy99qf89rkga****'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'TargetType' => ['description' => 'The type of the migration destination. Valid values:'."\n" + ."\n" + .'- Image: After the migration is complete, SMC generates an Alibaba Cloud image for the migration source.'."\n" + ."\n" + .'- ContainerImage: After the migration is complete, SMC generates a Docker container image for the migration source.'."\n" + ."\n" + .'- TargetInstance: After the migration is complete, SMC migrates the migration source to a destination instance. If you set the value to TargetInstance, you must also specify the InstanceId parameter.', 'type' => 'string', 'title' => '', 'example' => 'Image'], + 'JobType' => ['description' => 'The type of the migration task. Valid values:'."\n" + ."\n" + .'- 0: server migration.'."\n" + ."\n" + .'- 1: operating system migration.'."\n" + ."\n" + .'- 2: cross-zone migration.'."\n" + ."\n" + .'- 3: agentless VMware migration.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags of the SMC resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the SMC resource.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'This parameter can be an empty string. The tag key can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'This parameter can be an empty string. The tag value can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'Disks' => [ + 'description' => 'The disk information.', + 'type' => 'object', + 'properties' => [ + 'System' => [ + 'description' => 'The system disk information.', + 'type' => 'object', + 'properties' => [ + 'Size' => ['description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" + ."\n" + .'> The value of this parameter must be greater than the used space of the source system disk. For example, if the source system disk is 500 GiB in size and 100 GiB of the space is used, the value of this parameter must be greater than 100.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '100'], + 'LVM' => ['description' => 'Indicates whether LVM is used. Valid values:'."\n" + ."\n" + .'- true: LVM is used.'."\n" + ."\n" + .'- false: LVM is not used.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'DiskId' => ['description' => 'The system disk ID.', 'type' => 'string', 'title' => '', 'example' => 'd-2zeh4twm100qskw7z41z'], + 'Parts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Part' => [ + 'description' => 'The system disk partition information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The system disk partition information.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'."\n"], + 'Block' => ['description' => 'Indicates whether to enable block replication for the system disk partition. Valid values:'."\n" + ."\n" + .'- true: Block replication is enabled for the system disk partition.'."\n" + ."\n" + .'- false: Block replication is not enabled for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Path' => ['description' => 'The path of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '/boot'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'title' => '', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Data' => [ + 'description' => 'The data disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data disk information.', + 'type' => 'object', + 'properties' => [ + 'Size' => ['description' => 'The size of the data disk of the destination Alibaba Cloud ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" + ."\n" + .'> The value of this parameter must be greater than the used space of the source data disk. For example, if the source data disk is 500 GiB in size and 100 GiB of the space is used, the value of this parameter must be greater than 100.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '22548578304'], + 'LVM' => ['description' => 'Indicates whether LVM is used. Valid values:'."\n" + ."\n" + .'- true: LVM is used.'."\n" + ."\n" + .'- false: LVM is not used.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'DiskId' => ['description' => 'The data disk ID.', 'type' => 'string', 'title' => '', 'example' => 'd-2zeh4twm100qskw7z41z'], + 'Parts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Part' => [ + 'description' => 'The data disk partition information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data disk partition information.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'."\n"], + 'Block' => ['description' => 'Indicates whether to enable block replication for the data disk partition. Valid values:'."\n" + ."\n" + .'- true: Block replication is enabled for the data disk partition.'."\n" + ."\n" + .'- false: Block replication is not enabled for the data disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'Path' => ['description' => 'The path of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '/home/data'."\n"], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'title' => '', + ], + 'WorkgroupId' => ['type' => 'string', 'description' => 'The ID of the workgroup.', 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6E1187E8-843A-4850-B97E-2F17F00D48F7'], + 'PageNumber' => ['description' => 'The page number of the migration task list.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ReplicationJob.InvalidStatus', - 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], + 403 => [ + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StartReplicationJob', - 'description' => '## Usage notes'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 5,\\n \\"ReplicationJobs\\": {\\n \\"ReplicationJob\\": [\\n {\\n \\"Frequency\\": 15,\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-07-24T13:00:52Z\\",\\n \\"Status\\": \\"Running\\",\\n \\"ScheduledStartTime\\": \\"2019-06-04T13:35:00Z\\",\\n \\"MaxNumberOfImageToKeep\\": 8,\\n \\"ContainerNamespace\\": \\"testNamespace\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"Index\\": 1,\\n \\"Size\\": 40,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"StatusInfo\\": \\"statusinfo\\",\\n \\"InstanceRamRole\\": \\"SMCAdmin\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"This is my migration task.\\",\\n \\"ReplicationParameters\\": \\"BandWidthLimit:0\\",\\n \\"ErrorCode\\": \\"InternalError\\",\\n \\"ValidTime\\": \\"2019-06-08T14:40:52Z\\",\\n \\"NetMode\\": 0,\\n \\"ContainerTag\\": \\"CentOS:v1\\",\\n \\"LicenseType\\": \\"BYOL\\",\\n \\"Name\\": \\"testMigrationTaskName\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\",\\n \\"Progress\\": 100,\\n \\"RunOnce\\": true,\\n \\"LaunchTemplateId\\": \\"lt-launchtemplateid\\",\\n \\"ContainerRepository\\": \\"testRepository\\",\\n \\"InstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"SystemDiskParts\\": {\\n \\"SystemDiskPart\\": [\\n {\\n \\"SizeBytes\\": 254803968,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n },\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"SourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TransitionInstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"EndTime\\": \\"2019-06-04T16:00:52Z\\",\\n \\"StartTime\\": \\"2019-06-04T14:40:52Z\\",\\n \\"VSwitchId\\": \\"vsw-bp1ddbrxdlrcbim46****\\",\\n \\"JobId\\": \\"j-bp19vlwm0tyigbmj****\\",\\n \\"ImageName\\": \\"testAliCloudImageName\\",\\n \\"BusinessStatus\\": \\"Preparing\\",\\n \\"ReplicationJobRuns\\": {\\n \\"ReplicationJobRun\\": [\\n {\\n \\"EndTime\\": \\"2019-10-04T13:35:00Z\\",\\n \\"Type\\": \\"Schedule\\",\\n \\"StartTime\\": \\"2019-10-01T13:35:00Z\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\"\\n }\\n ]\\n },\\n \\"TargetType\\": \\"Image\\",\\n \\"JobType\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmw3ty5y7****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Disks\\": {\\n \\"System\\": {\\n \\"Size\\": 100,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Path\\": \\"/boot\\"\\n }\\n ]\\n }\\n },\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Size\\": 22548578304,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": false,\\n \\"Path\\": \\"/home/data\\\\n\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"WorkgroupId\\": \\"w-bp1ja22kdqphehlj****\\"\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6E1187E8-843A-4850-B97E-2F17F00D48F7\\",\\n \\"PageNumber\\": 1\\n}","type":"json"}]', + 'title' => 'DescribeReplicationJobs', + 'description' => '## API Operations'."\n" + ."\n" + .'- Request parameters are used as filters and are combined using a logical AND. If you do not specify a parameter, the corresponding filter is not applied.'."\n" ."\n" - .'This operation can only be used to start the migration jobs that are in the Ready, Stopped, or InError state.'."\n", + .'- You can migrate a source to a Docker container image for low-cost application containerization. For more information about Docker container images, see [Container Registry](~~60744~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopReplicationJob' => [ - 'summary' => 'Pauses a migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18577', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - ], - 'parameters' => [ - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bw526m1vi6x21qh****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeReplicationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ReplicationJob.InvalidStatus', - 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ReplicationJob.InvalidBusinessStatus', - 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StopReplicationJob', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can call this operation to pause only a migration job whose primary status is Running and business status is Syncing.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeReplicationJobs' => [ - 'summary' => 'Queries the details of migration jobs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeSourceServers' => [ + 'summary' => 'Call the DescribeSourceServers operation to query information about one or more migration sources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2601,1060 +1964,980 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '18568', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeCode' => '18569', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testMigrationTaskName', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud region to which you want to migrate the source server.'."\n" - ."\n" - .'For example, if you want to migrate a source server to the China (Hangzhou) region, set this parameter to `cn-hangzhou`. You can call the [DescribeRegions](~~25609~~) operation to query the latest regions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], [ - 'name' => 'Status', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the migration job. Valid values:'."\n" - ."\n" - .'* Ready: The migration job is not started.'."\n" - .'* Running: The migration job is running.'."\n" - .'* Stopped: The migration job is paused.'."\n" - .'* InError: An error occurs in the migration job.'."\n" - .'* Finished: The migration job is complete.'."\n" - .'* Waiting: The migration job is waiting to run.'."\n" - .'* Expired: The migration job has expired.'."\n" - .'* Deleting: The migration job is being deleted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Ready', - ], + 'schema' => ['description' => 'The state of the source server. Valid values:'."\n" + ."\n" + .'- Unavailable: The source server is unavailable. This includes offline and error states.'."\n" + ."\n" + .'- Available: The source server is online.'."\n" + ."\n" + .'- InUse: The source server is being migrated.'."\n" + ."\n" + .'- Deleting: The source server is being deleted.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Available'], ], [ - 'name' => 'BusinessStatus', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The business status of the migration job. Valid values:'."\n" - ."\n" - .'* Preparing: The migration is being prepared.'."\n" - .'* Syncing: Data is being synchronized.'."\n" - .'* Processing: The migration is in progress.'."\n" - .'* Cleaning: Intermediate resources are being released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Preparing', - ], + 'schema' => ['description' => 'The name of the source server. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with \\`http\\://\\` or \\`https\\://\\`. The name can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'Default value: empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testSourceServerName'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Minimum value: 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'title' => '', 'example' => '10'], ], [ 'name' => 'SourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the source servers. You can specify a maximum of 50 IDs.'."\n", + 'description' => 'The ID of the source server. You can specify multiple IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the source server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1bjhkwk2j5hlbn****', - ], + 'items' => ['description' => 'The ID of the source server. You can specify multiple IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'required' => false, 'example' => 's-bp1e2fsl57knvuug****', 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'JobId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the migration jobs. You can specify a maximum of 50 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'j-bp1h3d33mekxwu0n****', - ], - 'required' => false, - 'example' => 'j-bp19vlwm0tyigbmj****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'JobType', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the migration job. Valid values:'."\n" - ."\n" - .'* 0: server migration.'."\n" - .'* 1: operating system migration.'."\n" - .'* 2: cross-zone migration.'."\n" - .'* 3: agentless migration for a VMware VM.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ - 'name' => 'InstanceId', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the destination Elastic Compute Service (ECS) instances.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of the destination ECS instance.'."\n", - 'type' => 'string', + 'description' => 'The tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. N can be an integer from 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length. It cannot start with \\`aliyun\\` or \\`acs:\\` and cannot contain \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N. N can be an integer from 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 64 characters in length. It cannot contain \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], + ], 'required' => false, - 'example' => 'i-bp1f1dvfto1sigz5****', + 'title' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'RelatedJobType', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', + 'description' => 'The type of the associated task.', + 'type' => 'array', + 'items' => ['description' => 'The type of the associated task. Valid values:'."\n" + ."\n" + .'- Not\\_Related: No task is associated.'."\n" + ."\n" + .'- Server: A server migration task.'."\n" + ."\n" + .'- Os: An operating system migration task.'."\n" + ."\n" + .'- Cross\\_Zone: A cross-zone migration task.'."\n" + ."\n" + .'- VMWare: A VMware migration task.'."\n" + ."\n" + .'- Desktop: A desktop task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Server'], 'required' => false, - 'example' => 'rg-acfmw3ty5y7****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'WorkgroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about tags that are attached to the SMC resource.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags list.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag N that is added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key can be an empty string. It can be up to 64 characters in length and cannot contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. It can be up to 64 characters in length and cannot contain http:// or https://.[](http://https://。)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of migration jobs returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ReplicationJobs' => [ + 'SourceServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ReplicationJob' => [ - 'description' => 'The details of migration jobs.'."\n", + 'SourceServer' => [ + 'description' => 'The information about the source servers.', 'type' => 'array', 'items' => [ - 'description' => 'The details of migration jobs.'."\n", + 'description' => 'The information about the source servers.', 'type' => 'object', 'properties' => [ - 'Frequency' => [ - 'description' => 'The interval at which the incremental migration job runs. Unit: hour. Valid values: 1 to 168.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'VpcId' => [ - 'description' => 'The ID of a virtual private cloud (VPC) for which you have configured an Express Connect circuit or a VPN gateway.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], - 'CreationTime' => [ - 'description' => 'The time when the migration job was created.'."\n", - 'type' => 'string', - 'example' => '2014-07-24T13:00:52Z', - ], - 'Status' => [ - 'description' => 'The status of the migration job. Valid values:'."\n" - ."\n" - .'* Ready: The migration job is not started.'."\n" - .'* Running: The migration job is running.'."\n" - .'* Stopped: The migration job is paused.'."\n" - .'* InError: An error occurs in the migration job.'."\n" - .'* Finished: The migration job is complete.'."\n" - .'* Waiting: The migration job is waiting to run.'."\n" - .'* Expired: The migration job has expired.'."\n" - .'* Deleting: The migration job is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'ScheduledStartTime' => [ - 'description' => 'The time when the migration job is scheduled to run. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. The time must meet the following requirements:'."\n" - ."\n" - .'* The value must be within 30 days after the current time.'."\n" - .'* If you do not specify this parameter, you must manually start the migration job after the migration job is created. You can call the [StartReplicationJob](~~121823~~) operation to start the migration job.'."\n", - 'type' => 'string', - 'example' => '2019-06-04T13:35:00Z', - ], - 'MaxNumberOfImageToKeep' => [ - 'description' => 'The maximum number of images retained for the incremental migration job. Valid values: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'ContainerNamespace' => [ - 'description' => 'The namespace of the destination Docker container image.'."\n", - 'type' => 'string', - 'example' => 'testNamespace', - ], + 'CreationTime' => ['description' => 'The time when the source server was created.', 'type' => 'string', 'title' => '', 'example' => '2019-06-27T02:58:09Z'], + 'HeartbeatRate' => ['description' => 'The heartbeat interval of the Server Migration Center (SMC) client. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '30'], + 'State' => ['description' => 'The state of the source server.', 'type' => 'string', 'title' => '', 'example' => 'InUse'], 'DataDisks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataDisk' => [ - 'description' => 'The data disks on the destination ECS instance.'."\n", + 'description' => 'The data disks of the source server.', 'type' => 'array', 'items' => [ - 'description' => 'The data disks on the destination Elastic Compute Service (ECS) instance.', + 'description' => 'The data disks of the source server.', 'type' => 'object', 'properties' => [ - 'Index' => [ - 'description' => 'The index number of the data disk.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], + 'Index' => ['description' => 'The index number of the data disk.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Size' => ['description' => 'The size of the data disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ - 'description' => 'The data disk partitions.'."\n", + 'description' => 'The partitions of the data disk.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The partitions of the data disk.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the data disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480', - ], - 'Block' => [ - 'description' => 'Indicates whether block replication is enabled for the data disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The device ID of the data disk partition.'."\n", - 'type' => 'string', - 'example' => '0_1', - ], + 'CanBlock' => ['description' => 'Indicates whether block replication is supported for the data disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'], + 'Need' => ['description' => 'Indicates whether the data disk partition must be selected.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'Device' => ['description' => 'The device ID of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '1_0'], + 'Path' => ['description' => 'The mount point of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '/home/data'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], + 'Path' => ['description' => 'The mount point of the data disk.', 'type' => 'string', 'title' => '', 'example' => '/home/data'], ], + 'title' => '', ], + 'title' => '', ], ], - ], - 'StatusInfo' => [ - 'description' => 'The status information about the migration job.'."\n", - 'type' => 'string', - 'example' => 'statusinfo', - ], - 'InstanceRamRole' => [ - 'description' => 'The name of the Resource Access Management (RAM) role that is assigned to the instance.'."\n", - 'type' => 'string', - 'example' => 'SMCAdmin', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk of the destination ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'Description' => [ - 'description' => 'The description of the migration job.'."\n", - 'type' => 'string', - 'example' => 'This is my migration task.', - ], - 'ReplicationParameters' => [ - 'description' => 'The string of key-value pairs configured for the replication driver.'."\n", - 'type' => 'string', - 'example' => 'BandWidthLimit:0', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if an error occurred in the migration job.'."\n", - 'type' => 'string', - 'example' => 'InternalError', - ], - 'ValidTime' => [ - 'description' => 'The time when the migration job expired. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" - ."\n" - .'> The time displayed in the SMC console is in the format of UTC+8.'."\n", - 'type' => 'string', - 'example' => '2019-06-08T14:40:52Z', - ], - 'NetMode' => [ - 'description' => 'The type of network used for the migration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ContainerTag' => [ - 'description' => 'The tag of the destination Docker container image.'."\n", - 'type' => 'string', - 'example' => 'CentOS:v1', - ], - 'LicenseType' => [ - 'description' => 'The type of license for the migration job. Valid values:'."\n" - ."\n" - .'* An empty value indicates no license.'."\n" - .'* A value of BYOL indicates Bring Your Own License (BYOL).'."\n", - 'type' => 'string', - 'example' => 'BYOL', - ], - 'Name' => [ - 'description' => 'The name of the migration job.'."\n", - 'type' => 'string', - 'example' => 'testMigrationTaskName', - ], - 'ImageId' => [ - 'description' => 'The ID of the destination image.'."\n", - 'type' => 'string', - 'example' => 'm-o6w3gy99qf89rkga****', - ], - 'Progress' => [ - 'description' => 'The progress of the migration job.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'RunOnce' => [ - 'description' => 'Indicates whether incremental migration is disabled for the source server. Valid values:'."\n" - ."\n" - .'* true: Incremental migration is disabled. A migration job runs only once after the job is created.'."\n" - .'* false: Incremental migration is enabled. For an incremental migration job, SMC synchronizes incremental data to Alibaba Cloud at the interval specified by the `Frequency` parameter.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template.'."\n", - 'type' => 'string', - 'example' => 'lt-launchtemplateid', - ], - 'ContainerRepository' => [ - 'description' => 'The repository that stores the destination Docker container image.'."\n", - 'type' => 'string', - 'example' => 'testRepository', - ], - 'InstanceId' => [ - 'description' => 'The ID of the destination ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-bp1ff25rzvnul6kr****', + 'description' => '', + 'title' => '', ], 'SystemDiskParts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SystemDiskPart' => [ - 'description' => 'The system disk partitions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the system disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '254803968', - ], - 'Block' => [ - 'description' => 'Indicates whether block replication is enabled for the system disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Device' => [ - 'description' => 'The device ID of the system disk partition.'."\n", - 'type' => 'string', - 'example' => '0_1', - ], - ], - ], - ], - ], - ], - 'InstanceType' => [ - 'description' => 'The instance type of the intermediate instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.sn1ne.large', - ], - 'SourceId' => [ - 'description' => 'The ID of the source server.'."\n", - 'type' => 'string', - 'example' => 's-bp1e2fsl57knvuug****', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The versions of the launch template.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'RegionId' => [ - 'description' => 'The ID of the Alibaba Cloud region to which the source server is migrated.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'TransitionInstanceId' => [ - 'description' => 'The ID of the intermediate instance.'."\n", - 'type' => 'string', - 'example' => 'i-bp1ff25rzvnul6kr****', - ], - 'EndTime' => [ - 'description' => 'The time when the migration job was complete. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" - ."\n" - .'> The time displayed in the SMC console is in the format of UTC+8.'."\n", - 'type' => 'string', - 'example' => '2019-06-04T16:00:52Z', - ], - 'StartTime' => [ - 'description' => 'The time when the migration job was started. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" - ."\n" - .'> The time displayed in the SMC console is in the format of UTC+8.'."\n", - 'type' => 'string', - 'example' => '2019-06-04T14:40:52Z', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch in the specified VPC.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1ddbrxdlrcbim46****', - ], - 'JobId' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'example' => 'j-bp19vlwm0tyigbmj****', - ], - 'ImageName' => [ - 'description' => 'The name of the destination image.'."\n", - 'type' => 'string', - 'example' => 'testAliCloudImageName', - ], - 'BusinessStatus' => [ - 'description' => 'The business status of the migration job. Valid values:'."\n" - ."\n" - .'* Preparing: The migration is being prepared.'."\n" - .'* Syncing: Data is being synchronized.'."\n" - .'* Processing: The migration is in progress.'."\n" - .'* Cleaning: Intermediate resources are being released.'."\n", - 'type' => 'string', - 'example' => 'Preparing', - ], - 'ReplicationJobRuns' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ReplicationJobRun' => [ - 'description' => 'The execution records of the migration job.'."\n", + 'description' => 'The partitions of the system disk.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The partitions of the system disk.', 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The time when the migration job ended. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" - ."\n" - .'> The time displayed in the SMC console is in the format of UTC+8.'."\n", - 'type' => 'string', - 'example' => '2019-10-04T13:35:00Z', - ], - 'Type' => [ - 'description' => 'The method used to run the migration job. Valid values:'."\n" - ."\n" - .'* Manual: The migration job was manually started.'."\n" - .'* Schedule: The migration job was started at a scheduled time or at a specific interval.'."\n", - 'type' => 'string', - 'example' => 'Schedule', - ], - 'StartTime' => [ - 'description' => 'The time when the migration job was started. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" - ."\n" - .'> The time displayed in the SMC console is in the format of UTC+8.'."\n", - 'type' => 'string', - 'example' => '2019-10-01T13:35:00Z', - ], - 'ImageId' => [ - 'description' => 'The ID of the destination image.'."\n", - 'type' => 'string', - 'example' => 'm-o6w3gy99qf89rkga****', - ], + 'CanBlock' => ['description' => 'Indicates whether block replication is supported for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '254803968'], + 'Need' => ['description' => 'Indicates whether the system disk partition must be selected.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '0_0'], + 'Path' => ['description' => 'The mount point of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '/boot'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], - 'TargetType' => [ - 'description' => 'The type of destination to which the source server is migrated. Valid values:'."\n" - ."\n" - .'* Image: After the migration job is complete, SMC generates an ECS image for the source server.'."\n" - .'* ContainerImage: After the migration job is complete, SMC generates a Docker container image for the source server.'."\n" - .'* TargetInstance: After the migration job is complete, SMC migrates the source server to the destination instance. If you set this parameter to TargetInstance, you must set the InstanceId parameter.'."\n", - 'type' => 'string', - 'example' => 'Image', - ], - 'JobType' => [ - 'description' => 'The type of the migration job. Valid values:'."\n" - ."\n" - .'* 0: server migration.'."\n" - .'* 1: operating system migration.'."\n" - .'* 2: cross-zone migration.'."\n" - .'* 3: agentless migration for a VMware VM.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmw3ty5y7****', - ], + 'KernelLevel' => ['description' => 'The kernel level.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'SourceId' => ['description' => 'The ID of the source server.', 'type' => 'string', 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], + 'AgentVersion' => ['description' => 'The version of the SMC client.', 'type' => 'string', 'title' => '', 'example' => '1.5.2.3'], + 'StatusInfo' => ['description' => 'The information about the state of the source server. This parameter is returned when the source server is in an abnormal state. The value is a JSON-formatted key-value pair. Example:'."\n" + ."\n" + .'```'."\n" + .'- error_code: The error code.'."\n" + .'- error_msg: The error message.'."\n" + .'```', 'type' => 'string', 'title' => '', 'example' => '{"error_code": "S1", "error_msg": "Rsync not found. Please install rsync."}'], + 'SystemDiskSize' => ['description' => 'The size of the system disk of the source server. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '40'], + 'Description' => ['description' => 'The description of the source server.', 'type' => 'string', 'title' => '', 'example' => 'Server Source Imported By GotoAliyun.'], + 'ErrorCode' => ['description' => 'The error code returned if the source server is in an abnormal state.', 'type' => 'string', 'title' => '', 'example' => 'SourceServer.Offline'], + 'JobId' => ['description' => 'The ID of the last migration task.', 'type' => 'string', 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], + 'Platform' => ['description' => 'The operating system of the source server.', 'type' => 'string', 'title' => '', 'example' => 'OpenSUSE'], + 'ReplicationDriver' => ['description' => 'The replication driver. Default value: SMT.', 'type' => 'string', 'title' => '', 'example' => 'SMT'], + 'Name' => ['description' => 'The name of the source server.', 'type' => 'string', 'title' => '', 'example' => 'SourceServerName'], + 'SystemInfo' => ['description' => 'The system information of the source server. The value is a JSON-formatted key-value pair that cannot exceed 1 KB in size. Example:'."\n" + ."\n" + .'```'."\n" + .'agent_mode: The running mode.'."\n" + .'agent_type: The running type.'."\n" + .'client_type: The client type.'."\n" + .'hostname: The hostname.'."\n" + .'ipv4: The IPv4 address.'."\n" + .'ipv6: The IPv6 address.'."\n" + .'cores: The number of CPU cores.'."\n" + .'cpu_usage: The CPU usage.'."\n" + .'memory: The memory size.'."\n" + .'memory_usage: The memory usage.'."\n" + .'```', 'type' => 'string', 'title' => '', 'example' => '{\\"agent_mode\\":\\"daemon\\",\\"agent_type\\":\\"aliyun\\",\\"client_type\\":\\"\\",\\"cores\\":\\"2\\",\\"cpu_usage\\":\\"0.00\\",\\"hostname\\":\\"ixxxxxxxxxx\\",\\"ipv4\\":\\"10.0.0.1\\",\\"memory\\":\\"8.00\\",\\"memory_usage\\":\\"3.61\\"}'], + 'Architecture' => ['description' => 'The architecture of the source server.', 'type' => 'string', 'title' => '', 'example' => 'x86_64'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ - 'description' => 'The information about tags that are attached to the SMC resource.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tag.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag N that is added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key can be an empty string. It can be up to 64 characters in length and cannot contain http:// or https://.[](http://https://。)'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. It can be up to 64 characters in length and cannot contain http:// or https://.[](http://https://。)'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of tag N. N can be an integer from 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length. It cannot start with \\`aliyun\\` or \\`acs:\\` and cannot contain \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N. N can be an integer from 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 64 characters in length. It cannot contain \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], 'Disks' => [ - 'description' => 'The information about the disk.'."\n", + 'description' => 'The information about the disks.', 'type' => 'object', 'properties' => [ 'System' => [ - 'description' => 'The information about the system disk.'."\n", + 'description' => 'The information about the system disk.', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The parameter value must be greater than the actual used space of the data disk on the source server. For example, if the size of the source disk is 500 GiB but the actual used space is 100 GiB, you must set this parameter to a value greater than 100 GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'LVM' => [ - 'description' => 'Specifies whether to use LVM. Valid values:'."\n" - ."\n" - .'* true: Use LVM.'."\n" - .'* false: Not use LVM.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'DiskId' => [ - 'description' => 'The ID of the system disk.'."\n", - 'type' => 'string', - 'example' => 'd-2zeh4twm100qskw7z41z', - ], + 'Size' => ['description' => 'The size of the system disk of the source server. Unit: GiB. The value must be in the range of 20 to 32,768.'."\n" + ."\n" + .'> The value of this parameter must be greater than the used space of the data disk on the source server. For example, if the data disk is 500 GiB in size and 100 GiB of the space is used, the value of this parameter must be greater than 100.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '100'], + 'Offset' => ['description' => 'The start offset of the first partition on the system disk. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1024'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ - 'description' => 'The information about the system disk partition.'."\n", + 'description' => 'The partitions of the system disk.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the system disk partition.'."\n", + 'description' => 'The information about the partition.', 'type' => 'object', - 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the system disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480'."\n", - ], - 'Block' => [ - 'description' => 'Specifies whether block replication is enabled for the system disk partition. Valid values:'."\n" - ."\n" - .'* true: Block replication is enabled for the system disk partition.'."\n" - .'* false: Block replication is disabled for the system disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Path' => [ - 'description' => 'The path of the system disk partition.'."\n", - 'type' => 'string', - 'example' => '/boot', - ], + 'properties' => [ + 'CanBlock' => ['description' => 'Indicates whether block replication is supported for the system disk partition. Valid values:'."\n" + ."\n" + .'- true: Block replication is supported for the system disk partition.'."\n" + ."\n" + .'- false: Block replication is not supported for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'], + 'Path' => ['description' => 'The mount point of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '/home/data'], + 'Type' => ['description' => 'The type of the system disk partition. Valid values:'."\n" + ."\n" + .'- Normal: A normal partition.'."\n" + ."\n" + .'- System: A system partition.'."\n" + ."\n" + .'- Boot: A boot partition.', 'type' => 'string', 'title' => '', 'example' => 'Normal'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], + 'required' => false, + 'title' => '', ], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Data' => [ - 'description' => 'The information about the data disk.'."\n", + 'description' => 'The information about the data disks.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk.'."\n", + 'description' => 'The information about the data disk.', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'description' => 'The size of a data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" - ."\n" - .'> The size of a destination data disk must be larger than the size of data in the corresponding source data disk. For example, if the size of the source disk is 500 GiB but the actual used space is 100 GiB, you must set this parameter to a value greater than 100 GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22548578304', - ], - 'LVM' => [ - 'description' => 'Specifies whether to use LVM. Valid values:'."\n" - ."\n" - .'* true: Use LVM.'."\n" - .'* false: Not use LVM.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'DiskId' => [ - 'description' => 'The ID of the data disk.'."\n", - 'type' => 'string', - 'example' => 'd-2zeh4twm100qskw7z41z', - ], + 'Size' => ['description' => 'The size of the data disk of the source server. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '80'], + 'Offset' => ['description' => 'The start offset of the first partition on the data disk. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1024'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The partitions of the data disk.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ - 'SizeBytes' => [ - 'description' => 'The size of the data disk partition. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21474836480'."\n", - ], - 'Block' => [ - 'description' => 'Whether block replication is enabled for the data disk partition. Valid values:'."\n" - ."\n" - .'* true: Block replication is enabled for the data disk partition.'."\n" - .'* false: Block replication is disabled for the data disk partition.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Path' => [ - 'description' => 'The path of the data disk partition.'."\n", - 'type' => 'string', - 'example' => '/home/data'."\n", - ], + 'CanBlock' => ['description' => 'Indicates whether block replication is enabled for the data disk partition. Valid values:'."\n" + ."\n" + .'- true: Block replication is enabled for the data disk partition.'."\n" + ."\n" + .'- false: Block replication is not enabled for the data disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'], + 'Path' => ['description' => 'The mount point of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '/home/data'], + 'Type' => ['description' => 'The type of the data disk partition. Valid values:'."\n" + ."\n" + .'- Normal: A normal partition.'."\n" + ."\n" + .'- System: A system partition.'."\n" + ."\n" + .'- Boot: A boot partition.', 'type' => 'string', 'title' => '', 'example' => 'Normal'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], + 'title' => '', ], - 'WorkgroupId' => [ - 'type' => 'string', - ], + 'WorkgroupId' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6E1187E8-843A-4850-B97E-2F17F00D48F7', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'TotalCount' => ['description' => 'The total number of source servers.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], - 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 5,\\n \\"ReplicationJobs\\": {\\n \\"ReplicationJob\\": [\\n {\\n \\"Frequency\\": 15,\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-07-24T13:00:52Z\\",\\n \\"Status\\": \\"Running\\",\\n \\"ScheduledStartTime\\": \\"2019-06-04T13:35:00Z\\",\\n \\"MaxNumberOfImageToKeep\\": 8,\\n \\"ContainerNamespace\\": \\"testNamespace\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"Index\\": 1,\\n \\"Size\\": 40,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"StatusInfo\\": \\"statusinfo\\",\\n \\"InstanceRamRole\\": \\"SMCAdmin\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"This is my migration task.\\",\\n \\"ReplicationParameters\\": \\"BandWidthLimit:0\\",\\n \\"ErrorCode\\": \\"InternalError\\",\\n \\"ValidTime\\": \\"2019-06-08T14:40:52Z\\",\\n \\"NetMode\\": 0,\\n \\"ContainerTag\\": \\"CentOS:v1\\",\\n \\"LicenseType\\": \\"BYOL\\",\\n \\"Name\\": \\"testMigrationTaskName\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\",\\n \\"Progress\\": 100,\\n \\"RunOnce\\": true,\\n \\"LaunchTemplateId\\": \\"lt-launchtemplateid\\",\\n \\"ContainerRepository\\": \\"testRepository\\",\\n \\"InstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"SystemDiskParts\\": {\\n \\"SystemDiskPart\\": [\\n {\\n \\"SizeBytes\\": 254803968,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n },\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"SourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TransitionInstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"EndTime\\": \\"2019-06-04T16:00:52Z\\",\\n \\"StartTime\\": \\"2019-06-04T14:40:52Z\\",\\n \\"VSwitchId\\": \\"vsw-bp1ddbrxdlrcbim46****\\",\\n \\"JobId\\": \\"j-bp19vlwm0tyigbmj****\\",\\n \\"ImageName\\": \\"testAliCloudImageName\\",\\n \\"BusinessStatus\\": \\"Preparing\\",\\n \\"ReplicationJobRuns\\": {\\n \\"ReplicationJobRun\\": [\\n {\\n \\"EndTime\\": \\"2019-10-04T13:35:00Z\\",\\n \\"Type\\": \\"Schedule\\",\\n \\"StartTime\\": \\"2019-10-01T13:35:00Z\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\"\\n }\\n ]\\n },\\n \\"TargetType\\": \\"Image\\",\\n \\"JobType\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmw3ty5y7****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Disks\\": {\\n \\"System\\": {\\n \\"Size\\": 100,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Path\\": \\"/boot\\"\\n }\\n ]\\n }\\n },\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Size\\": 22548578304,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": false,\\n \\"Path\\": \\"/home/data\\\\n\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"WorkgroupId\\": \\"w-bp1ja22kdqphehlj****\\"\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6E1187E8-843A-4850-B97E-2F17F00D48F7\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n 5\\n \\n 15\\n vpc-bp1vwnn14rqpyiczj****\\n 2014-07-24T13:00:52Z\\n Running\\n 2019-06-04T13:35:00Z\\n 8\\n testNamespace\\n \\n 1\\n 40\\n \\n 21474836480\\n true\\n 0_1\\n \\n \\n statusinfo\\n SMCAdmin\\n 40\\n This is my migration task.\\n BandWidthLimit:0\\n InternalError\\n 2019-06-08T14:40:52Z\\n 0\\n CentOS:v1\\n BYOL\\n testMigrationTaskName\\n m-o6w3gy99qf89rkga****\\n 100\\n true\\n lt-launchtemplateid\\n testRepository\\n i-bp1ff25rzvnul6kr****\\n \\n 254803968\\n true\\n 0_1\\n \\n ecs.sn1ne.large\\n s-bp1e2fsl57knvuug****\\n 1\\n cn-hangzhou\\n i-bp1ff25rzvnul6kr****\\n 2019-06-04T16:00:52Z\\n 2019-06-04T14:40:52Z\\n vsw-bp1ddbrxdlrcbim46****\\n j-bp19vlwm0tyigbmj****\\n testAliCloudImageName\\n Preparing\\n \\n 2019-10-04T13:35:00Z\\n Schedule\\n 2019-10-01T13:35:00Z\\n m-o6w3gy99qf89rkga****\\n \\n Image\\n 0\\n rg-acfmw3ty5y7****\\n \\n TestKey\\n TestValue\\n \\n \\n 10\\n 6E1187E8-843A-4850-B97E-2F17F00D48F7\\n 1\\n","errorExample":""}]', - 'title' => 'DescribeReplicationJobs', - 'description' => '## Usage notes'."\n" + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeSourceServers', + 'description' => '## Description'."\n" ."\n" - .'* You can specify multiple request parameters to be queried. Specified parameters are evaluated by using the AND operator. Only the specified parameters are used as filter conditions.'."\n" - .'* Server Migration Center (SMC) allows you to migrate source servers to Docker container images. You can use SMC to migrate containerized applications in a cost-effective way. For more information, see [Terms](~~60744~~).'."\n", + .'The request parameters are used as filters and are combined with a logical AND. If a parameter is empty, the corresponding filter is ignored.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CutOverReplicationJob' => [ - 'summary' => 'Stops an incremental migration job that periodically runs. After you call this operation to stop an incremental migration job, the migration job is complete.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeSourceServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SourceServers\\": {\\n \\"SourceServer\\": [\\n {\\n \\"CreationTime\\": \\"2019-06-27T02:58:09Z\\",\\n \\"HeartbeatRate\\": 30,\\n \\"State\\": \\"InUse\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"Index\\": 1,\\n \\"Size\\": 20,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Need\\": false,\\n \\"Device\\": \\"1_0\\",\\n \\"Path\\": \\"/home/data\\"\\n }\\n ]\\n },\\n \\"Path\\": \\"/home/data\\"\\n }\\n ]\\n },\\n \\"SystemDiskParts\\": {\\n \\"SystemDiskPart\\": [\\n {\\n \\"CanBlock\\": true,\\n \\"SizeBytes\\": 254803968,\\n \\"Need\\": true,\\n \\"Device\\": \\"0_0\\",\\n \\"Path\\": \\"/boot\\"\\n }\\n ]\\n },\\n \\"KernelLevel\\": 1,\\n \\"SourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"AgentVersion\\": \\"1.5.2.3\\",\\n \\"StatusInfo\\": \\"{\\\\\\"error_code\\\\\\": \\\\\\"S1\\\\\\", \\\\\\"error_msg\\\\\\": \\\\\\"Rsync not found. Please install rsync.\\\\\\"}\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"Server Source Imported By GotoAliyun.\\",\\n \\"ErrorCode\\": \\"SourceServer.Offline\\",\\n \\"JobId\\": \\"j-bp19vlwm0tyigbmj****\\",\\n \\"Platform\\": \\"OpenSUSE\\",\\n \\"ReplicationDriver\\": \\"SMT\\",\\n \\"Name\\": \\"SourceServerName\\",\\n \\"SystemInfo\\": \\"{\\\\\\\\\\\\\\"agent_mode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"daemon\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"agent_type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aliyun\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"client_type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cores\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpu_usage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0.00\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hostname\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ixxxxxxxxxx\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ipv4\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"10.0.0.1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8.00\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory_usage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"3.61\\\\\\\\\\\\\\"}\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"ResourceGroupId\\": \\"rg-acfmw3ty5y7****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Disks\\": {\\n \\"System\\": {\\n \\"Size\\": 100,\\n \\"Offset\\": 1024,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Path\\": \\"/home/data\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ]\\n }\\n },\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Size\\": 80,\\n \\"Offset\\": 1024,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"CanBlock\\": false,\\n \\"SizeBytes\\": 21474836480,\\n \\"Path\\": \\"/home/data\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"WorkgroupId\\": \\"w-bp1ja22kdqphehlj****\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\",\\n \\"PageNumber\\": 1\\n}","type":"json"}]', + ], + 'DescribeWorkgroups' => [ + 'summary' => 'After a workgroup is created, you can view its information, such as the workgroup name, description, and alert information.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18561', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '240404', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'WorkgroupId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the incremental migration job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bp1fnx5y3djc4cop****', + 'description' => 'A list of workgroup IDs. You can specify up to 50 workgroup IDs.', + 'type' => 'array', + 'items' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], + 'required' => false, + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'SyncData', + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the workgroup. Valid values:'."\n" + ."\n" + .'- NotStarted: The workgroup is not started.'."\n" + ."\n" + .'- InProgress: The workgroup is in progress.'."\n" + ."\n" + .'- Cutover: The workgroup is being cut over.'."\n" + ."\n" + .'- Completed: The workgroup is completed.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'InProgress'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the workgroup list. The value starts from 1.'."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page for a paged query. Maximum value: 50.'."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'title' => '', 'example' => '10'], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to migrate full data for the last time. Valid Values:'."\n" - ."\n" - .'* true: migrates full data for the last time.'."\n" - .'* false: does not migrate full data for the last time.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The array of tags. The array can contain 1 to 20 tags. If the array contains multiple tag objects, the tag keys cannot be the same.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag object.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the workgroup. The key can be up to 128 characters in length. If you specify this parameter, the value cannot be an empty string. The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The tag value of the workgroup. The value can be up to 128 characters in length. If you specify this parameter, the value can be an empty string. The value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => 'false', + 'maxItems' => 21, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The request ID.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'], + 'TotalCount' => ['description' => 'The total number of workgroups.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned on each page. Maximum value: 50. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'PageNumber' => ['description' => 'The page number of the workgroup list.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Workgroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Workgroup' => [ + 'description' => 'The details of the workgroups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The workgroup object.', + 'type' => 'object', + 'properties' => [ + 'WorkgroupId' => ['description' => 'The workgroup ID.', 'type' => 'string', 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], + 'Name' => ['description' => 'The name of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'testWorkgroupName'], + 'Description' => ['description' => 'The description of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Status' => ['description' => 'The status of the workgroup. Possible values:'."\n" + ."\n" + .'- NotStarted: The workgroup is not started.'."\n" + ."\n" + .'- InProgress: The workgroup is in progress.'."\n" + ."\n" + .'- Cutover: The workgroup is being cut over.'."\n" + ."\n" + .'- Completed: The workgroup is completed.', 'type' => 'string', 'title' => '', 'example' => 'InProgress'], + 'Warnings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Warning' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'WarningType' => ['type' => 'string', 'description' => 'The alert type. Possible values:'."\n" + ."\n" + .'- InError: One or more migration tasks have failed.'."\n" + ."\n" + .'- UnRelated: One or more migration sources are not associated with migration tasks.'."\n" + ."\n" + .'- NotPassed: One or more migration task drills have failed.', 'title' => '', 'example' => 'InError'], + 'SourceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceId' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => 'The ID of the migration source that has an issue.', 'title' => '', 'example' => 's-bp1h7ymebl7swbt4****'], + 'description' => 'A list of migration sources that have issues.', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'description' => 'The alert information.', + 'title' => '', + ], + 'description' => 'A list of alert information for the workgroup. The list may contain multiple types of alerts.', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag information of the workgroup.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information of the workgroup.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the workgroup.', 'type' => 'string', 'title' => '', 'example' => ' '."\n" + .'TestKey'], + 'Value' => ['description' => 'The tag value of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ReplicationJob.InvalidStatus', - 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'ReplicationJob.InvalidBusinessStatus', - 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', - ], - [ - 'errorCode' => 'SourceServerState.Invalid', - 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', - ], + 403 => [ + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeWorkgroups', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'smc:DescribeWorkgroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'CutOverReplicationJob', - 'description' => '## Usage notes'."\n" - ."\n" - .'* The incremental migration job must be in the Waiting state.'."\n" - .'* After you call this operation, the incremental migration job no longer periodically runs. In the meantime, Server Migration Center (SMC) determines whether to perform a full data migration for the last time based on the value of the `SyncData` parameter. If you set the SyncData parameter to `false`, SMC releases intermediate resources without data migration before the migration job is complete. If you set the SyncData parameter to `true`, SMC performs a full data migration and releases intermediate resources before the migration job is complete.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Workgroups\\": {\\n \\"Workgroup\\": [\\n {\\n \\"WorkgroupId\\": \\"w-bp10geepnj916e3d****\\",\\n \\"Name\\": \\"testWorkgroupName\\",\\n \\"Description\\": \\"test\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Warnings\\": {\\n \\"Warning\\": [\\n {\\n \\"WarningType\\": \\"InError\\",\\n \\"SourceIds\\": {\\n \\"SourceId\\": [\\n \\"s-bp1h7ymebl7swbt4****\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"\\\\t\\\\nTestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DeleteReplicationJob' => [ - 'summary' => 'Deletes a migration job.', - 'methods' => [ - 'post', - 'get', + 'DisableAccessToken' => [ + 'summary' => 'You can call the DisableAccessToken operation to disable an activation code.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '144984', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + ], + 'parameters' => [ + [ + 'name' => 'AccessTokenId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp12g5gwup0yzmce****'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The ID of the request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '686BB8A6-BBA5-47E5-8A75-D2ADE433****'], + ], + 'title' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'DisableAccessToken', + 'description' => 'If you suspect that an activation code is compromised, call this operation to disable it. A disabled activation code cannot be used to register new migration sources. Existing migration sources are not affected.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisableAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"686BB8A6-BBA5-47E5-8A75-D2ADE433****\\"\\n}","type":"json"}]', + ], + 'DisassociateSourceServers' => [ + 'summary' => 'Disassociate a migration source from a group if you no longer need to use the group for batch migration or want to delete the group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '18562', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '240400', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'WorkgroupId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The ID of the group.', 'type' => 'string', 'required' => true, 'example' => 'w-bp10geepnj916e3d****'], + ], + [ + 'name' => 'SourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the migration sources to disassociate from the group. You can specify up to 50 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp17m1vi6x20c6g6****'], 'required' => true, - 'example' => 'j-bp17m1vi6x21qhqk****', + 'maxItems' => 100, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DisassociateSourceServers', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisassociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', + ], + 'ListAccessTokens' => [ + 'summary' => 'Call the ListAccessTokens operation to query for created activation codes and their statuses.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '144510', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + ], + 'parameters' => [ + [ + 'name' => 'AccessTokenId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the activation codes.', + 'type' => 'array', + 'items' => ['description' => 'An activation code ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], + 'required' => false, + 'maxItems' => 100, + 'title' => '', ], ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test_name'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the activation code. Valid values:'."\n" + ."\n" + .'- activated: The activation code is activated.'."\n" + ."\n" + .'- unactivated: The activation code is not activated.'."\n" + ."\n" + .'- expired: The activation code has expired.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'activated'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'E2DA3097-79B9-53AE-B0DF-281DC54F****'], + 'AccessTokens' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AccessToken' => [ + 'description' => 'The details of the activation codes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an activation code.', + 'type' => 'object', + 'properties' => [ + 'AccessTokenId' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], + 'TimeToLiveInDays' => ['description' => 'The validity period of the activation code in days. The value can be an integer from 1 to 90. Default value: 30.', 'type' => 'string', 'title' => '', 'example' => '30'], + 'Count' => ['description' => 'The maximum number of times that the activation code can be used. The value can be an integer from 1 to 1,000.'."\n" + ."\n" + .'Default value: 100.', 'type' => 'string', 'title' => '', 'example' => '100'], + 'RegisteredCount' => ['description' => 'The number of migration sources registered using the activation code.', 'type' => 'string', 'title' => '', 'example' => '5'], + 'CreationTime' => ['description' => 'The time when the activation code was created. The time is displayed in the \\`yyyy-MM-ddTHH:mm:ssZ\\` format, is in UTC, and follows the [ISO 8601](~~25696~~) standard.', 'type' => 'string', 'title' => '', 'example' => '2022-09-09T02:35:44Z'], + 'Status' => ['description' => 'The status of the activation code. Valid values:'."\n" + ."\n" + .'- activated: The activation code is activated.'."\n" + ."\n" + .'- unactivated: The activation code is not activated.'."\n" + ."\n" + .'- expired: The activation code has expired.', 'type' => 'string', 'title' => '', 'example' => 'activated'], + 'Name' => ['description' => 'The name of the activation code.', 'type' => 'string', 'title' => '', 'example' => 'test_name'], + 'Description' => ['description' => 'The description of the activation code.', 'type' => 'string', 'title' => '', 'example' => '这是激活码'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], + 'TotalCount' => ['description' => 'The total number of activation codes.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'PageSize' => ['description' => 'The number of entries to return on each page. Valid values:', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'PageNumber' => ['description' => 'The number of entries per page. Valid values:'."\n" + ."\n" + .'- 10'."\n" + ."\n" + .'- 20'."\n" + ."\n" + .'- 50'."\n" + ."\n" + .'Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], ], - 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ReplicationJob.InvalidStatus', - 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', - ], - ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'ListAccessTokens', + 'description' => 'An activation code can have one of the following statuses: activated, unactivated, or expired.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:ListAccessTokens', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', - 'title' => 'DeleteReplicationJob', - 'description' => '## Usage notes'."\n" - ."\n" - .'* Deleted migration jobs cannot be restored.'."\n" - .'* After a migration job is deleted, associated resources, such as the intermediate instance, are automatically released.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E2DA3097-79B9-53AE-B0DF-281DC54F****\\",\\n \\"AccessTokens\\": {\\n \\"AccessToken\\": [\\n {\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\",\\n \\"TimeToLiveInDays\\": \\"30\\",\\n \\"Count\\": \\"100\\",\\n \\"RegisteredCount\\": \\"5\\",\\n \\"CreationTime\\": \\"2022-09-09T02:35:44Z\\",\\n \\"Status\\": \\"activated\\",\\n \\"Name\\": \\"test_name\\",\\n \\"Description\\": \\"这是激活码\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 20\\n}","type":"json"}]', ], - 'CreateWorkgroup' => [ - 'summary' => 'Creates a workgroup. You can create a workgroup to manage the lifecycles of multiple migration tasks at a time. This is suitable for scenarios in which multiple servers are migrated.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '240381', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'abilityTreeCode' => '18571', + 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ - 'name' => 'ClientToken', + 'name' => 'ResourceType', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'The SMC resource type. Valid values:'."\n" + ."\n" + .'- sourceserver: a migration source'."\n" + ."\n" + .'- replicationjob: a migration task', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'sourceserver'], ], [ - 'name' => 'Name', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workgroup. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique.'."\n" - .'* The name must be 2 to 64 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain digits, colons (:), periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testWorkgroupName', - ], + 'schema' => ['description' => 'The token to start the next query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], ], [ - 'name' => 'Description', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The description of the workgroup. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', + 'description' => 'A list of SMC resource IDs. SMC resources include migration sources and migration tasks. The list can contain a maximum of 50 IDs.', + 'type' => 'array', + 'items' => ['description' => 'An SMC resource ID. SMC resources include migration sources and migration tasks.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'required' => false, - 'example' => 'test', + 'example' => 's-bp1e2fsl57knvuug****', + 'maxItems' => 51, + 'title' => '', ], ], [ @@ -3662,551 +2945,522 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the reserved instance. You can specify up to 20 tags. If you specify multiple tags, the tag keys cannot be duplicated.'."\n", + 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'Tag N.'."\n", 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the workgroup. You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value of the workgroup. The tag value can be up to 128 characters in length, cannot be an empty string, and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The tag key of the SMC resource. The tag key can be 1 to 64 characters in length. N indicates the serial number of the tag. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Tag.N is a key-value pair that is used to filter SMC resources.'."\n" + ."\n" + .'- Tag keys and tag values are case-sensitive.'."\n" + ."\n" + .'- If you specify only Tag.N.Key, all resources that have this tag key are returned.'."\n" + ."\n" + .'- If you specify only Tag.N.Value, an InvalidParameter.TagValue error is returned.'."\n" + ."\n" + .'- If you specify multiple tags, only the SMC resources that have all these tags are returned.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The tag value of the SMC resource. The tag value can be 1 to 64 characters in length. N indicates the serial number of the tag. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, + 'description' => 'The tags list.'."\n", + 'title' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned result.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', - ], - 'WorkgroupId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'example' => 'w-***', + 'NextToken' => ['description' => 'The token that is used to start the next query.'."\n" + ."\n" + .'If this parameter is empty, all results are returned.', 'type' => 'string', 'title' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '17743161-66F3-4E7F-B8AE-845FB28B928F'], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => 'A collection of SMC resources and their tags, including resource IDs, resource types, and tag key-value pairs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'title' => '', 'example' => 'ALIYUN::SMC::SOURCESERVER'], + 'TagValue' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], + 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'title' => '', 'example' => 'TestKey'], + ], + 'description' => 'The details about the resources and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + 400 => [ + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', 'description' => 'The maximum number of Tag parameters cannot exceed 20.'], + ['errorCode' => 'MissingParameter.ResourceType', 'errorMessage' => 'You must specify ResourceType.', 'description' => 'You must specify ResourceType.'], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified ResourceType does not exist.', 'description' => 'The specified ResourceType does not exist.'], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', 'description' => 'The maximum number of ResourceId parameters cannot exceed 50.'], + ['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The ResourceId contains duplicate values.', 'description' => 'The ResourceId contains duplicate values.'], + ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds do not exist.', 'description' => 'The specified ResourceIds do not exist.'], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + ], + 'title' => 'ListTagResources', + 'summary' => 'Queries the tags attached to one or more SMC resources, such as migration sources and migration tasks.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#AccountId}:replicationjob/{#ReplicationJobId}'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"WorkgroupId\\": \\"w-bp10geepnj916e3d****\\"\\n}","type":"json"}]', - 'title' => 'CreateWorkgroup', - 'description' => '* You can create up to 50 workgroups within an Alibaba Cloud account.'."\n" - .'* A workgroup can be associated with a maximum of 50 migration sources.'."\n" - .'* A migration source can be associated with only one workgroup.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"17743161-66F3-4E7F-B8AE-845FB28B928F\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::SMC::SOURCESERVER\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'AssociateSourceServers' => [ - 'summary' => 'Associates multiple migration sources with a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ModifyReplicationJobAttribute' => [ + 'summary' => 'You can call the ModifyReplicationJobAttribute operation to modify the information of a migration task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '240395', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeCode' => '18572', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'WorkgroupId', + 'name' => 'JobId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], [ - 'name' => 'SourceId', + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the migration task. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be unique.'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the migration task.'."\n" + ."\n" + .'The description must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This_is_my_migration_task'], + ], + [ + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the migration destination. This parameter can be modified only before the migration task starts. Valid values:'."\n" + ."\n" + .'- Image: After the migration is complete, SMC generates an Alibaba Cloud image from the source server. You can use this image to create an ECS instance.'."\n" + ."\n" + .'- ContainerImage: After the migration is complete, SMC generates a container image from the source server. You can use this image in Container Registry.'."\n" + ."\n" + .'- TargetInstance: After the migration is complete, SMC migrates the source to a destination instance. If you set this parameter to this value, you must also specify the `InstanceId` parameter.'."\n" + ."\n" + .'> * The value of this parameter is not case-sensitive.'."\n" + ."\n" + .'- Migrating servers that run Windows or an Arm-based operating system to container images is not supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Image'], + ], + [ + 'name' => 'ScheduledStartTime', + 'in' => 'query', + 'schema' => ['description' => 'The time when you want to start the migration task. SMC automatically starts the migration task at the specified time.'."\n" + ."\n" + .'The time must follow the ISO 8601 standard and be in UTC. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" + ."\n" + .'> If you leave this parameter empty, SMC does not automatically start the migration task. You must call the [StartReplicationJob](~~121823~~) operation to start the task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the destination image. The name must meet the following requirements:'."\n" + ."\n" + .'- The image name must be unique in the same Alibaba Cloud region.'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> If an image with the same name already exists in the current region when the migration task is running, the system adds the migration task ID (JobId) to the end of the image name as a suffix. Example: ImageName-JobId.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testAliCloudImageName'], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], + ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => ['description' => 'The system disk size of the destination ECS instance. Unit: GiB. Valid values: 20 to 500.'."\n" + ."\n" + .'> The value of this parameter must be greater than the space that is used by the system disk of the source server. For example, if the system disk of the source server is 500 GiB in size and 100 GiB of the space is used, you must set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '50'], + ], + [ + 'name' => 'Frequency', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which an incremental migration task runs. Unit: hours. Valid values: 1 to 168.'."\n" + ."\n" + .'This parameter is required if the `RunOnce` parameter is set to false.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + ], + [ + 'name' => 'MaxNumberOfImageToKeep', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of images to retain for an incremental migration task. Valid values: 1 to 10.'."\n" + ."\n" + .'This parameter is required if the `RunOnce` parameter is set to false.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '5'], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The instance type of the intermediate instance.'."\n" + ."\n" + .'You can call the [DescribeInstanceTypes](~~25620~~) operation to query the instance types provided by ECS.'."\n" + ."\n" + .'- If you specify this parameter, the system creates an intermediate instance of this instance type. If the specified instance type is out of stock, the migration task fails to be created.'."\n" + ."\n" + .'- If you do not specify this parameter, the system selects an instance type in a specific order to create the intermediate instance. For more information, see [SMC FAQ](~~121707~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.c5.large'], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'lt-bp16jovvln1cgaaq****'], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Latest'], + ], + [ + 'name' => 'InstanceRamRole', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role for the instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'SMCAdmin'], + ], + [ + 'name' => 'ContainerNamespace', + 'in' => 'query', + 'schema' => ['description' => 'The namespace of the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testNamespace'], + ], + [ + 'name' => 'ContainerRepository', + 'in' => 'query', + 'schema' => ['description' => 'The image repository for the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testRepository'], + ], + [ + 'name' => 'ContainerTag', + 'in' => 'query', + 'schema' => ['description' => 'The image tag for the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'CentOS:v1'], + ], + [ + 'name' => 'ValidTime', + 'in' => 'query', + 'schema' => ['description' => 'The expiration time of the migration task. The value can be a time that is 7 to 90 days later than the time when the migration task is created.'."\n" + ."\n" + .'- You can modify the expiration time only when the migration task is in the Ready, Running, Stopped, InError, or Waiting state.'."\n" + ."\n" + .'- The time must follow the ISO 8601 standard and be in UTC. The format is `YYYY-MM-DDThh:mm:ssZ`. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" + ."\n" + .'- If you leave this parameter empty, the task does not expire.'."\n" + ."\n" + .'- After a task expires, it is marked as Expired. The task is retained for 7 days. After 7 days, the system automatically deletes the task.'."\n" + ."\n" + .'Default value: 30 days after the migration task is created. This means that the migration task is valid for 30 days by default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], + ], + [ + 'name' => 'SystemDiskPart', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the migration source. A workgroup can be associated with a maximum of 50 migration sources.'."\n", + 'description' => 'The partitions of the system disk.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of the migration source.'."\n", - 'type' => 'string', + 'description' => 'The partitions of the system disk.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of partition N of the destination system disk. Unit: bytes. The default value is the size of the source system disk partition.'."\n" + ."\n" + .'> The size of a partition cannot exceed the size of the system disk. The total size of all partitions in a system disk cannot exceed the size of the system disk.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Specifies whether to enable block replication for partition N of the destination system disk. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of partition N of the destination system disk.'."\n" + ."\n" + .'> For the value of N, see the device ID of the source partition.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '0_1'], + ], 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 32, + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}","type":"json"}]', - 'title' => 'AssociateSourceServers', - 'description' => 'A migration source can be associated with only one workgroup.'."\n", - ], - 'DisassociateSourceServers' => [ - 'summary' => 'Disassociates migration sources from a workgroup. If you do not need to use a workgroup to migrate migration sources, you can disassociate the migration sources from the workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ + 'description' => 'The data disks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data disks.', + 'type' => 'object', + 'properties' => [ + 'Index' => ['description' => 'The sequence number of the data disk on the destination ECS instance. Valid values: 1 to 16.'."\n" + ."\n" + .'The initial value is 1.'."\n" + ."\n" + .'> You can create a destination data disk only for a data disk that exists on the source server.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'Part' => [ + 'description' => 'The partitions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The partitions.', + 'type' => 'object', + 'properties' => [ + 'SizeBytes' => ['description' => 'The size of partition N of data disk N. Unit: bytes. The default value is the size of the source data disk partition.'."\n" + ."\n" + .'> The size of a partition cannot exceed the size of the data disk. The total size of all partitions in a data disk cannot exceed the size of the data disk.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], + 'Block' => ['description' => 'Specifies whether to enable block replication for partition N of data disk N. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Device' => ['description' => 'The device ID of partition N of data disk N.'."\n" + ."\n" + .'> For the value of N, see the device ID of the source partition.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '0_1'], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 32, + 'title' => '', + ], + 'Size' => ['description' => 'The size of the data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" + ."\n" + .'> The value of this parameter must be greater than the space that is used by the data disk of the source server. For example, if the data disk of the source server is 500 GiB in size and 100 GiB of the space is used, you must set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '100'], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 16, + 'title' => '', + ], + ], [ - 'AK' => [], + 'name' => 'NetMode', + 'in' => 'query', + 'schema' => ['description' => 'The network mode for data transmission. Valid values:'."\n" + ."\n" + .'- 0: Internet transfer mode. The source server must be able to access the Internet. Data is transferred over the Internet.'."\n" + ."\n" + .'- 2: internal network transfer mode. If you select this mode, you must set the VSwitchId parameter. The VpcId parameter is not required because the service can automatically query the VPC ID.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '240400', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch in the specified VPC.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], ], - ], - 'parameters' => [ [ - 'name' => 'WorkgroupId', + 'name' => 'VpcId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], + 'schema' => ['description' => 'The ID of the VPC that is configured with Express Connect or a VPN Gateway.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-bp1vwnn14rqpyiczj****'], ], [ - 'name' => 'SourceId', + 'name' => 'ReplicationParameters', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of migration sources that you want to disassociate from the workgroup. You can specify up to 50 migration sources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the migration source.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp17m1vi6x20c6g6****', - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The parameters of the replication driver. The parameters are key-value pairs in the JSON format. The keys are fixed. The value can be up to 2,048 characters in length.'."\n" + ."\n" + .'The replication driver is a tool that is used to replicate data from the source server to the intermediate instance. The parameters supported by replication drivers may vary. The SMT replication driver supports the following parameters:'."\n" + ."\n" + .'- bandwidth\\_limit: the bandwidth limit for data transmission.'."\n" + ."\n" + .'- compress\\_level: the compression ratio of data to be transferred.'."\n" + ."\n" + .'- checksum: specifies whether to enable checksum verification.'."\n" + ."\n" + .'For information about the value of the replication driver, see the `SourceServers.ReplicationDriver` parameter in the response of the [DescribeSourceServers](~~2402126~~) operation.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"bandwidth_limit":0,"compress_level":1,"checksum":true}'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01'], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + 400 => [ + ['errorCode' => 'DataDisk.DuplicateIndex', 'errorMessage' => 'The source server data disk cannot contain the same index.', 'description' => 'The source server data disk cannot contain the same index.'], + ['errorCode' => 'ReplicationJobDataDiskIndex.Invalid', 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], + ['errorCode' => 'ReplicationJobName.Duplicate', 'errorMessage' => 'The specified replication job name already exists.', 'description' => 'The specified replication job name already exists.'], + ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ReplicationJob.InvalidBusinessStatus', 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ImageName.UsedByReplicationJob', 'errorMessage' => 'The specified imageName: "%s" was used by another replication job in the current region.', 'description' => 'The specified imageName: "%s" was used by another replication job in the current region.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'ModifyReplicationJobAttribute', + 'description' => '## Description'."\n" + ."\n" + .'Before you modify a migration task, note the following:'."\n" + ."\n" + .'- The `Name` and `Description` parameters can be modified at any time during the lifecycle of the migration task.'."\n" + ."\n" + .'- The `Frequency` and `MaxNumberOfImageToKeep` parameters can be modified only before the migration task is executed or when the task is in the `Waiting` state.'."\n" + ."\n" + .'- Other parameters can be modified only before the migration task is executed.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifyReplicationJobAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', - 'title' => 'DisassociateSourceServers', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","type":"json"}]', ], - 'DescribeWorkgroups' => [ - 'summary' => 'Queries the information about workgroups. After you create a workgroup, you can query the information about the workgroup, such as the name, description, and alert information.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ModifySourceServerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '240404', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '18573', + 'abilityTreeNodes' => ['FEATUREsmcBBDD6M'], ], 'parameters' => [ [ - 'name' => 'WorkgroupId', + 'name' => 'SourceId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The workgroup IDs. You can specify up to 50 workgroup IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The workgroup ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'w-***', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 's-bp17m1vi6x20c6g6****'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workgroup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The state of the workgroup. Valid values:'."\n" - ."\n" - .'* NotStarted'."\n" - .'* InProgress'."\n" - .'* Cutover'."\n" - .'* Completed'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InProgress', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Minimum value: 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The name of the migration source. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character, and cannot start with `http://` or `https://`. The name can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testSourceServerName'], ], [ - 'name' => 'Tag', + 'name' => 'Description', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the reserved instance. You can specify up to 20 tags. If you specify multiple tags, the tag keys cannot be duplicated.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Tag N.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the workgroup. You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value of the workgroup. The tag value can be up to 128 characters in length, cannot be an empty string, and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The description of the migration source. The description can be up to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This is a source server.'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The information of parameters that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', - ], - 'TotalCount' => [ - 'description' => 'The total number of workgroups.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Workgroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Workgroup' => [ - 'description' => 'The details of the workgroup.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The object of the workgroup.'."\n", - 'type' => 'object', - 'properties' => [ - 'WorkgroupId' => [ - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'example' => 'w-***', - ], - 'Name' => [ - 'description' => 'The name of the workgroup.'."\n", - 'type' => 'string', - 'example' => 'testWorkgroupName', - ], - 'Description' => [ - 'description' => 'The description of the workgroup.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Status' => [ - 'description' => 'The state of the workgroup. Valid values:'."\n" - ."\n" - .'* NotStarted'."\n" - .'* InProgress'."\n" - .'* Cutover'."\n" - .'* Completed'."\n", - 'type' => 'string', - 'example' => 'InProgress', - ], - 'Warnings' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Warning' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'WarningType' => [ - 'type' => 'string', - ], - 'SourceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SourceId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tag information of the workgroup.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag information of the workgroup.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the workgroup.'."\n", - 'type' => 'string', - 'example' => ' '."\n" - .'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value of the workgroup.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + 400 => [ + ['errorCode' => 'SourceServerName.Duplicate', 'errorMessage' => 'The specified source server name already exists. Please modify the source server name.', 'description' => 'The specified source server name already exists. Please modify the source server name.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ModifySourceServerAttribute', + 'summary' => 'The ModifySourceServerAttribute operation modifies the name and description of a migration source.', + 'description' => '## Description'."\n" + ."\n" + .'You can modify the name and description of a migration source regardless of its status.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifySourceServerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Workgroups\\": {\\n \\"Workgroup\\": [\\n {\\n \\"WorkgroupId\\": \\"w-bp10geepnj916e3d****\\",\\n \\"Name\\": \\"testWorkgroupName\\",\\n \\"Description\\": \\"test\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Warnings\\": {\\n \\"Warning\\": [\\n {\\n \\"WarningType\\": \\"InError\\",\\n \\"SourceIds\\": {\\n \\"SourceId\\": [\\n \\"s-bp1h7ymebl7swbt4****\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"\\\\t\\\\nTestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeWorkgroups', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'ModifyWorkgroupAttribute' => [ - 'summary' => 'Modifies the name and description of a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4217,95 +3471,79 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '240380', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'WorkgroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], + 'schema' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workgroup. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique.'."\n" - .'* The name must be 2 to 64 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain digits, colons (:), periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testMigrationTaskName', - ], + 'schema' => ['description' => 'The name of the workgroup. The name must meet the following requirements:'."\n" + ."\n" + .'- The workgroup name must be unique.'."\n" + ."\n" + .'- The name must be 2 to 64 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The new description of the workgroup. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The description of the workgroup. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], ], ], ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', 'title' => 'ModifyWorkgroupAttribute', - ], - 'DeleteWorkgroup' => [ - 'summary' => 'Deletes a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'summary' => 'Modifies a workgroup\'s name and description.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifyWorkgroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', + ], + 'StartReplicationJob' => [ + 'summary' => 'You can call the StartReplicationJob operation to start a migration task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4314,77 +3552,68 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '240401', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '18576', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'WorkgroupId', + 'name' => 'JobId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21q****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'title' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'A required authorization for the specified action is not supplied.', - ], + 400 => [ + ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + 'title' => 'StartReplicationJob', + 'description' => '## Description'."\n" + ."\n" + .'This operation starts only migration tasks that are in the Ready, **Stopped**, or **InError** status.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:StartReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\"\\n}","type":"json"}]', - 'title' => 'DeleteWorkgroup', - 'description' => 'To delete a workgroup, you must delete or dissociate the migration source that is associated with the workgroup. For more information, see [DeleteSourceServer](~~2402124~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'TagResources' => [ - 'summary' => 'Creates tags and adds them to Server Migration Center (SMC) resources. The SMC resources include migration sources and jobs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StopReplicationJob' => [ + 'summary' => 'You can call the StopReplicationJob operation to stop a migration task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4393,77 +3622,15 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '18578', - 'abilityTreeNodes' => [ - 'FEATUREsmc6EK4ZG', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '18577', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SMC resource. Valid values:'."\n" - ."\n" - .'* sourceserver: migration source.'."\n" - .'* replicationjob: migration job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sourceserver', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of N SMC resources. SMC resources include migration sources and jobs. Valid values of N: 1 to 50.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The SMC resource ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bw526m1vi6x20c6g****', - ], - 'required' => true, - 'example' => 's-bw526m1vi6x20c6g****', - 'maxItems' => 51, - ], - ], - [ - 'name' => 'Tag', + 'name' => 'JobId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags list.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N to be added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. It can be up to 64 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N to be added to the SMC resource. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. It can be up to 64 characters in length and cannot contain http:// or https://.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21qh****'], ], ], 'responses' => [ @@ -4471,119 +3638,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', - ], - [ - 'errorCode' => 'MissingParameter.ResourceType', - 'errorMessage' => 'You must specify ResourceType.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified ResourceType does not exist.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', - ], - [ - 'errorCode' => 'Duplicate.ResourceId', - 'errorMessage' => 'The ResourceId contains duplicate values.', - ], - [ - 'errorCode' => 'InvalidResourceId.NotFound', - 'errorMessage' => 'The specified ResourceIds do not exist.', - ], + ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['errorCode' => 'ReplicationJob.InvalidBusinessStatus', 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 3E8B9ABB-289A-44E6-942D-8AA9E493****\\n","errorExample":""}]', - 'title' => 'TagResources', - 'description' => '## Usage notes'."\n" - ."\n" - .'Up to 20 tags can be added to each SMC resource.'."\n" + 'title' => 'StopReplicationJob', + 'description' => '## Description'."\n" ."\n" - .'Before you add tags to an SMC resource, Alibaba Cloud checks the number of the tags that have been added to the resource. If the maximum number is reached, an error message is returned.'."\n", + .'You can call this operation to stop migration tasks that are in the Running or Syncing state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTagResources' => [ - 'summary' => 'Queries the tags that are attached to Server Migration Center (SMC) resources. SMC resources include migration sources and migration jobs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:StopReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '18571', - 'abilityTreeNodes' => [ - 'FEATUREsmc6EK4ZG', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '18578', + 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SMC resource. Valid values:'."\n" - ."\n" - .'* sourceserver: migration source.'."\n" - .'* replicationjob: migration job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sourceserver', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], + 'schema' => ['description' => 'The type of the SMC resource. Valid values:'."\n" + ."\n" + .'- sourceserver: migration source'."\n" + ."\n" + .'- replicationjob: migration task', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'sourceserver'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of SMC resources. SMC resources include migration sources and migration jobs. You can specify a maximum of 50 SMC resource IDs.'."\n", + 'description' => 'The ID of the SMC resource. SMC resources include migration sources and migration tasks. You can specify 1 to 50 resource IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the SMC resource. SMC resources include migration sources and migration jobs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', - ], - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', + 'items' => ['description' => 'The ID of the SMC resource.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bw526m1vi6x20c6g****'], + 'required' => true, + 'example' => 's-bw526m1vi6x20c6g****', 'maxItems' => 51, + 'title' => '', ], ], [ @@ -4591,36 +3724,25 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are attached to SMC resources.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. The tag key must be 1 to 64 characters in length. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Tag.N is used for exact match of SMC resources to which the tag is attached. Tag N consists of a key-value pair.'."\n" - ."\n" - .'* Tag keys and values are case-sensitive.'."\n" - .'* If you set only the Tag.N.Key parameter, all resources to which the specified tags are attached are returned.'."\n" - .'* If you set only the Tag.N.Value parameter, the error message InvalidParameter.TagValue is returned.'."\n" - .'* If you specify multiple tag key-value pairs at a time, only SMC resources that match all tag key-value pairs are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. The value must be 1 to 64 characters in length. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of tag N to add to the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The key can be up to 64 characters in length. It cannot start with aliyun or acs:. It also cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of tag N to add to the SMC resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The value can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, - 'description' => 'The tags list.'."\n", + 'title' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 21, + 'title' => '', ], ], ], @@ -4629,103 +3751,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" - ."\n" - .'If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '17743161-66F3-4E7F-B8AE-845FB28B928F', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => 'The information about SMC resources and tags, such as the IDs, types, and tag key-value pairs of the resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::SMC::SOURCESERVER', - ], - 'TagValue' => [ - 'description' => 'The value of the tag that is attached to the resource.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 's-bp1e2fsl57knvuug****', - ], - 'TagKey' => [ - 'description' => 'The key of the tag that is attached to the resource.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - ], - 'description' => 'The details about the resources and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', - ], - [ - 'errorCode' => 'MissingParameter.ResourceType', - 'errorMessage' => 'You must specify ResourceType.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified ResourceType does not exist.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', - ], - [ - 'errorCode' => 'Duplicate.ResourceId', - 'errorMessage' => 'The ResourceId contains duplicate values.', - ], - [ - 'errorCode' => 'InvalidResourceId.NotFound', - 'errorMessage' => 'The specified ResourceIds do not exist.', - ], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', 'description' => 'The maximum number of Tag parameters cannot exceed 20.'], + ['errorCode' => 'MissingParameter.ResourceType', 'errorMessage' => 'You must specify ResourceType.', 'description' => 'You must specify ResourceType.'], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified ResourceType does not exist.', 'description' => 'The specified ResourceType does not exist.'], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', 'description' => 'The maximum number of ResourceId parameters cannot exceed 50.'], + ['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The ResourceId contains duplicate values.', 'description' => 'The ResourceId contains duplicate values.'], + ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds do not exist.', 'description' => 'The specified ResourceIds do not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"17743161-66F3-4E7F-B8AE-845FB28B928F\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::SMC::SOURCESERVER\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a4883\\n 17743161-66F3-4E7F-B8AE-845FB28B928F\\n \\n ALIYUN::SMC::SOURCESERVER\\n TestValue\\n s-bp1e2fsl57knvuug****\\n TestKey\\n \\n","errorExample":""}]', - 'title' => 'ListTagResources', + 'title' => 'TagResources', + 'summary' => 'You can call TagResources to create and attach tags to multiple SMC resources, such as migration sources and migration tasks.', + 'description' => '## Description'."\n" + ."\n" + .'Each SMC resource can have a maximum of 20 tags.'."\n" + ."\n" + .'Before you attach tags, Alibaba Cloud checks the number of existing tags on a resource. If the number exceeds the limit, an error message is returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#ReplicationJobId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', ], 'UntagResources' => [ - 'summary' => 'Removes tags that are added to Server Migration Center (SMC) resources. The SMC resources include migration sources and jobs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Detaches and deletes tags from specified SMC resources, such as migration sources and migration tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4736,55 +3811,41 @@ 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '18579', - 'abilityTreeNodes' => [ - 'FEATUREsmc6EK4ZG', - ], + 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the SMC resource. Valid values:'."\n" - ."\n" - .'* sourceserver: migration source.'."\n" - .'* replicationjob: migration job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sourceserver', - ], + 'schema' => ['description' => 'The type of the SMC resource. Valid values:'."\n" + ."\n" + .'- sourceserver: a migration source.'."\n" + ."\n" + .'- replicationjob: a migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'sourceserver'], ], [ 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags that are added to the specified SMC resource. This parameter is valid only if you do not set `TagKey.N`. Valid values:'."\n" - ."\n" - .'* true: removes all tags that are added to the specified SMC resource. If no tags are added to the specified SMC resource, no operation is performed.'."\n" - .'* false: does not remove tags that are added to the specified SMC resource.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to remove all tags from the SMC resources. This parameter takes effect only if you do not specify the `TagKey.N` parameter in the request. Valid values:'."\n" + ."\n" + .'- true: Removes all tags from the specified SMC resources. If no tags are attached to the SMC resources, no operation is performed.'."\n" + ."\n" + .'- false: Does not remove any tags from the specified SMC resources.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of N SMC resources. SMC resources include migration sources and jobs. Valid values of N: 1 to 50.'."\n", + 'description' => 'The IDs of the SMC resources. You can specify 1 to 50 resource IDs. SMC resources include migration sources and migration tasks.', 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of N SMC resources. SMC resources include migration sources and jobs. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp12tueadp5ndleg****', - ], + 'items' => ['description' => 'The ID of the SMC resource. You can specify 1 to 50 resource IDs. SMC resources include migration sources and migration tasks.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp12tueadp5ndleg****'], 'required' => true, 'example' => 's-bw526m1vi6x20c6g****', 'maxItems' => 51, + 'title' => '', ], ], [ @@ -4792,17 +3853,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The key of tag N that is added to the SMC resource. Tag keys are case-sensitive. Valid values of N: 1 to 20.'."\n", + 'description' => 'The keys of the tags to remove. You can specify 1 to 20 tag keys. Tag keys are case-sensitive.', 'type' => 'array', - 'items' => [ - 'description' => 'The key of tag N that is added to the SMC resource. Tag keys are case-sensitive. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'smc', - ], + 'items' => ['description' => 'The key of the tag to remove. You can specify 1 to 20 tag keys. Tag keys are case-sensitive.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'smc'], 'required' => false, 'example' => 'TestKey', 'maxItems' => 21, + 'title' => '', ], ], ], @@ -4811,672 +3868,467 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', - ], - [ - 'errorCode' => 'MissingParameter.ResourceType', - 'errorMessage' => 'You must specify ResourceType.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified ResourceType does not exist.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', - ], - [ - 'errorCode' => 'Duplicate.ResourceId', - 'errorMessage' => 'The ResourceId contains duplicate values.', - ], - [ - 'errorCode' => 'InvalidResourceId.NotFound', - 'errorMessage' => 'The specified ResourceIds do not exist.', - ], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', 'description' => 'The maximum number of Tag parameters cannot exceed 20.'], + ['errorCode' => 'MissingParameter.ResourceType', 'errorMessage' => 'You must specify ResourceType.', 'description' => 'You must specify ResourceType.'], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified ResourceType does not exist.', 'description' => 'The specified ResourceType does not exist.'], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceId parameters cannot exceed 50.', 'description' => 'The maximum number of ResourceId parameters cannot exceed 50.'], + ['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The ResourceId contains duplicate values.', 'description' => 'The ResourceId contains duplicate values.'], + ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds do not exist.', 'description' => 'The specified ResourceIds do not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2D69A58F-345C-4FDE-88E4-BF518948****\\n","errorExample":""}]', 'title' => 'UntagResources', - 'description' => 'You can call this operation to remove tags that are added to one or more SMC resources and delete the tags if the tags are no longer used.', + 'description' => 'If a tag is no longer needed, you can call this operation to detach and delete the tag from migration sources and migration tasks.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateAccessToken' => [ - 'summary' => 'Creates an activation code.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '144505', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the activation code. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', - 'type' => 'string', - 'required' => false, - 'example' => 'test_name', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the activation code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'The description of the activation code.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#ReplicationJobId}'], + ], ], ], - [ - 'name' => 'Count', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of times that the activation code can be used to import the information of migration sources. Valid values: 1 to 1000.'."\n" - ."\n" - .'Default value: 100.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'DataDisk.DuplicateIndex', 'message' => 'The source server data disk cannot contain the same index.', 'http_code' => 400, 'description' => 'The source server data disk cannot contain the same index.'], + ['code' => 'DataDisk.DuplicatePath', 'message' => 'The source server data disk cannot contain duplicate paths.', 'http_code' => 400, 'description' => 'The source server data disk cannot contain duplicate paths.'], + ['code' => 'Duplicate.ResourceId', 'message' => 'The specified ResourceId contains duplicate values.', 'http_code' => 400, 'description' => 'The specified ResourceId contains duplicate values.'], + ['code' => 'Duplicate.ResourceId', 'message' => 'The ResourceId contains duplicate values.', 'http_code' => 400, 'description' => 'The ResourceId contains duplicate values.'], + ['code' => 'Duplicate.TagKey', 'message' => 'Tag.N.Key contains duplicate values.', 'http_code' => 400, 'description' => 'Tag.N.Key contains duplicate values.'], + ['code' => 'EntityNotExist.Role', 'message' => 'The account is unauthorized. Please assign the role AliyunSMCDefaultRole to your account.', 'http_code' => 403, 'description' => 'The account is unauthorized. Please assign the role AliyunSMCDefaultRole to your account.'], + ['code' => 'EntityNotExist.Role', 'message' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', 'http_code' => 403, 'description' => 'The account does not have the operation permission, please assign the account AliyunServiceRoleForSMC role.'], + ['code' => 'Forbidden.Unauthorized', 'message' => 'A required authorization for the specified action is not supplied.', 'http_code' => 403, 'description' => ''], + ['code' => 'ImageName.Exist', 'message' => 'The specified imageName already exists in the current region.', 'http_code' => 400, 'description' => 'The specified imageName already exists in the current region.'], + ['code' => 'ImageName.UsedByReplicationJob', 'message' => 'The specified imageName was used by another replication job in the current region.', 'http_code' => 400, 'description' => 'The specified imageName was used by another replication job in the current region.'], + ['code' => 'ImageName.UsedByReplicationJob', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified imageName was used by another replication job in the current region.'."\n"], + ['code' => 'ImageName.UsedByReplicationJob', 'message' => 'The specified imageName: "%s" was used by another replication job in the current region.', 'http_code' => 400, 'description' => 'The specified imageName: "%s" was used by another replication job in the current region.'], + ['code' => 'InternalError', 'message' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'http_code' => 500, 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ['code' => 'InvalidOsMigrationType.NotMatched', 'message' => '%s.', 'http_code' => 400, 'description' => 'The source os type and target os type are not matched.'], + ['code' => 'InvalidOsMigrationType.NotMatched', 'message' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.', 'http_code' => 400, 'description' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.'], + ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds do not exist.', 'http_code' => 400, 'description' => 'The specified ResourceIds do not exist.'], + ['code' => 'InvalidResourceType.NotFound', 'message' => 'The specified ResourceType does not exist.', 'http_code' => 400, 'description' => 'The specified ResourceType does not exist.'], + ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => 'The network type of the specified security group does not support this action.', 'http_code' => 400, 'description' => 'The network type of the specified security group does not support this action.'], + ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'http_code' => 400, 'description' => 'The specified security group and the specified virtual switch are not in the same VPC.'], + ['code' => 'InvalidTagKey.Malformed', 'message' => 'The specified format of TagKey is invalid.', 'http_code' => 400, 'description' => 'The specified format of TagKey is invalid.'], + ['code' => 'InvalidTagValue.Malformed', 'message' => 'The specified format of TagValue is invalid.', 'http_code' => 400, 'description' => 'The specified format of TagValue is invalid.'], + ['code' => 'MissingParameter.ResourceIds', 'message' => 'You must specify ResourceId.N.', 'http_code' => 400, 'description' => 'You must specify ResourceId.N.'], + ['code' => 'MissingParameter.ResourceIdsOrTags', 'message' => 'Either ResourceId.N or Tags should be specified.', 'http_code' => 400, 'description' => 'Either ResourceId.N or Tags must be specified.'], + ['code' => 'MissingParameter.ResourceType', 'message' => 'You must specify ResourceType.', 'http_code' => 400, 'description' => 'You must specify ResourceType.'], + ['code' => 'MissingParameter.TagKey', 'message' => 'You must specify Tag.N.Key.', 'http_code' => 400, 'description' => 'You must specify Tag.N.Key.'], + ['code' => 'MissingParameter.Tags', 'message' => 'You must specify Tags.', 'http_code' => 400, 'description' => 'You must specify Tags.'], + ['code' => 'MissingParameter.TagValue', 'message' => 'You must specify Tag.N.Value.', 'http_code' => 400, 'description' => 'You must specify Tag.N.Value.'], + ['code' => 'NotAllowed.PrivateIPHasReverseDependency', 'message' => 'The private IP address of the instance has reverse dependency.', 'http_code' => 400, 'description' => 'The private IP address of the instance has a reverse dependency.'], + ['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.', 'http_code' => 400, 'description' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.'], + ['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceId parameters cannot exceed 50.', 'http_code' => 400, 'description' => 'The maximum number of ResourceId parameters cannot exceed 50.'], + ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of Tags is exceeded. The maximum value is 20.', 'http_code' => 400, 'description' => 'The maximum number of Tags is exceeded. The maximum value is 20.'], + ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of the Tag parameters cannot exceed 20.', 'http_code' => 400, 'description' => 'The maximum number of Tag parameters cannot exceed 20.'], + ['code' => 'QuotaExceeded.ReplicationJob', 'message' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', 'http_code' => 400, 'description' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.'], + ['code' => 'QuotaExceeded.SourceServer', 'message' => 'The maximum number of source servers is exceeded. Please submit a ticket.', 'http_code' => 400, 'description' => 'The maximum number of source servers is exceeded. Please submit a ticket.'], + ['code' => 'RealNameAuthenticationError', 'message' => 'You must perform real-name verification for your account.', 'http_code' => 403, 'description' => 'The account does not have real-name authentication. Please perform real-name authentication first.'], + ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => 'The specified business status of the replication job is invalid.', 'http_code' => 400, 'description' => 'The specified business status of the replication job is invalid.'], + ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified business status of the replication job is invalid.'."\n"], + ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], + ['code' => 'ReplicationJob.InvalidStatus', 'message' => 'The specified replication job status is invalid.', 'http_code' => 400, 'description' => 'The specified replication job status is invalid.'], + ['code' => 'ReplicationJob.InvalidStatus', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified replication job status is invalid.'."\n"], + ['code' => 'ReplicationJob.InvalidStatus', 'message' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['code' => 'ReplicationJob.NotFound', 'message' => 'The specified replication job does not exist.', 'http_code' => 400, 'description' => 'The specified replication job does not exist.'], + ['code' => 'ReplicationJob.Related', 'message' => 'The specified source server has related replication jobs.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs.'], + ['code' => 'ReplicationJob.Related', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs.'."\n"], + ['code' => 'ReplicationJob.Related', 'message' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.'], + ['code' => 'ReplicationJobAttribute.InvalidForModify', 'message' => 'The current replication job status is not ready. Only Name and Description in the replication job attribute can be modified.', 'http_code' => 400, 'description' => 'The current replication job status is not Ready. Only Name and Description in the replication job attribute can be modified.'], + ['code' => 'ReplicationJobDataDiskIndex.Invalid', 'message' => 'The specified replication job contains data disk index not found in source server.', 'http_code' => 400, 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], + ['code' => 'ReplicationJobName.Duplicate', 'message' => 'The specified replication job name already exists.', 'http_code' => 400, 'description' => 'The specified replication job name already exists.'], + ['code' => 'ReplicationJobRunningNum.Exceeded', 'message' => 'The maximum number of replication jobs that can be run simultaneously by the current user is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of replication jobs that can be run simultaneously by the current user is exceeded.'], + ['code' => 'SourceServer.WithRunningReplicationJob', 'message' => 'The specified source server has related replication jobs that are running.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs that are running.'], + ['code' => 'SourceServerId.NotExist', 'message' => 'The specified sourceServerId does not exist.', 'http_code' => 404, 'description' => 'The specified sourceServerId does not exist.'], + ['code' => 'SourceServerId.NotExist', 'message' => 'The specified source server ID does not exist.', 'http_code' => 400, 'description' => 'The specified source server ID does not exist.'], + ['code' => 'SourceServerName.Duplicate', 'message' => 'The specified source server name already exists. Please modify the source server name.', 'http_code' => 400, 'description' => 'The specified source server name already exists. Please modify the source server name.'], + ['code' => 'SourceServerState.Invalid', 'message' => 'The specified source server status is invalid.', 'http_code' => 400, 'description' => 'The specified source server status is invalid.'], + ['code' => 'SourceServerState.Invalid', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified source server status is invalid.'."\n"], + ['code' => 'SourceServerState.Invalid', 'message' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], + ['code' => 'VSwitchIdVpcId.Mismatch', 'message' => 'The specified VSwitchId and VpcId does not match.', 'http_code' => 400, 'description' => 'The specified VSwitchId and VpcId does not match.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCrossZoneMigrationJob'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccessToken'], + ], + ], + 'ram' => [ + 'productCode' => 'SMC', + 'productName' => 'Server Migration Center', + 'ramCodes' => ['smc'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DeleteAccessToken', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TimeToLiveInDays', - 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the activation code. The activation code can no longer be used to import the information of migration sources after the code expires. Unit: day. Valid values: 1 to 90.'."\n" - ."\n" - .'Default value: 30.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '30', + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#AccountId}:replicationjob/{#ReplicationJobId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****', - ], - 'AccessTokenCode' => [ - 'description' => 'The value of the activation code. The value is returned only once after the CreateAccessToken operation is called and cannot be subsequently queried. Make sure that you properly save the returned value.'."\n", - 'type' => 'string', - 'example' => 'B57QoTXEA2Tytr0uZWoNY5Aju5Jt****', - ], - 'AccessTokenId' => [ - 'description' => 'The ID of the activation code.'."\n", - 'type' => 'string', - 'example' => 'at-bp1akz2zp67r0k6r****', - ], - ], + [ + 'apiName' => 'DescribeReplicationJobs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeReplicationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + [ + 'apiName' => 'ListAccessTokens', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:ListAccessTokens', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\",\\n \\"AccessTokenCode\\": \\"B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\",\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DB4A7EA2-6FDA-5655-B067-854532FB****\\n B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\n at-bp1akz2zp67r0k6r****\\n","errorExample":""}]', - 'title' => 'CreateAccessToken', - 'description' => 'If you want to import the information of migration sources by using an activation code, you can call this operation to create one.'."\n", - ], - 'DisableAccessToken' => [ - 'summary' => 'Disables an activation code.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'CreateReplicationJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/*'], + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DisassociateSourceServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisassociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#ReplicationJobId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'StartReplicationJob', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '144984', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', + 'ramAction' => [ + 'action' => 'smc:StartReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AccessTokenId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the activation code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'at-bp12g5gwup0yzmce****', + [ + 'apiName' => 'ModifyWorkgroupAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifyWorkgroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '686BB8A6-BBA5-47E5-8A75-D2ADE433****', - ], - ], + [ + 'apiName' => 'CreateWorkgroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + [ + 'apiName' => 'StopReplicationJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:StopReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"686BB8A6-BBA5-47E5-8A75-D2ADE433****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 686BB8A6-BBA5-47E5-8A75-D2ADE433****\\n","errorExample":""}]', - 'title' => 'DisableAccessToken', - 'description' => 'To prevent an activation code from being leaked, you can call this operation to disable the activation code. Disabled activation codes can no longer be used to import the information about migration sources. However, migration sources whose information has been imported are not affected.'."\n", - ], - 'ListAccessTokens' => [ - 'summary' => 'Queries activation codes and the usage details of the activation codes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'CutOverReplicationJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:CutOverReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeWorkgroups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'smc:DescribeWorkgroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeSourceServers', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '144510', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', + 'ramAction' => [ + 'action' => 'smc:DescribeSourceServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AccessTokenId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about activation codes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the activation code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'at-bp1akz2zp67r0k6r****', - ], - 'required' => false, - 'maxItems' => 100, + [ + 'apiName' => 'CreateAccessToken', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the activation code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_name', + ], + [ + 'apiName' => 'AssociateSourceServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:AssociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the activation code. Valid values:'."\n" - ."\n" - .'* activated'."\n" - .'* unactivated'."\n" - .'* expired'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'activated', + ], + [ + 'apiName' => 'CreateCrossZoneMigrationJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateCrossZoneMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E2DA3097-79B9-53AE-B0DF-281DC54F****', - ], - 'AccessTokens' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AccessToken' => [ - 'description' => 'The activation codes returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The activation codes returned.', - 'type' => 'object', - 'properties' => [ - 'AccessTokenId' => [ - 'description' => 'The ID of the activation code.'."\n", - 'type' => 'string', - 'example' => 'at-bp1akz2zp67r0k6r****', - ], - 'TimeToLiveInDays' => [ - 'description' => 'The validity period of the activation code. Unit: day. Valid values: 1 to 90. Default value: 30.'."\n", - 'type' => 'string', - 'example' => '30', - ], - 'Count' => [ - 'description' => 'The maximum number of times that the activation code can be used. Valid values: 1 to 1000.'."\n" - ."\n" - .'Default value: 100.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'RegisteredCount' => [ - 'description' => 'The number of migration sources whose information has been imported to Server Migration Center (SMC) by using the activation code.'."\n", - 'type' => 'string', - 'example' => '5', - ], - 'CreationTime' => [ - 'description' => 'The time when the activation code was created. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-09-09T02:35:44Z', - ], - 'Status' => [ - 'description' => 'The status of the activation code. Valid values:'."\n" - ."\n" - .'* activated'."\n" - .'* unactivated'."\n" - .'* expired'."\n", - 'type' => 'string', - 'example' => 'activated', - ], - 'Name' => [ - 'description' => 'The name of the activation code.'."\n", - 'type' => 'string', - 'example' => 'test_name', - ], - 'Description' => [ - 'description' => 'The description of the activation code.'."\n", - 'type' => 'string', - 'example' => 'This is an activation code', - ], - ], - ], - ], - ], - ], - 'TotalCount' => [ - 'description' => 'The total number of migration sources returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageNumber' => [ - 'description' => 'The number of entries per page. Valid values:'."\n" - ."\n" - .'* 10'."\n" - .'* 20'."\n" - .'* 50'."\n" - ."\n" - .'Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - ], + [ + 'apiName' => 'DeleteReplicationJob', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + [ + 'apiName' => 'DisableAccessToken', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisableAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E2DA3097-79B9-53AE-B0DF-281DC54F****\\",\\n \\"AccessTokens\\": {\\n \\"AccessToken\\": [\\n {\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\",\\n \\"TimeToLiveInDays\\": \\"30\\",\\n \\"Count\\": \\"100\\",\\n \\"RegisteredCount\\": \\"5\\",\\n \\"CreationTime\\": \\"2022-09-09T02:35:44Z\\",\\n \\"Status\\": \\"activated\\",\\n \\"Name\\": \\"test_name\\",\\n \\"Description\\": \\"这是激活码\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 20\\n}","errorExample":""},{"type":"xml","example":"\\n E2DA3097-79B9-53AE-B0DF-281DC54F****\\n \\n at-bp1akz2zp67r0k6r****\\n 30\\n 100\\n 5\\n 2022-09-09T02:35:44Z\\n activated\\n test_name\\n 这是激活码\\n \\n 2\\n 1\\n 20\\n","errorExample":""}]', - 'title' => 'ListAccessTokens', - 'description' => 'You can call this operation to query activation codes and the usage details of the activation codes. An activation code can be in the activated, unactivated, or expired state.'."\n", - ], - 'DeleteAccessToken' => [ - 'summary' => 'Deletes an activation code.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#ReplicationJobId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '144985', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', + [ + 'apiName' => 'ModifyReplicationJobAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifyReplicationJobAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AccessTokenId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the activation code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'at-bp1akz2zp67r0k6r****', + [ + 'apiName' => 'ModifySourceServerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifySourceServerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****', - ], - ], + [ + 'apiName' => 'DeleteSourceServer', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteSourceServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', + [ + 'apiName' => 'DeleteWorkgroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DB4A7EA2-6FDA-5655-B067-854532FB****\\n","errorExample":""}]', - 'title' => 'DeleteAccessToken', - 'description' => 'You can call this operation to delete an activation code if you no longer need to import the information about migration sources by using the activation code or if the activation code has expired.'."\n", - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'smc.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'smc.aliyuncs.com', ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'smc.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#AccountId}:replicationjob/{#ReplicationJobId}'], + ['validationType' => 'always', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/*'], + ['validationType' => 'always', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ['validationType' => 'always', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ['validationType' => 'always', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], ], ], ]; -- cgit v1.2.3