diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/smc/2019-06-01/api-docs.php | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/smc/2019-06-01/api-docs.php')
| -rw-r--r-- | data/en_us/smc/2019-06-01/api-docs.php | 6946 |
1 files changed, 2899 insertions, 4047 deletions
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,844 +1,210 @@ <?php return [ 'version' => '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', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'j-bp19vlwm0tyigbmj****', - ], - ], - [ - 'name' => 'State', - 'in' => 'query', - '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', - ], - ], - [ - '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', - ], - ], - [ - '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', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'WorkgroupId', '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', - ], + '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 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****', - ], - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmw3ty5y7****', - ], - ], - [ - 'name' => 'Tag', - '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, - ], - ], - [ - 'name' => 'RelatedJobType', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The type of migration job that is associated with the migration source.'."\n", + 'description' => 'The IDs of the migration sources. You can associate a maximum of 50 migration sources with a group.', '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', - 'required' => false, - 'example' => 'Server', - ], - 'required' => false, + 'items' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], + 'required' => true, 'maxItems' => 100, - ], - ], - [ - 'name' => 'WorkgroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The workgroup ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'w-bp1ja22kdqphehlj****', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The collection of information.'."\n", + 'title' => 'Schema of Response', + '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' => ['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.', - ], + ['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'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - '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":"<DescribeSourceServersResponse>\\n <SourceServers>\\n <CreationTime>2019-06-27T02:58:09Z</CreationTime>\\n <HeartbeatRate>30</HeartbeatRate>\\n <State>InUse</State>\\n <DataDisks>\\n <Index>1</Index>\\n <Size>20</Size>\\n <Parts>\\n <CanBlock>false</CanBlock>\\n <SizeBytes>21474836480</SizeBytes>\\n <Need>false</Need>\\n <Device>1_0</Device>\\n <Path>/home/data</Path>\\n </Parts>\\n <Path>/home/data</Path>\\n </DataDisks>\\n <SystemDiskParts>\\n <CanBlock>true</CanBlock>\\n <SizeBytes>254803968</SizeBytes>\\n <Need>true</Need>\\n <Device>0_0</Device>\\n <Path>/boot</Path>\\n </SystemDiskParts>\\n <KernelLevel>1</KernelLevel>\\n <SourceId>s-bp1e2fsl57knvuug****</SourceId>\\n <AgentVersion>1.5.2.3</AgentVersion>\\n <StatusInfo>{\\"error_code\\": \\"S1\\", \\"error_msg\\": \\"Rsync not found. Please install rsync.\\"}</StatusInfo>\\n <SystemDiskSize>40</SystemDiskSize>\\n <Description>Server Source Imported By GotoAliyun.</Description>\\n <ErrorCode>SourceServer.Offline</ErrorCode>\\n <JobId>j-bp19vlwm0tyigbmj****</JobId>\\n <Platform>OpenSUSE</Platform>\\n <ReplicationDriver>SMT</ReplicationDriver>\\n <Name>SourceServerName</Name>\\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\\\\\\"}</SystemInfo>\\n <Architecture>x86_64</Architecture>\\n <ResourceGroupId>rg-acfmw3ty5y7****</ResourceGroupId>\\n <Tags>\\n <Key>TestKey</Key>\\n <Value>TestValue</Value>\\n </Tags>\\n </SourceServers>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>410E6073-66D0-45D3-AB3E-4DC3F5E4****</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeSourceServersResponse>","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' => ' ', - ], - 'ModifySourceServerAttribute' => [ - 'summary' => 'Modifies the name and description of a migration source.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + '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', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18573', - 'abilityTreeNodes' => [ - 'FEATUREsmcBBDD6M', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '144505', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SourceId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration source ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 's-bp17m1vi6x20c6g6****', - ], + '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' => 'Name', + 'name' => 'Description', '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 description of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '这是导入迁移源激活码'], ], [ - 'name' => 'Description', + 'name' => 'Count', '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.', - ], + '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' => 'TimeToLiveInDays', + 'in' => 'query', + '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' => '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' => '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****'], ], - 'description' => '', + 'title' => '', ], ], ], '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.', + ['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' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteReplicationJobResponse>\\r\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\r\\n</DeleteReplicationJobResponse>","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' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\",\\n \\"AccessTokenCode\\": \\"B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\",\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\"\\n}","type":"json"}]', ], - 'DeleteSourceServer' => [ - 'summary' => 'Deletes a migration source.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + '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' => [ [ 'AK' => [], @@ -847,94 +213,151 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '18563', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149399', + 'abilityTreeNodes' => ['FEATUREsmcL35UBA'], + '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, 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' => 'Force', + 'name' => 'ClientToken', + 'in' => 'query', + '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' => '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' => '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', + 'description' => 'The disk information.', + 'type' => 'array', + 'items' => [ + '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, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'true', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], + ], ], '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' => 'A9DBD2F8-DE5A-5844-BA6F-957A996CBD78'], + 'JobId' => ['description' => 'The migration job ID.', 'type' => 'string', 'title' => '', 'example' => 'j-bp17bclvg344jlyt****'], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['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' => '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.'], + ], + ], + '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 \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSourceServerResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</DeleteSourceServerResponse>","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' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A9DBD2F8-DE5A-5844-BA6F-957A996CBD78\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","type":"json"}]', ], 'CreateReplicationJob' => [ - 'summary' => 'Creates a migration job for a source server.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -947,422 +370,278 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '18560', - 'abilityTreeNodes' => [ - 'FEATUREsmcBBDD6M', - ], + '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', - ], + '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' => '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' => '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 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', - ], + '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 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', - ], + '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'], ], [ 'name' => 'SourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the source server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 's-bp1e2fsl57knvuug****', - ], + 'schema' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => true, 'title' => '', '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', - ], + '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'], ], [ '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', - ], + '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'], ], [ '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', - ], + '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' => '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', - ], + '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'], ], [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1f1dvfto1sigz5****', - ], + '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 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', - ], + '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'], ], [ '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****', - ], + '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****'], ], [ '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****', - ], + '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":"<CreateReplicationJobResponse>\\n <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>\\n <JobId>j-bp17bclvg344jlyt****</JobId>\\n</CreateReplicationJobResponse>","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" + .'- 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" - .'* 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", + .'- 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,632 +926,266 @@ '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****', - ], - ], - [ - '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 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', - ], - ], - [ - '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 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', - ], - ], - [ - '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', - ], - ], - [ - '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', - ], - ], - [ - '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 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', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The destination instance ID.'."\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 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', - ], + 'schema' => ['description' => 'The ID of the incremental migration job.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp1fnx5y3djc4cop****'], ], [ - 'name' => 'Frequency', - 'in' => 'query', - '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', - ], - ], - [ - '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', - ], - ], - [ - 'name' => 'InstanceType', - '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', - ], - ], - [ - 'name' => 'LaunchTemplateId', + 'name' => 'SyncData', 'in' => 'query', - 'schema' => [ - 'description' => 'The launch template ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-bp16jovvln1cgaaq****', - ], + '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' => 'LaunchTemplateVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Latest', - ], - ], - [ - 'name' => 'InstanceRamRole', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'title' => '', ], ], - [ - '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', - ], + ], + '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.'], ], - [ - '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', - ], + 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.'], ], - [ - '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', + ], + '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' => '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" - .'* 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', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '144985', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], + ], + 'parameters' => [ [ - 'name' => 'SystemDiskPart', + 'name' => 'AccessTokenId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The partition information of the system disk.'."\n", - '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, - ], - 'required' => false, - 'maxItems' => 32, - ], + 'schema' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], ], - [ - 'name' => 'DataDisk', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The information about the data disk.'."\n", - '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, + '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****'], ], - 'required' => false, - 'maxItems' => 16, + 'title' => '', ], ], - [ - '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 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', - ], + ], + '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.'], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch in the VPC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1ddbrxdlrcbim46****', + ], + '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' => 'VpcId', - '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****', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '18562', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], + ], + 'parameters' => [ [ - 'name' => 'ReplicationParameters', + 'name' => 'JobId', 'in' => 'query', - '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}', - ], + 'schema' => ['description' => 'The ID of the migration job.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp17m1vi6x21qhqk****'], ], ], 'responses' => [ @@ -2369,73 +1193,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', + 'title' => '', ], ], ], '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.', - ], + ['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.', - ], + ['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\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyReplicationJobAttributeResponse>\\n <RequestId>1C488B66-B819-4D14-8711-C4EAAA13AC01</RequestId>\\n</ModifyReplicationJobAttributeResponse>","errorExample":""}]', - 'title' => 'ModifyReplicationJobAttribute', - 'description' => '## Usage notes'."\n" + 'title' => 'DeleteReplicationJob', + 'description' => '## Description'."\n" ."\n" - .'Before you modify the parameters of a migration job, take note of the following information:'."\n" + .'- You cannot recover a migration job after it is deleted.'."\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", + .'- When you delete a migration job, related resources such as intermediate instances are automatically released.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartReplicationJob' => [ - 'summary' => 'Starts a migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + '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' => [ [ 'AK' => [], @@ -2444,76 +1248,80 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18576', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '18563', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'SourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bw526m1vi6x21q****', - ], + 'schema' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 's-bp17m1vi6x20c6g6****'], + ], + [ + '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 request ID.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + '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.', - ], + ['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.', - ], + ['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":"<StartReplicationJobResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</StartReplicationJobResponse>","errorExample":""}]', - 'title' => 'StartReplicationJob', - 'description' => '## Usage notes'."\n" + 'title' => 'DeleteSourceServer', + 'description' => '## Interface description'."\n" ."\n" - .'This operation can only be used to start the migration jobs that are in the Ready, Stopped, or InError state.'."\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' => ' ', - ], - 'StopReplicationJob' => [ - 'summary' => 'Pauses a migration job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + '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' => [ [ 'AK' => [], @@ -2522,76 +1330,68 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18577', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '240401', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'JobId', + 'name' => 'WorkgroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bw526m1vi6x21qh****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + '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' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****'], ], - '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.', - ], + 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'], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<StopReplicationJobResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</StopReplicationJobResponse>","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' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\"\\n}","type":"json"}]', ], 'DescribeReplicationJobs' => [ - 'summary' => 'Queries the details of migration jobs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Retrieves details about one or more migration tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2604,112 +1404,81 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '18568', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testMigrationTaskName', - ], + 'schema' => ['description' => 'The name of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ '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 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 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' => 'Status', '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 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' => 'BusinessStatus', '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 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' => '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 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' => '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 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 IDs of the source servers. You can specify a maximum of 50 IDs.'."\n", + 'description' => 'The IDs of the migration sources. You can specify up to 50 migration source IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the source server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1bjhkwk2j5hlbn****', - ], + '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, 'example' => 's-bp1e2fsl57knvuug****', 'maxItems' => 100, + 'title' => '', ], ], [ @@ -2717,94 +1486,70 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the migration jobs. You can specify a maximum of 50 IDs.'."\n", + 'description' => 'The IDs of the migration tasks. You can specify up to 50 migration task IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the migration job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'j-bp1h3d33mekxwu0n****', - ], + '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, 'example' => 'j-bp19vlwm0tyigbmj****', 'maxItems' => 100, + 'title' => '', ], ], [ '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 VMware migration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '0'], ], [ 'name' => 'InstanceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the destination Elastic Compute Service (ECS) instances.'."\n", + 'description' => 'The instance ID.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the destination ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1f1dvfto1sigz5****', - ], + 'items' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], 'required' => false, 'maxItems' => 21, + 'title' => '', ], ], [ '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' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about tags that are attached to the SMC resource.'."\n", + 'description' => 'The tags of the SMC resource.', 'type' => 'array', 'items' => [ - 'description' => 'The tags list.'."\n", + 'description' => 'The tags of the SMC resource.', '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', - ], + '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' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', ], ], ], @@ -2813,1127 +1558,852 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of migration jobs returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], + 'TotalCount' => ['description' => 'The total number of migration tasks.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], 'ReplicationJobs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ReplicationJob' => [ - 'description' => 'The details of migration jobs.'."\n", + 'description' => 'A collection of migration task details.', 'type' => 'array', 'items' => [ - 'description' => 'The details of migration jobs.'."\n", + 'description' => 'A collection of migration task details.', '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', - ], + '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 on the destination ECS instance.'."\n", + 'description' => 'The data disks of the destination Alibaba Cloud Elastic Compute Service (ECS) instance.', 'type' => 'array', 'items' => [ - 'description' => 'The data disks on the destination Elastic Compute Service (ECS) instance.', + 'description' => 'The data disks of the destination Alibaba Cloud ECS instance.', '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' => '40'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ - 'description' => 'The data disk partitions.'."\n", + 'description' => 'The information about the data disk partitions.', 'type' => 'array', 'items' => [ - 'description' => '', + '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', - ], - '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', - ], + '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 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****', - ], + '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 system disk partitions.'."\n", + 'description' => 'The information about the system disk partitions.', 'type' => 'array', 'items' => [ - 'description' => '', + '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', - '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', - ], + '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.'."\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', - ], + '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 execution records of the migration job.'."\n", + 'description' => 'The running records of the migration task.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The running records of the migration task.', '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****', - ], + '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 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****', - ], + '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 information about tags that are attached to the SMC resource.'."\n", + 'description' => 'The tags of the SMC resource.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tags of the SMC resource.', '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 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 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', - '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 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 information about the system disk partition.'."\n", + 'description' => 'The system disk partition information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the system disk partition.'."\n", + 'description' => 'The system disk partition information.', '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', - ], + '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 information about the data disk.'."\n", + 'description' => 'The data disk information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk.'."\n", + 'description' => 'The data disk information.', '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 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 information about the data disk partition.'."\n", + 'description' => 'The data disk partition information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disk partition.'."\n", + 'description' => 'The data disk partition information.', '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", - ], + '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', - ], + 'WorkgroupId' => ['type' => 'string', 'description' => 'The ID of the workgroup.', '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', - ], + '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' => [ 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":"<DescribeReplicationJobsResponse>\\n <TotalCount>5</TotalCount>\\n <ReplicationJobs>\\n <Frequency>15</Frequency>\\n <VpcId>vpc-bp1vwnn14rqpyiczj****</VpcId>\\n <CreationTime>2014-07-24T13:00:52Z</CreationTime>\\n <Status>Running</Status>\\n <ScheduledStartTime>2019-06-04T13:35:00Z</ScheduledStartTime>\\n <MaxNumberOfImageToKeep>8</MaxNumberOfImageToKeep>\\n <ContainerNamespace>testNamespace</ContainerNamespace>\\n <DataDisks>\\n <Index>1</Index>\\n <Size>40</Size>\\n <Parts>\\n <SizeBytes>21474836480</SizeBytes>\\n <Block>true</Block>\\n <Device>0_1</Device>\\n </Parts>\\n </DataDisks>\\n <StatusInfo>statusinfo</StatusInfo>\\n <InstanceRamRole>SMCAdmin</InstanceRamRole>\\n <SystemDiskSize>40</SystemDiskSize>\\n <Description>This is my migration task.</Description>\\n <ReplicationParameters>BandWidthLimit:0</ReplicationParameters>\\n <ErrorCode>InternalError</ErrorCode>\\n <ValidTime>2019-06-08T14:40:52Z</ValidTime>\\n <NetMode>0</NetMode>\\n <ContainerTag>CentOS:v1</ContainerTag>\\n <LicenseType>BYOL</LicenseType>\\n <Name>testMigrationTaskName</Name>\\n <ImageId>m-o6w3gy99qf89rkga****</ImageId>\\n <Progress>100</Progress>\\n <RunOnce>true</RunOnce>\\n <LaunchTemplateId>lt-launchtemplateid</LaunchTemplateId>\\n <ContainerRepository>testRepository</ContainerRepository>\\n <InstanceId>i-bp1ff25rzvnul6kr****</InstanceId>\\n <SystemDiskParts>\\n <SizeBytes>254803968</SizeBytes>\\n <Block>true</Block>\\n <Device>0_1</Device>\\n </SystemDiskParts>\\n <InstanceType>ecs.sn1ne.large</InstanceType>\\n <SourceId>s-bp1e2fsl57knvuug****</SourceId>\\n <LaunchTemplateVersion>1</LaunchTemplateVersion>\\n <RegionId>cn-hangzhou</RegionId>\\n <TransitionInstanceId>i-bp1ff25rzvnul6kr****</TransitionInstanceId>\\n <EndTime>2019-06-04T16:00:52Z</EndTime>\\n <StartTime>2019-06-04T14:40:52Z</StartTime>\\n <VSwitchId>vsw-bp1ddbrxdlrcbim46****</VSwitchId>\\n <JobId>j-bp19vlwm0tyigbmj****</JobId>\\n <ImageName>testAliCloudImageName</ImageName>\\n <BusinessStatus>Preparing</BusinessStatus>\\n <ReplicationJobRuns>\\n <EndTime>2019-10-04T13:35:00Z</EndTime>\\n <Type>Schedule</Type>\\n <StartTime>2019-10-01T13:35:00Z</StartTime>\\n <ImageId>m-o6w3gy99qf89rkga****</ImageId>\\n </ReplicationJobRuns>\\n <TargetType>Image</TargetType>\\n <JobType>0</JobType>\\n <ResourceGroupId>rg-acfmw3ty5y7****</ResourceGroupId>\\n <Tags>\\n <Key>TestKey</Key>\\n <Value>TestValue</Value>\\n </Tags>\\n </ReplicationJobs>\\n <PageSize>10</PageSize>\\n <RequestId>6E1187E8-843A-4850-B97E-2F17F00D48F7</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeReplicationJobsResponse>","errorExample":""}]', + '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' => '## Usage notes'."\n" + 'description' => '## API Operations'."\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", + .'- 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" + .'- 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' => ' ', - ], - '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', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18561', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - ], - 'parameters' => [ - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the incremental migration job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bp1fnx5y3djc4cop****', - ], - ], - [ - 'name' => 'SyncData', - 'in' => 'query', - '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', - 'required' => false, - 'example' => 'false', - ], - ], - ], - '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', - ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeReplicationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - '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.', - ], - ], - 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":"<CutOverReplicationJobResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</CutOverReplicationJobResponse>","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' => ' ', ], - 'DeleteReplicationJob' => [ - 'summary' => 'Deletes a migration job.', - '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' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '18562', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '18569', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The migration job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'j-bp17m1vi6x21qhqk****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - '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.', - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', - ], + [ + 'name' => 'State', + 'in' => 'query', + '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'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteReplicationJobResponse>\\r\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\r\\n</DeleteReplicationJobResponse>","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' => ' ', - ], - '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', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Name', + 'in' => 'query', + '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'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '240381', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', + [ + 'name' => 'PageNumber', + 'in' => 'query', + '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'], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ClientToken', + 'name' => 'PageSize', '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 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' => 'Name', + 'name' => 'SourceId', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The ID of the source server. You can specify multiple IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the source server. You can specify multiple IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'required' => false, - 'example' => 'testWorkgroupName', + 'example' => 's-bp1e2fsl57knvuug****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'Description', + 'name' => 'ResourceGroupId', 'in' => 'query', - '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', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ 'name' => 'Tag', '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' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'Tag N.'."\n", + 'description' => 'The tag.', '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 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, + 'title' => '', ], 'required' => false, 'maxItems' => 21, - ], - ], - ], - '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-***', - ], - ], - ], - ], - ], - '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', - ], - '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", - ], - 'AssociateSourceServers' => [ - 'summary' => 'Associates multiple migration sources with a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '240395', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - ], - 'parameters' => [ - [ - 'name' => 'WorkgroupId', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', + 'title' => '', ], ], [ - 'name' => 'SourceId', + 'name' => 'RelatedJobType', '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 type of the associated task.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the migration source.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', - ], - 'required' => true, + '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, 'maxItems' => 100, + 'title' => '', ], ], - ], - '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' => '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' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '240400', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], - ], - 'parameters' => [ [ 'name' => 'WorkgroupId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], - ], - [ - 'name' => 'SourceId', - '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 ID of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****', + 'SourceServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceServer' => [ + 'description' => 'The information about the source servers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the source servers.', + 'type' => 'object', + 'properties' => [ + '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 of the source server.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data disks of the source server.', + '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' => '20'], + 'Parts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Part' => [ + 'description' => 'The partitions of the data disk.', + 'type' => 'array', + 'items' => [ + 'description' => 'The partitions of the data disk.', + 'type' => 'object', + 'properties' => [ + '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' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + 'SystemDiskParts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SystemDiskPart' => [ + 'description' => 'The partitions of the system disk.', + 'type' => 'array', + 'items' => [ + 'description' => 'The partitions of the system disk.', + 'type' => 'object', + 'properties' => [ + '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' => '', + ], + '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 tags.', + 'type' => 'array', + 'items' => [ + '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', '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 disks.', + 'type' => 'object', + 'properties' => [ + 'System' => [ + 'description' => 'The information about the system disk.', + 'type' => 'object', + 'properties' => [ + '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 partitions of the system disk.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the partition.', + 'type' => 'object', + '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 disks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the data disk.', + 'type' => 'object', + 'properties' => [ + '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 partitions of the data disk.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the data disk partitions.', + 'type' => 'object', + 'properties' => [ + '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' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], + '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'], ], + '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.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', - 'title' => 'DisassociateSourceServers', + 'title' => 'DescribeSourceServers', + 'description' => '## Description'."\n" + ."\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' => ' ', + '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' => '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', - ], + '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' => [], @@ -3944,9 +2414,7 @@ 'systemTags' => [ 'operationType' => 'list', 'abilityTreeCode' => '240404', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ @@ -3954,96 +2422,64 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The workgroup IDs. You can specify up to 50 workgroup IDs.'."\n", + 'description' => 'A list of workgroup IDs. You can specify up to 50 workgroup IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The workgroup ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'w-***', - ], + 'items' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], 'required' => false, 'maxItems' => 100, + 'title' => '', ], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workgroup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The name of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', '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', - ], + '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. Minimum value: 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + '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 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 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' => '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' => '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' => 'Tag N.'."\n", + 'description' => 'The tag object.', '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 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, 'maxItems' => 21, + 'title' => '', ], ], ], @@ -4051,68 +2487,36 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The information of parameters that is returned.'."\n", + 'description' => 'The returned parameters.', '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', - ], + '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 workgroup.'."\n", + 'description' => 'The details of the workgroups.', 'type' => 'array', 'items' => [ - 'description' => 'The object of the workgroup.'."\n", + 'description' => 'The workgroup object.', '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', - ], + '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, @@ -4122,57 +2526,69 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'WarningType' => [ - 'type' => 'string', - ], + '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', - ], + '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.'."\n", + 'description' => 'The tag information of the workgroup.', 'type' => 'array', 'items' => [ - 'description' => 'The tag information of the workgroup.'."\n", + 'description' => 'The tag information of the workgroup.', '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', - ], + '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' => '', ], ], ], @@ -4180,156 +2596,127 @@ ], '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'], + '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' => '[{"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', ], - 'ModifyWorkgroupAttribute' => [ - 'summary' => 'Modifies the name and description of a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DisableAccessToken' => [ + 'summary' => 'You can call the DisableAccessToken operation to disable an activation code.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '240380', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'abilityTreeCode' => '144984', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ - 'name' => 'WorkgroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the workgroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'w-***', - ], - ], - [ - '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', - ], - ], - [ - 'name' => 'Description', + 'name' => 'AccessTokenId', '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 ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp12g5gwup0yzmce****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The ID of the request.', '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 ID of the request.', 'type' => 'string', 'title' => '', 'example' => '686BB8A6-BBA5-47E5-8A75-D2ADE433****'], ], + 'title' => '', ], ], ], '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.', - ], + ['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' => '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\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', - 'title' => 'ModifyWorkgroupAttribute', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"686BB8A6-BBA5-47E5-8A75-D2ADE433****\\"\\n}","type":"json"}]', ], - 'DeleteWorkgroup' => [ - 'summary' => 'Deletes a workgroup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + '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' => '240401', - 'abilityTreeNodes' => [ - 'FEATUREsmcTXNBS6', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '240400', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ '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 ID of the workgroup.'."\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' => 'w-***', + 'maxItems' => 100, + 'title' => '', ], ], ], @@ -4337,199 +2724,181 @@ 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' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****', - ], + '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\\": \\"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", - ], - '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', + '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' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '18578', - 'abilityTreeNodes' => [ - 'FEATUREsmc6EK4ZG', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '144510', + 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'AccessTokenId', 'in' => 'query', + 'style' => 'repeatList', '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', + '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' => 'ResourceId', + 'name' => 'Name', '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, - ], + 'schema' => ['description' => 'The name of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test_name'], ], [ - 'name' => 'Tag', + 'name' => 'Status', '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 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' => '3E8B9ABB-289A-44E6-942D-8AA9E493****', + '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' => '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.', + 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' => '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\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>3E8B9ABB-289A-44E6-942D-8AA9E493****</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => 'TagResources', - 'description' => '## Usage notes'."\n" - ."\n" - .'Up to 20 tags can be added to each SMC resource.'."\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", - '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"}]', ], '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', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4540,50 +2909,35 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '18571', - '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 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' => '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 token to start the next query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], ], [ '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' => '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' => 'The ID of the SMC resource. SMC resources include migration sources and migration jobs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp1e2fsl57knvuug****', - ], + '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' => 's-bp1e2fsl57knvuug****', 'maxItems' => 51, + 'title' => '', ], ], [ @@ -4591,36 +2945,31 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are attached to SMC resources.'."\n", + 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ '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 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' => '', ], ], ], @@ -4629,103 +2978,78 @@ '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', - ], + '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' => 'The information about SMC resources and tags, such as the IDs, types, and tag key-value pairs of the resources.'."\n", + '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 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', - ], + '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' => [ 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":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>17743161-66F3-4E7F-B8AE-845FB28B928F</RequestId>\\n <TagResources>\\n <ResourceType>ALIYUN::SMC::SOURCESERVER</ResourceType>\\n <TagValue>TestValue</TagValue>\\n <ResourceId>s-bp1e2fsl57knvuug****</ResourceId>\\n <TagKey>TestKey</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', 'title' => 'ListTagResources', + 'summary' => 'Queries the tags attached to one or more SMC resources, such as migration sources and migration tasks.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - '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', + '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}'], + ], + ], + ], ], + '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"}]', + ], + 'ModifyReplicationJobAttribute' => [ + 'summary' => 'You can call the ModifyReplicationJobAttribute operation to modify the information of a migration task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4734,749 +3058,1277 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '18579', - 'abilityTreeNodes' => [ - 'FEATUREsmc6EK4ZG', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '18572', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'JobId', '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 ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], [ - 'name' => 'All', + 'name' => 'Name', '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' => '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' => 'ResourceId', + '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 IDs of N SMC resources. SMC resources include migration sources and jobs. Valid values of N: 1 to 50.'."\n", + 'description' => 'The partitions of the system disk.', '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', + '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-bp12tueadp5ndleg****', + 'title' => '', ], - 'required' => true, - 'example' => 's-bw526m1vi6x20c6g****', - 'maxItems' => 51, + 'required' => false, + 'maxItems' => 32, + 'title' => '', ], ], [ - 'name' => 'TagKey', + 'name' => 'DataDisk', '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 data disks.', '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', + '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, - 'example' => 'smc', + 'title' => '', ], 'required' => false, - 'example' => 'TestKey', - 'maxItems' => 21, + 'maxItems' => 16, + 'title' => '', ], ], + [ + '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'], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch in the specified VPC.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + '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' => 'ReplicationParameters', + 'in' => 'query', + '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' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01'], ], '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' => '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.', '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\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>2D69A58F-345C-4FDE-88E4-BF518948****</RequestId>\\n</UntagResourcesResponse>","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.', + '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' => ' ', - ], - 'CreateAccessToken' => [ - 'summary' => 'Creates an activation code.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + '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\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","type":"json"}]', + ], + 'ModifySourceServerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '144505', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '18573', + 'abilityTreeNodes' => ['FEATUREsmcBBDD6M'], ], 'parameters' => [ [ + 'name' => 'SourceId', + 'in' => 'query', + '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 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', - ], + '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' => '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://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This is a source server.'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The description of the activation code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'The description of the activation code.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + 'errorCodes' => [ + 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.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], + ], + ], + '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\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyWorkgroupAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Count', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '240380', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], + ], + 'parameters' => [ + [ + 'name' => 'WorkgroupId', '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', - ], + 'schema' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], ], [ - 'name' => 'TimeToLiveInDays', + 'name' => 'Name', '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', - ], + '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 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' => [ - 'description' => 'The response parameters.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The returned parameters.', '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****', - ], + '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.', - ], + ['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\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\",\\n \\"AccessTokenCode\\": \\"B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\",\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAccessTokenResponse>\\n <RequestId>DB4A7EA2-6FDA-5655-B067-854532FB****</RequestId>\\n <AccessTokenCode>B57QoTXEA2Tytr0uZWoNY5Aju5Jt****</AccessTokenCode>\\n <AccessTokenId>at-bp1akz2zp67r0k6r****</AccessTokenId>\\n</CreateAccessTokenResponse>","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', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyWorkgroupAttribute', + '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' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '144984', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], + 'abilityTreeCode' => '18576', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'AccessTokenId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the activation code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'at-bp12g5gwup0yzmce****', - ], + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21q****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The request ID.'."\n", + 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '686BB8A6-BBA5-47E5-8A75-D2ADE433****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + '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.', '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}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"686BB8A6-BBA5-47E5-8A75-D2ADE433****\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableAccessTokenResponse>\\n <RequestId>686BB8A6-BBA5-47E5-8A75-D2ADE433****</RequestId>\\n</DisableAccessTokenResponse>","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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'ListAccessTokens' => [ - 'summary' => 'Queries activation codes and the usage details of the activation codes.', - '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' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '144510', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '18577', + 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ - 'name' => 'AccessTokenId', + 'name' => 'JobId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21qh****'], + ], + ], + 'responses' => [ + 200 => [ '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****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + '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.', '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.'], + ], + ], + 'title' => 'StopReplicationJob', + 'description' => '## Description'."\n" + ."\n" + .'You can call this operation to stop migration tasks that are in the Running or Syncing state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + '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}'], ], - 'required' => false, - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Name', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + '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" + ."\n" + .'- replicationjob: migration task', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'sourceserver'], + ], + [ + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the activation code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_name', + '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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bw526m1vi6x20c6g****'], + 'required' => true, + 'example' => 's-bw526m1vi6x20c6g****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'Status', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The status of the activation code. Valid values:'."\n" - ."\n" - .'* activated'."\n" - .'* unactivated'."\n" - .'* expired'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'activated', + 'description' => 'The list of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.', + 'type' => 'object', + 'properties' => [ + '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, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 21, + 'title' => '', ], ], ], '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', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], + 'description' => '', + '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.', + 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.'], + ], + ], + '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' => '[{"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":"<ListAccessTokensResponse>\\n <RequestId>E2DA3097-79B9-53AE-B0DF-281DC54F****</RequestId>\\n <AccessTokens>\\n <AccessTokenId>at-bp1akz2zp67r0k6r****</AccessTokenId>\\n <TimeToLiveInDays>30</TimeToLiveInDays>\\n <Count>100</Count>\\n <RegisteredCount>5</RegisteredCount>\\n <CreationTime>2022-09-09T02:35:44Z</CreationTime>\\n <Status>activated</Status>\\n <Name>test_name</Name>\\n <Description>这是激活码</Description>\\n </AccessTokens>\\n <TotalCount>2</TotalCount>\\n <PageSize>1</PageSize>\\n <PageNumber>20</PageNumber>\\n</ListAccessTokensResponse>","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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', ], - 'DeleteAccessToken' => [ - 'summary' => 'Deletes an activation code.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UntagResources' => [ + 'summary' => 'Detaches and deletes tags from specified SMC resources, such as migration sources and migration tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', - 'abilityTreeCode' => '144985', - 'abilityTreeNodes' => [ - 'FEATUREsmcWZM4IC', - ], + 'abilityTreeCode' => '18579', + 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ - 'name' => 'AccessTokenId', + 'name' => 'ResourceType', + 'in' => 'query', + '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 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 ID of the activation code.'."\n", - 'type' => 'string', + '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 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' => 'at-bp1akz2zp67r0k6r****', + 'example' => 's-bw526m1vi6x20c6g****', + 'maxItems' => 51, + 'title' => '', + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + '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 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' => '', ], ], ], '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****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'], ], + 'description' => '', + '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.', + 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.'], + ], + ], + 'title' => 'UntagResources', + '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' => ' ', + '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}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccessTokenResponse>\\n <RequestId>DB4A7EA2-6FDA-5655-B067-854532FB****</RequestId>\\n</DeleteAccessTokenResponse>","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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]', ], ], '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' => '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'], ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'smc.aliyuncs.com', + ], + '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' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeReplicationJobs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeReplicationJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAccessTokens', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:ListAccessTokens', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DisassociateSourceServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisassociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'StartReplicationJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:StartReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyWorkgroupAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:ModifyWorkgroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateWorkgroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'CutOverReplicationJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:CutOverReplicationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeWorkgroups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'smc:DescribeWorkgroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeSourceServers', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'smc:DescribeSourceServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAccessToken', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AssociateSourceServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:AssociateSourceServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateCrossZoneMigrationJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'smc:CreateCrossZoneMigrationJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DisableAccessToken', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'smc:DisableAccessToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DeleteWorkgroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'smc:DeleteWorkgroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - [ - '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}'], ], ], ]; |
