'1.0', 'info' => ['style' => 'RPC', 'product' => 'smc', 'version' => '2019-06-01'], 'directories' => [ [ 'children' => ['DescribeSourceServers', 'ModifySourceServerAttribute', 'DeleteSourceServer'], 'type' => 'directory', 'title' => 'Migration source', ], [ 'children' => ['CreateReplicationJob', 'CreateCrossZoneMigrationJob', 'ModifyReplicationJobAttribute', 'StartReplicationJob', 'StopReplicationJob', 'DescribeReplicationJobs', 'CutOverReplicationJob', 'DeleteReplicationJob'], 'type' => 'directory', 'title' => 'Migration task', ], [ 'children' => ['CreateWorkgroup', 'AssociateSourceServers', 'DisassociateSourceServers', 'DescribeWorkgroups', 'ModifyWorkgroupAttribute', 'DeleteWorkgroup'], 'type' => 'directory', 'title' => 'Workgroup', ], [ 'children' => ['CreateAccessToken', 'DisableAccessToken', 'ListAccessTokens', 'DeleteAccessToken'], 'type' => 'directory', 'title' => 'Activation code', ], [ 'children' => ['ListTagResources', 'TagResources', 'UntagResources'], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ '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' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '240395', '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 IDs of the migration sources. You can associate a maximum of 50 migration sources with a group.', 'type' => 'array', 'items' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'required' => true, 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9'], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'AssociateSourceServers', 'description' => 'A migration source can be associated with only one group.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'smc:AssociateSourceServers', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}","type":"json"}]', ], 'CreateAccessToken' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '144505', 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the 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' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '这是导入迁移源激活码'], ], [ 'name' => 'Count', 'in' => 'query', '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.', 'type' => 'string', 'title' => '', 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****'], 'AccessTokenCode' => ['description' => 'The activation code. The code is returned only when you call this operation and cannot be queried later. Make sure that you properly save the code.', 'type' => 'string', 'title' => '', 'example' => 'B57QoTXEA2Tytr0uZWoNY5Aju5Jt****'], 'AccessTokenId' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], ], 'title' => '', ], ], ], 'errorCodes' => [ 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'CreateAccessToken', 'summary' => 'Creates an activation code.', 'description' => 'If you need an activation code to import a migration source, call this operation to create one.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccessToken'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'smc:CreateAccessToken', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DB4A7EA2-6FDA-5655-B067-854532FB****\\",\\n \\"AccessTokenCode\\": \\"B57QoTXEA2Tytr0uZWoNY5Aju5Jt****\\",\\n \\"AccessTokenId\\": \\"at-bp1akz2zp67r0k6r****\\"\\n}","type":"json"}]', ], 'CreateCrossZoneMigrationJob' => [ 'summary' => 'Server Migration Center (SMC) lets you migrate an Alibaba Cloud Elastic Compute Service (ECS) instance to a different zone within the same region and change its instance type, including the vCPU and memory, within the same instance family. This feature helps you meet business requirements for instance migration and specification changes. Call this operation to create a cross-zone migration job.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '149399', 'abilityTreeNodes' => ['FEATUREsmcL35UBA'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The 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' => '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' => '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, '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.', 'type' => 'string', 'title' => '', 'example' => 'A9DBD2F8-DE5A-5844-BA6F-957A996CBD78'], 'JobId' => ['description' => 'The migration job ID.', 'type' => 'string', 'title' => '', 'example' => 'j-bp17bclvg344jlyt****'], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ReplicationJobDataDiskIndex.Invalid', 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], ['errorCode' => 'VSwitchIdVpcId.Mismatch', 'errorMessage' => 'The specified VSwitchId and VpcId does not match.', 'description' => 'The specified VSwitchId and VpcId does not match.'], ['errorCode' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'errorMessage' => 'The network type of the specified security group does not support this action.', 'description' => 'The network type of the specified security group does not support this action.'], ['errorCode' => 'InvalidSecurityGroupId.VPCMismatch', 'errorMessage' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'description' => 'The specified security group and the specified virtual switch are not in the same VPC.'], ['errorCode' => 'QuotaExceeded.ReplicationJob', 'errorMessage' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', 'description' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.'], ['errorCode' => 'ReplicationJobName.Duplicate', 'errorMessage' => 'The specified replication job name already exists.', 'description' => 'The specified replication job name already exists.'], ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ], 403 => [ ['errorCode' => '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.', '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A9DBD2F8-DE5A-5844-BA6F-957A996CBD78\\",\\n \\"JobId\\": \\"j-bp17bclvg344jlyt****\\"\\n}","type":"json"}]', ], 'CreateReplicationJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '18560', 'abilityTreeNodes' => ['FEATUREsmcBBDD6M'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the destination Alibaba Cloud region.'."\n" ."\n" .'For example, if you want to migrate a source server to the China (Hangzhou) region, set this parameter to `cn-hangzhou`. You can call the [DescribeRegions](~~25609~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a string of up to 64 ASCII characters and assign it to this parameter. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the migration task. The name must meet the following requirements:'."\n" ."\n" .'- The name must be unique.'."\n" ."\n" .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the migration task.'."\n" ."\n" .'The description must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This_is_a_migration_task'], ], [ 'name' => 'SourceId', 'in' => 'query', '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 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 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 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 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 instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], ], [ 'name' => 'SystemDiskSize', 'in' => 'query', 'schema' => ['description' => 'The system disk size of the destination Elastic Compute Service (ECS) instance. Unit: GiB. Valid values: 20 to 2048.'."\n" ."\n" .'> The value must be greater than the used space of the source system disk. For example, if the source system disk is 500 GiB and 100 GiB of space is used, set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC that is configured with an Express Connect circuit or a VPN Gateway.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-bp1vwnn14rqpyiczj****'], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual switch in the specified VPC.'."\n" ."\n" .'This parameter is required for migrations over a VPC internal network.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], ], [ 'name' => 'ReplicationParameters', 'in' => 'query', 'schema' => ['description' => 'The parameters 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: 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 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 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 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 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.', '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' => '1'], ], [ '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, 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, 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, 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" .'- 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 list of data disks.', 'type' => 'array', 'items' => [ 'description' => 'The list of data disks.', 'type' => 'object', 'properties' => [ '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 list of partitions.', 'type' => 'array', 'items' => [ 'description' => 'The list of partitions.', 'type' => 'object', 'properties' => [ '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 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' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ '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' => '', ], ], [ 'name' => 'SystemDiskPart', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the system disk partitions.', 'type' => 'array', 'items' => [ 'description' => 'The list of system disk partitions.', 'type' => 'object', 'properties' => [ '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 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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ 'name' => 'Disks', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The disk information.', 'type' => 'object', 'properties' => [ 'System' => [ 'description' => 'The system disk information.', 'type' => 'object', 'properties' => [ 'Size' => ['description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" ."\n" .'> The value 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 partitions.', 'type' => 'array', 'items' => [ 'description' => 'The information about the system disk partitions.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', '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 partitions.', 'type' => 'array', 'items' => [ 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ '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 partitions.', 'type' => 'array', 'items' => [ 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', '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 response parameters.', 'type' => 'object', 'properties' => [ '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.', '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.', '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.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'CreateReplicationJob', '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" .'- 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' => ' ', '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' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '240381', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', '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' => 'Name', 'in' => 'query', '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' => 'Description', 'in' => 'query', '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' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ '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' => 'A tag object.', 'type' => 'object', 'properties' => [ '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' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9'], 'WorkgroupId' => ['title' => 'Id of the request', 'description' => 'The ID of the workgroup.', 'type' => 'string', 'example' => 'w-bp10geepnj916e3d****'], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], '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\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"WorkgroupId\\": \\"w-bp10geepnj916e3d****\\"\\n}","type":"json"}]', ], 'CutOverReplicationJob' => [ '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.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp1fnx5y3djc4cop****'], ], [ 'name' => 'SyncData', 'in' => 'query', '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'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ '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' => 'ReplicationJob.InvalidBusinessStatus', 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'CutOverReplicationJob', 'summary' => 'Stops the periodic execution of a specified incremental migration job and completes the migration.', 'description' => '## Description'."\n" ."\n" .'- The incremental migration job must be in the Waiting state.'."\n" ."\n" .'- When you call this operation, the incremental migration job stops running periodically. The SyncData parameter determines the next action. If SyncData is `false`, no more data is migrated. If `SyncData` is `true`, a final full data migration is performed. The job is then completed after the intermediate resources are automatically released.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'smc:CutOverReplicationJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'DeleteAccessToken' => [ 'summary' => 'Deletes an activation code.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '144985', 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ 'name' => 'AccessTokenId', 'in' => 'query', 'schema' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the request.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'DB4A7EA2-6FDA-5655-B067-854532FB****'], ], 'title' => '', ], ], ], 'errorCodes' => [ 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => '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' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '18562', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the migration job.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp17m1vi6x21qhqk****'], ], ], 'responses' => [ 200 => [ 'schema' => [ '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.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'DeleteReplicationJob', 'description' => '## Description'."\n" ."\n" .'- You cannot recover a migration job after it is deleted.'."\n" ."\n" .'- When you delete a migration job, related resources such as intermediate instances are automatically released.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'smc:DeleteReplicationJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'DeleteSourceServer' => [ 'summary' => 'You can call the DeleteSourceServer operation to delete a migration source.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '18563', 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ 'name' => 'SourceId', 'in' => 'query', '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' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'SourceServer.WithRunningReplicationJob', 'errorMessage' => 'The specified source server has related replication jobs that are running.', 'description' => 'The specified source server has related replication jobs that are running.'], ['errorCode' => 'SourceServerState.Invalid', 'errorMessage' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ['errorCode' => 'ReplicationJob.Related', 'errorMessage' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.', 'description' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'DeleteSourceServer', 'description' => '## Interface description'."\n" ."\n" .'- You cannot delete a migration source that is associated with a migration task in the Running status.'."\n" ."\n" .'- To delete a migration source that is associated with a migration task in any other status, set `Force=true`.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'smc:DeleteSourceServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'SourceServer', 'arn' => 'acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'DeleteWorkgroup' => [ 'summary' => 'You can delete a workgroup that you no longer need.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '240401', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'WorkgroupId', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '410E6073-66D0-45D3-AB3E-4DC3F5E4****'], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'DeleteWorkgroup', 'description' => 'Before you delete a workgroup, you must delete or disassociate all migration sources from it. Otherwise, the deletion will fail. For more information, see [Delete a migration source](~~2402124~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'smc:DeleteWorkgroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"410E6073-66D0-45D3-AB3E-4DC3F5E4****\\"\\n}","type":"json"}]', ], 'DescribeReplicationJobs' => [ 'summary' => 'Retrieves details about one or more migration tasks.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '18568', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ 'name' => 'RegionId', 'in' => 'query', '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 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 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 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 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 migration sources. You can specify up to 50 migration source IDs.', 'type' => 'array', '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' => '', ], ], [ 'name' => 'JobId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the migration tasks. You can specify up to 50 migration task IDs.', 'type' => 'array', '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 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 instance ID.', 'type' => 'array', '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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the SMC resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the SMC resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" ."\n" .'This parameter can be an empty string. The tag key can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The value of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" ."\n" .'This parameter can be an empty string. The tag value can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The total number of migration tasks.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], 'ReplicationJobs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ReplicationJob' => [ 'description' => 'A collection of migration task details.', 'type' => 'array', 'items' => [ 'description' => 'A collection of migration task details.', 'type' => 'object', 'properties' => [ 'Frequency' => ['description' => 'The interval at which an incremental migration task is automatically run. Unit: hours. Valid values: 1 to 168.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '15'], 'VpcId' => ['description' => 'The ID of the VPC for which an Express Connect circuit or a VPN Gateway is configured.', 'type' => 'string', 'title' => '', 'example' => 'vpc-bp1vwnn14rqpyiczj****'], 'CreationTime' => ['description' => 'The time when the migration task was created.', 'type' => 'string', 'title' => '', 'example' => '2014-07-24T13:00:52Z'], 'Status' => ['description' => 'The main status of the migration task. Valid values:'."\n" ."\n" .'- Ready: The task is not started.'."\n" ."\n" .'- Running: The task is running.'."\n" ."\n" .'- Stopped: The task is paused.'."\n" ."\n" .'- InError: An error occurred.'."\n" ."\n" .'- Finished: The task is complete.'."\n" ."\n" .'- Waiting: The task is waiting.'."\n" ."\n" .'- Expired: The task has expired.'."\n" ."\n" .'- Deleting: The task is being deleted.', 'type' => 'string', 'title' => '', 'example' => 'Running'], 'ScheduledStartTime' => ['description' => 'The time when the migration task is scheduled to run. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. This parameter must meet the following requirements:'."\n" ."\n" .'- The time must be later than the current time and within 30 days from the current time.'."\n" ."\n" .'- If you leave this parameter empty, SMC does not start the migration task. In this case, you must call the [StartReplicationJob](~~121823~~) operation to start the task.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T13:35:00Z'], 'MaxNumberOfImageToKeep' => ['description' => 'The maximum number of images that can be retained for an incremental migration task. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8'], 'ContainerNamespace' => ['description' => 'The namespace of the Docker container.', 'type' => 'string', 'title' => '', 'example' => 'testNamespace'], 'DataDisks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataDisk' => [ 'description' => 'The data disks of the destination Alibaba Cloud Elastic Compute Service (ECS) instance.', 'type' => 'array', 'items' => [ 'description' => 'The data disks of the destination Alibaba Cloud ECS instance.', 'type' => 'object', 'properties' => [ 'Index' => ['description' => 'The index number of the data disk.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'Size' => ['description' => 'The size of the data disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '40'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ 'description' => 'The information about the data disk partitions.', 'type' => 'array', 'items' => [ 'description' => 'The information about the data disk partitions.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'], 'Block' => ['description' => 'Indicates whether block replication is enabled for the partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'Device' => ['description' => 'The device ID of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '0_1'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'StatusInfo' => ['description' => 'The details of the migration status.', 'type' => 'string', 'title' => '', 'example' => 'statusinfo'], 'InstanceRamRole' => ['description' => 'The name of the instance RAM role.', 'type' => 'string', 'title' => '', 'example' => 'SMCAdmin'], 'SystemDiskSize' => ['description' => 'The size of the system disk of the destination Alibaba Cloud ECS instance.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '40'], 'Description' => ['description' => 'The description of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'This is my migration task.'], 'ReplicationParameters' => ['description' => 'The parameters of the replication driver.', 'type' => 'string', 'title' => '', 'example' => 'BandWidthLimit:0'], 'ErrorCode' => ['description' => 'The error code of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'InternalError'], 'ValidTime' => ['description' => 'The time when the migration task expires. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" ."\n" .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-08T14:40:52Z'], 'NetMode' => ['description' => 'The network mode used for the migration.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], 'ContainerTag' => ['description' => 'The tag of the Docker image.', 'type' => 'string', 'title' => '', 'example' => 'CentOS:v1'], 'LicenseType' => ['description' => 'The license type of the migration task. Valid values:'."\n" ."\n" .'- An empty value indicates no license.'."\n" ."\n" .'- BYOL: Bring Your Own License.', 'type' => 'string', 'title' => '', 'example' => 'BYOL'], 'Name' => ['description' => 'The name of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'testMigrationTaskName'], 'ImageId' => ['description' => 'The ID of the destination image that is created from the migration task.', 'type' => 'string', 'title' => '', 'example' => 'm-o6w3gy99qf89rkga****'], 'Progress' => ['description' => 'The overall progress of the migration task.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '100'], 'RunOnce' => ['description' => 'Indicates whether the task is a one-time or incremental migration task. Valid values:'."\n" ."\n" .'- true: The task is a one-time migration task. The task is run only once after it is created.'."\n" ."\n" .'- false: The task is an incremental migration task. After the task is created, it is automatically run at the interval specified by the `Frequency` parameter.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'title' => '', 'example' => 'lt-launchtemplateid'], 'ContainerRepository' => ['description' => 'The Docker image repository.', 'type' => 'string', 'title' => '', 'example' => 'testRepository'], 'InstanceId' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'title' => '', 'example' => 'i-bp1ff25rzvnul6kr****'], 'SystemDiskParts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SystemDiskPart' => [ 'description' => 'The information about the system disk partitions.', 'type' => 'array', 'items' => [ 'description' => 'The information about the system disk partitions.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '254803968'], 'Block' => ['description' => 'Indicates whether block replication is enabled for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'Device' => ['description' => 'The device ID of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '0_1'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'InstanceType' => ['description' => 'The instance type of the intermediate instance.', 'type' => 'string', 'title' => '', 'example' => 'ecs.sn1ne.large'], 'SourceId' => ['description' => 'The ID of the migration source.', 'type' => 'string', 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'title' => '', 'example' => '1'], 'RegionId' => ['description' => 'The ID of the destination Alibaba Cloud region to which you want to migrate the source.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'TransitionInstanceId' => ['description' => 'The ID of the intermediate instance.', 'type' => 'string', 'title' => '', 'example' => 'i-bp1ff25rzvnul6kr****'], 'EndTime' => ['description' => 'The time when the migration task was completed. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" ."\n" .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T16:00:52Z'], 'StartTime' => ['description' => 'The time when the migration task started. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" ."\n" .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-06-04T14:40:52Z'], 'VSwitchId' => ['description' => 'The ID of the vSwitch in the specified VPC.', 'type' => 'string', 'title' => '', 'example' => 'vsw-bp1ddbrxdlrcbim46****'], 'JobId' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], 'ImageName' => ['description' => 'The name of the destination image that is created from the migration task.', 'type' => 'string', 'title' => '', 'example' => 'testAliCloudImageName'], 'BusinessStatus' => ['description' => 'The business status of the migration task. Valid values:'."\n" ."\n" .'- Preparing: The task is being prepared.'."\n" ."\n" .'- Syncing: Data is being synchronized.'."\n" ."\n" .'- Processing: The task is being processed.'."\n" ."\n" .'- Cleaning: The task is being cleared.', 'type' => 'string', 'title' => '', 'example' => 'Preparing'], 'ReplicationJobRuns' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ReplicationJobRun' => [ 'description' => 'The running records of the migration task.', 'type' => 'array', 'items' => [ 'description' => 'The running records of the migration task.', 'type' => 'object', 'properties' => [ 'EndTime' => ['description' => 'The time when the migration task run ended. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" ."\n" .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-10-04T13:35:00Z'], 'Type' => ['description' => 'The execution mode of the migration task. Valid values:'."\n" ."\n" .'- Manual: The task is manually run.'."\n" ."\n" .'- Schedule: The task is run at a scheduled time or at a specific interval.', 'type' => 'string', 'title' => '', 'example' => 'Schedule'], 'StartTime' => ['description' => 'The time when the migration task run started. The time is specified in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" ."\n" .'> The time displayed in the console is in the UTC+8 time zone.', 'type' => 'string', 'title' => '', 'example' => '2019-10-01T13:35:00Z'], 'ImageId' => ['description' => 'The ID of the image generated by the migration task.', 'type' => 'string', 'title' => '', 'example' => 'm-o6w3gy99qf89rkga****'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'TargetType' => ['description' => 'The type of the migration destination. Valid values:'."\n" ."\n" .'- Image: After the migration is complete, SMC generates an Alibaba Cloud image for the migration source.'."\n" ."\n" .'- ContainerImage: After the migration is complete, SMC generates a Docker container image for the migration source.'."\n" ."\n" .'- TargetInstance: After the migration is complete, SMC migrates the migration source to a destination instance. If you set the value to TargetInstance, you must also specify the InstanceId parameter.', 'type' => 'string', 'title' => '', 'example' => 'Image'], 'JobType' => ['description' => 'The type of the migration task. Valid values:'."\n" ."\n" .'- 0: server migration.'."\n" ."\n" .'- 1: operating system migration.'."\n" ."\n" .'- 2: cross-zone migration.'."\n" ."\n" .'- 3: agentless VMware migration.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-acfmw3ty5y7****'], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags of the SMC resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the SMC resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" ."\n" .'This parameter can be an empty string. The tag key can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The value of tag N that is specified for the SMC resource. Valid values of N: 1 to 20.'."\n" ."\n" .'This parameter can be an empty string. The tag value can be up to 64 characters in length and cannot contain http\\:// or https\\://.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'Disks' => [ 'description' => 'The disk information.', 'type' => 'object', 'properties' => [ 'System' => [ 'description' => 'The system disk information.', 'type' => 'object', 'properties' => [ 'Size' => ['description' => 'The size of the source system disk. Unit: GiB. Valid values: 20 to 32768.'."\n" ."\n" .'> The value of this parameter must be greater than the used space of the source system disk. For example, if the source system disk is 500 GiB in size and 100 GiB of the space is used, the value of this parameter must be greater than 100.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '100'], 'LVM' => ['description' => 'Indicates whether LVM is used. Valid values:'."\n" ."\n" .'- true: LVM is used.'."\n" ."\n" .'- false: LVM is not used.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], 'DiskId' => ['description' => 'The system disk ID.', 'type' => 'string', 'title' => '', 'example' => 'd-2zeh4twm100qskw7z41z'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ 'description' => 'The system disk partition information.', 'type' => 'array', 'items' => [ 'description' => 'The system disk partition information.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the system disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'."\n"], 'Block' => ['description' => 'Indicates whether to enable block replication for the system disk partition. Valid values:'."\n" ."\n" .'- true: Block replication is enabled for the system disk partition.'."\n" ."\n" .'- false: Block replication is not enabled for the system disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'Path' => ['description' => 'The path of the system disk partition.', 'type' => 'string', 'title' => '', 'example' => '/boot'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Data' => [ 'description' => 'The data disk information.', 'type' => 'array', 'items' => [ 'description' => 'The data disk information.', 'type' => 'object', 'properties' => [ 'Size' => ['description' => 'The size of the data disk of the destination Alibaba Cloud ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" ."\n" .'> The value of this parameter must be greater than the used space of the source data disk. For example, if the source data disk is 500 GiB in size and 100 GiB of the space is used, the value of this parameter must be greater than 100.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '22548578304'], 'LVM' => ['description' => 'Indicates whether LVM is used. Valid values:'."\n" ."\n" .'- true: LVM is used.'."\n" ."\n" .'- false: LVM is not used.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], 'DiskId' => ['description' => 'The data disk ID.', 'type' => 'string', 'title' => '', 'example' => 'd-2zeh4twm100qskw7z41z'], 'Parts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Part' => [ 'description' => 'The data disk partition information.', 'type' => 'array', 'items' => [ 'description' => 'The data disk partition information.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of the data disk partition. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '21474836480'."\n"], 'Block' => ['description' => 'Indicates whether to enable block replication for the data disk partition. Valid values:'."\n" ."\n" .'- true: Block replication is enabled for the data disk partition.'."\n" ."\n" .'- false: Block replication is not enabled for the data disk partition.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], 'Path' => ['description' => 'The path of the data disk partition.', 'type' => 'string', 'title' => '', 'example' => '/home/data'."\n"], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], 'WorkgroupId' => ['type' => 'string', 'description' => 'The ID of the workgroup.', 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6E1187E8-843A-4850-B97E-2F17F00D48F7'], 'PageNumber' => ['description' => 'The page number of the migration task list.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 5,\\n \\"ReplicationJobs\\": {\\n \\"ReplicationJob\\": [\\n {\\n \\"Frequency\\": 15,\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-07-24T13:00:52Z\\",\\n \\"Status\\": \\"Running\\",\\n \\"ScheduledStartTime\\": \\"2019-06-04T13:35:00Z\\",\\n \\"MaxNumberOfImageToKeep\\": 8,\\n \\"ContainerNamespace\\": \\"testNamespace\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"Index\\": 1,\\n \\"Size\\": 40,\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"StatusInfo\\": \\"statusinfo\\",\\n \\"InstanceRamRole\\": \\"SMCAdmin\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"This is my migration task.\\",\\n \\"ReplicationParameters\\": \\"BandWidthLimit:0\\",\\n \\"ErrorCode\\": \\"InternalError\\",\\n \\"ValidTime\\": \\"2019-06-08T14:40:52Z\\",\\n \\"NetMode\\": 0,\\n \\"ContainerTag\\": \\"CentOS:v1\\",\\n \\"LicenseType\\": \\"BYOL\\",\\n \\"Name\\": \\"testMigrationTaskName\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\",\\n \\"Progress\\": 100,\\n \\"RunOnce\\": true,\\n \\"LaunchTemplateId\\": \\"lt-launchtemplateid\\",\\n \\"ContainerRepository\\": \\"testRepository\\",\\n \\"InstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"SystemDiskParts\\": {\\n \\"SystemDiskPart\\": [\\n {\\n \\"SizeBytes\\": 254803968,\\n \\"Block\\": true,\\n \\"Device\\": \\"0_1\\"\\n }\\n ]\\n },\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"SourceId\\": \\"s-bp1e2fsl57knvuug****\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TransitionInstanceId\\": \\"i-bp1ff25rzvnul6kr****\\",\\n \\"EndTime\\": \\"2019-06-04T16:00:52Z\\",\\n \\"StartTime\\": \\"2019-06-04T14:40:52Z\\",\\n \\"VSwitchId\\": \\"vsw-bp1ddbrxdlrcbim46****\\",\\n \\"JobId\\": \\"j-bp19vlwm0tyigbmj****\\",\\n \\"ImageName\\": \\"testAliCloudImageName\\",\\n \\"BusinessStatus\\": \\"Preparing\\",\\n \\"ReplicationJobRuns\\": {\\n \\"ReplicationJobRun\\": [\\n {\\n \\"EndTime\\": \\"2019-10-04T13:35:00Z\\",\\n \\"Type\\": \\"Schedule\\",\\n \\"StartTime\\": \\"2019-10-01T13:35:00Z\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\"\\n }\\n ]\\n },\\n \\"TargetType\\": \\"Image\\",\\n \\"JobType\\": 0,\\n \\"ResourceGroupId\\": \\"rg-acfmw3ty5y7****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Disks\\": {\\n \\"System\\": {\\n \\"Size\\": 100,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": true,\\n \\"Path\\": \\"/boot\\"\\n }\\n ]\\n }\\n },\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Size\\": 22548578304,\\n \\"LVM\\": false,\\n \\"DiskId\\": \\"d-2zeh4twm100qskw7z41z\\",\\n \\"Parts\\": {\\n \\"Part\\": [\\n {\\n \\"SizeBytes\\": 21474836480,\\n \\"Block\\": false,\\n \\"Path\\": \\"/home/data\\\\n\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"WorkgroupId\\": \\"w-bp1ja22kdqphehlj****\\"\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6E1187E8-843A-4850-B97E-2F17F00D48F7\\",\\n \\"PageNumber\\": 1\\n}","type":"json"}]', 'title' => 'DescribeReplicationJobs', 'description' => '## API Operations'."\n" ."\n" .'- Request parameters are used as filters and are combined using a logical AND. If you do not specify a parameter, the corresponding filter is not applied.'."\n" ."\n" .'- 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' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'smc:DescribeReplicationJobs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DescribeSourceServers' => [ 'summary' => 'Call the DescribeSourceServers operation to query information about one or more migration sources.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '18569', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], [ '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'], ], [ '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'], ], [ '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'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" ."\n" .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'title' => '', 'example' => '10'], ], [ 'name' => 'SourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The 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' => 's-bp1e2fsl57knvuug****', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', '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.', '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', '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, 'title' => '', ], ], [ 'name' => 'RelatedJobType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The type of the associated task.', 'type' => 'array', 'items' => ['description' => 'The type of the associated task. Valid values:'."\n" ."\n" .'- Not\\_Related: No task is associated.'."\n" ."\n" .'- Server: A server migration task.'."\n" ."\n" .'- Os: An operating system migration task.'."\n" ."\n" .'- Cross\\_Zone: A cross-zone migration task.'."\n" ."\n" .'- VMWare: A VMware migration task.'."\n" ."\n" .'- Desktop: A desktop task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Server'], 'required' => false, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'WorkgroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp1ja22kdqphehlj****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ '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.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], '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' => 'After a workgroup is created, you can view its information, such as the workgroup name, description, and alert information.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'abilityTreeCode' => '240404', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'WorkgroupId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of workgroup IDs. You can specify up to 50 workgroup IDs.', 'type' => 'array', 'items' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], 'required' => false, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the workgroup.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the workgroup. Valid values:'."\n" ."\n" .'- NotStarted: The workgroup is not started.'."\n" ."\n" .'- InProgress: The workgroup is in progress.'."\n" ."\n" .'- Cutover: The workgroup is being cut over.'."\n" ."\n" .'- Completed: The workgroup is completed.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'InProgress'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the workgroup list. The value starts from 1.'."\n" .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page for a paged query. Maximum value: 50.'."\n" .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'title' => '', 'example' => '10'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The array of tags. The array can contain 1 to 20 tags. If the array contains multiple tag objects, the tag keys cannot be the same.', 'type' => 'array', 'items' => [ 'description' => 'The tag object.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the workgroup. The key can be up to 128 characters in length. If you specify this parameter, the value cannot be an empty string. The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The tag value of the workgroup. The value can be up to 128 characters in length. If you specify this parameter, the value can be an empty string. The value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'], 'TotalCount' => ['description' => 'The total number of workgroups.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'PageSize' => ['description' => 'The number of entries returned on each page. Maximum value: 50. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], 'PageNumber' => ['description' => 'The page number of the workgroup list.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'Workgroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Workgroup' => [ 'description' => 'The details of the workgroups.', 'type' => 'array', 'items' => [ 'description' => 'The workgroup object.', 'type' => 'object', 'properties' => [ 'WorkgroupId' => ['description' => 'The workgroup ID.', 'type' => 'string', 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], 'Name' => ['description' => 'The name of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'testWorkgroupName'], 'Description' => ['description' => 'The description of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'test'], 'Status' => ['description' => 'The status of the workgroup. Possible values:'."\n" ."\n" .'- NotStarted: The workgroup is not started.'."\n" ."\n" .'- InProgress: The workgroup is in progress.'."\n" ."\n" .'- Cutover: The workgroup is being cut over.'."\n" ."\n" .'- Completed: The workgroup is completed.', 'type' => 'string', 'title' => '', 'example' => 'InProgress'], 'Warnings' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Warning' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'WarningType' => ['type' => 'string', 'description' => 'The alert type. Possible values:'."\n" ."\n" .'- InError: One or more migration tasks have failed.'."\n" ."\n" .'- UnRelated: One or more migration sources are not associated with migration tasks.'."\n" ."\n" .'- NotPassed: One or more migration task drills have failed.', 'title' => '', 'example' => 'InError'], 'SourceIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SourceId' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The ID of the migration source that has an issue.', 'title' => '', 'example' => 's-bp1h7ymebl7swbt4****'], 'description' => 'A list of migration sources that have issues.', 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'description' => 'The alert information.', 'title' => '', ], 'description' => 'A list of alert information for the workgroup. The list may contain multiple types of alerts.', 'title' => '', ], ], 'description' => '', 'title' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag information of the workgroup.', 'type' => 'array', 'items' => [ 'description' => 'The tag information of the workgroup.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the workgroup.', 'type' => 'string', 'title' => '', 'example' => ' '."\n" .'TestKey'], 'Value' => ['description' => 'The tag value of the workgroup.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], '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"}]', ], 'DisableAccessToken' => [ 'summary' => 'You can call the DisableAccessToken operation to disable an activation code.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '144984', 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ 'name' => 'AccessTokenId', 'in' => 'query', 'schema' => ['description' => 'The ID of the activation code.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'at-bp12g5gwup0yzmce****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the request.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '686BB8A6-BBA5-47E5-8A75-D2ADE433****'], ], 'title' => '', ], ], ], 'errorCodes' => [ 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'DisableAccessToken', 'description' => 'If you suspect that an activation code is compromised, call this operation to disable it. A disabled activation code cannot be used to register new migration sources. Existing migration sources are not affected.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'smc:DisableAccessToken', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"686BB8A6-BBA5-47E5-8A75-D2ADE433****\\"\\n}","type":"json"}]', ], 'DisassociateSourceServers' => [ 'summary' => 'Disassociate a migration source from a group if you no longer need to use the group for batch migration or want to delete the group.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ '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 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, 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'DisassociateSourceServers', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'smc:DisassociateSourceServers', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', ], 'ListAccessTokens' => [ 'summary' => 'Call the ListAccessTokens operation to query for created activation codes and their statuses.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '144510', 'abilityTreeNodes' => ['FEATUREsmcWZM4IC'], ], 'parameters' => [ [ 'name' => 'AccessTokenId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the activation codes.', 'type' => 'array', 'items' => ['description' => 'An activation code ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'at-bp1akz2zp67r0k6r****'], 'required' => false, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the activation code.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test_name'], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the activation code. Valid values:'."\n" ."\n" .'- activated: The activation code is activated.'."\n" ."\n" .'- unactivated: The activation code is not activated.'."\n" ."\n" .'- expired: The activation code has expired.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'activated'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', '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'], ], 'title' => '', ], ], ], 'errorCodes' => [ 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => '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' => '[{"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' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '18571', 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', '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 token to start the next query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of SMC resource IDs. SMC resources include migration sources and migration tasks. The list can contain a maximum of 50 IDs.', 'type' => 'array', 'items' => ['description' => 'An SMC resource ID. SMC resources include migration sources and migration tasks.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'required' => false, 'example' => 's-bp1e2fsl57knvuug****', 'maxItems' => 51, 'title' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the SMC resource. The tag key can be 1 to 64 characters in length. N indicates the serial number of the tag. Valid values of N: 1 to 20.'."\n" ."\n" .'Tag.N is a key-value pair that is used to filter SMC resources.'."\n" ."\n" .'- Tag keys and tag values are case-sensitive.'."\n" ."\n" .'- If you specify only Tag.N.Key, all resources that have this tag key are returned.'."\n" ."\n" .'- If you specify only Tag.N.Value, an InvalidParameter.TagValue error is returned.'."\n" ."\n" .'- If you specify multiple tags, only the SMC resources that have all these tags are returned.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The tag value of the SMC resource. The tag value can be 1 to 64 characters in length. N indicates the serial number of the tag. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, 'description' => 'The tags list.'."\n", 'title' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used to start the next query.'."\n" ."\n" .'If this parameter is empty, all results are returned.', 'type' => 'string', 'title' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '17743161-66F3-4E7F-B8AE-845FB28B928F'], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagResource' => [ 'description' => 'A collection of SMC resources and their tags, including resource IDs, resource types, and tag key-value pairs.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'title' => '', 'example' => 'ALIYUN::SMC::SOURCESERVER'], 'TagValue' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'title' => '', 'example' => 'TestValue'], 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'title' => '', 'example' => 's-bp1e2fsl57knvuug****'], 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'title' => '', 'example' => 'TestKey'], ], 'description' => 'The details about the resources and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 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' => 'ListTagResources', 'summary' => 'Queries the tags attached to one or more SMC resources, such as migration sources and migration tasks.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'smc:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#AccountId}:replicationjob/{#ReplicationJobId}'], ], ], ], ], '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' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '18572', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bp19vlwm0tyigbmj****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the migration task. The name must meet the following requirements:'."\n" ."\n" .'- The name must be unique.'."\n" ."\n" .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testMigrationTaskName'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the migration task.'."\n" ."\n" .'The description must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'This_is_my_migration_task'], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The type of the migration destination. This parameter can be modified only before the migration task starts. Valid values:'."\n" ."\n" .'- Image: After the migration is complete, SMC generates an Alibaba Cloud image from the source server. You can use this image to create an ECS instance.'."\n" ."\n" .'- ContainerImage: After the migration is complete, SMC generates a container image from the source server. You can use this image in Container Registry.'."\n" ."\n" .'- TargetInstance: After the migration is complete, SMC migrates the source to a destination instance. If you set this parameter to this value, you must also specify the `InstanceId` parameter.'."\n" ."\n" .'> * The value of this parameter is not case-sensitive.'."\n" ."\n" .'- Migrating servers that run Windows or an Arm-based operating system to container images is not supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Image'], ], [ 'name' => 'ScheduledStartTime', 'in' => 'query', 'schema' => ['description' => 'The time when you want to start the migration task. SMC automatically starts the migration task at the specified time.'."\n" ."\n" .'The time must follow the ISO 8601 standard and be in UTC. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" ."\n" .'> If you leave this parameter empty, SMC does not automatically start the migration task. You must call the [StartReplicationJob](~~121823~~) operation to start the task.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], ], [ 'name' => 'ImageName', 'in' => 'query', 'schema' => ['description' => 'The name of the destination image. The name must meet the following requirements:'."\n" ."\n" .'- The image name must be unique in the same Alibaba Cloud region.'."\n" ."\n" .'- The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" ."\n" .'> If an image with the same name already exists in the current region when the migration task is running, the system adds the migration task ID (JobId) to the end of the image name as a suffix. Example: ImageName-JobId.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testAliCloudImageName'], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the destination instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp1f1dvfto1sigz5****'], ], [ 'name' => 'SystemDiskSize', 'in' => 'query', 'schema' => ['description' => 'The system disk size of the destination ECS instance. Unit: GiB. Valid values: 20 to 500.'."\n" ."\n" .'> The value of this parameter must be greater than the space that is used by the system disk of the source server. For example, if the system disk of the source server is 500 GiB in size and 100 GiB of the space is used, you must set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '50'], ], [ 'name' => 'Frequency', 'in' => 'query', 'schema' => ['description' => 'The interval at which an incremental migration task runs. Unit: hours. Valid values: 1 to 168.'."\n" ."\n" .'This parameter is required if the `RunOnce` parameter is set to false.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'MaxNumberOfImageToKeep', 'in' => 'query', 'schema' => ['description' => 'The maximum number of images to retain for an incremental migration task. Valid values: 1 to 10.'."\n" ."\n" .'This parameter is required if the `RunOnce` parameter is set to false.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '5'], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The instance type of the intermediate instance.'."\n" ."\n" .'You can call the [DescribeInstanceTypes](~~25620~~) operation to query the instance types provided by ECS.'."\n" ."\n" .'- If you specify this parameter, the system creates an intermediate instance of this instance type. If the specified instance type is out of stock, the migration task fails to be created.'."\n" ."\n" .'- If you do not specify this parameter, the system selects an instance type in a specific order to create the intermediate instance. For more information, see [SMC FAQ](~~121707~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.c5.large'], ], [ 'name' => 'LaunchTemplateId', 'in' => 'query', 'schema' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'lt-bp16jovvln1cgaaq****'], ], [ 'name' => 'LaunchTemplateVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the launch template.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Latest'], ], [ 'name' => 'InstanceRamRole', 'in' => 'query', 'schema' => ['description' => 'The name of the RAM role for the instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'SMCAdmin'], ], [ 'name' => 'ContainerNamespace', 'in' => 'query', 'schema' => ['description' => 'The namespace of the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testNamespace'], ], [ 'name' => 'ContainerRepository', 'in' => 'query', 'schema' => ['description' => 'The image repository for the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testRepository'], ], [ 'name' => 'ContainerTag', 'in' => 'query', 'schema' => ['description' => 'The image tag for the Docker container. For more information about Docker container images, see [Container Registry](~~60744~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'CentOS:v1'], ], [ 'name' => 'ValidTime', 'in' => 'query', 'schema' => ['description' => 'The expiration time of the migration task. The value can be a time that is 7 to 90 days later than the time when the migration task is created.'."\n" ."\n" .'- You can modify the expiration time only when the migration task is in the Ready, Running, Stopped, InError, or Waiting state.'."\n" ."\n" .'- The time must follow the ISO 8601 standard and be in UTC. The format is `YYYY-MM-DDThh:mm:ssZ`. For example, 2018-01-01T12:00:00Z specifies 20:00:00 on January 1, 2018 (UTC+8).'."\n" ."\n" .'- If you leave this parameter empty, the task does not expire.'."\n" ."\n" .'- After a task expires, it is marked as Expired. The task is retained for 7 days. After 7 days, the system automatically deletes the task.'."\n" ."\n" .'Default value: 30 days after the migration task is created. This means that the migration task is valid for 30 days by default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-06-04T13:35:00Z'], ], [ 'name' => 'SystemDiskPart', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The partitions of the system disk.', 'type' => 'array', 'items' => [ '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, 'title' => '', ], 'required' => false, 'maxItems' => 32, 'title' => '', ], ], [ 'name' => 'DataDisk', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The data disks.', 'type' => 'array', 'items' => [ 'description' => 'The data disks.', 'type' => 'object', 'properties' => [ 'Index' => ['description' => 'The sequence number of the data disk on the destination ECS instance. Valid values: 1 to 16.'."\n" ."\n" .'The initial value is 1.'."\n" ."\n" .'> You can create a destination data disk only for a data disk that exists on the source server.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], 'Part' => [ 'description' => 'The partitions.', 'type' => 'array', 'items' => [ 'description' => 'The partitions.', 'type' => 'object', 'properties' => [ 'SizeBytes' => ['description' => 'The size of partition N of data disk N. Unit: bytes. The default value is the size of the source data disk partition.'."\n" ."\n" .'> The size of a partition cannot exceed the size of the data disk. The total size of all partitions in a data disk cannot exceed the size of the data disk.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '254803968'], 'Block' => ['description' => 'Specifies whether to enable block replication for partition N of data disk N. Valid values:'."\n" ."\n" .'- true'."\n" ."\n" .'- false', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], 'Device' => ['description' => 'The device ID of partition N of data disk N.'."\n" ."\n" .'> For the value of N, see the device ID of the source partition.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '0_1'], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 32, 'title' => '', ], 'Size' => ['description' => 'The size of the data disk on the destination ECS instance. Unit: GiB. Valid values: 20 to 32768.'."\n" ."\n" .'> The value of this parameter must be greater than the space that is used by the data disk of the source server. For example, if the data disk of the source server is 500 GiB in size and 100 GiB of the space is used, you must set this parameter to a value greater than 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '100'], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 16, 'title' => '', ], ], [ '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.', 'type' => 'string', 'title' => '', 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01'], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DataDisk.DuplicateIndex', 'errorMessage' => 'The source server data disk cannot contain the same index.', 'description' => 'The source server data disk cannot contain the same index.'], ['errorCode' => 'ReplicationJobDataDiskIndex.Invalid', 'errorMessage' => 'The specified replication job contains data disk index not found in source server.', 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], ['errorCode' => 'ReplicationJobName.Duplicate', 'errorMessage' => 'The specified replication job name already exists.', 'description' => 'The specified replication job name already exists.'], ['errorCode' => 'ReplicationJob.InvalidStatus', 'errorMessage' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], ['errorCode' => 'ReplicationJob.InvalidBusinessStatus', 'errorMessage' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], ['errorCode' => 'ImageName.UsedByReplicationJob', 'errorMessage' => 'The specified imageName: "%s" was used by another replication job in the current region.', 'description' => 'The specified imageName: "%s" was used by another replication job in the current region.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'title' => 'ModifyReplicationJobAttribute', 'description' => '## Description'."\n" ."\n" .'Before you modify a migration task, note the following:'."\n" ."\n" .'- The `Name` and `Description` parameters can be modified at any time during the lifecycle of the migration task.'."\n" ."\n" .'- The `Frequency` and `MaxNumberOfImageToKeep` parameters can be modified only before the migration task is executed or when the task is in the `Waiting` state.'."\n" ."\n" .'- Other parameters can be modified only before the migration task is executed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'smc:ModifyReplicationJobAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'ReplicationJob', 'arn' => 'acs:smc:{#regionId}:{#accountId}:replicationjob/{#JobId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","type":"json"}]', ], 'ModifySourceServerAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ '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 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' => [ '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' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '240380', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'WorkgroupId', 'in' => 'query', 'schema' => ['description' => 'The workgroup ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'w-bp10geepnj916e3d****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the workgroup. The name must meet the following requirements:'."\n" ."\n" .'- The 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' => [ 'title' => 'Schema of Response', 'description' => 'The returned parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'A required authorization for the specified action is not supplied.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => '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' => '18576', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21q****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ '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.', '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'StopReplicationJob' => [ 'summary' => 'You can call the StopReplicationJob operation to stop a migration task.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '18577', 'abilityTreeNodes' => ['FEATUREsmcTXNBS6'], ], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the migration task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'j-bw526m1vi6x21qh****'], ], ], 'responses' => [ 200 => [ 'schema' => [ '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}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'TagResources' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ '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 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' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ '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' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '3E8B9ABB-289A-44E6-942D-8AA9E493****'], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E8B9ABB-289A-44E6-942D-8AA9E493****\\"\\n}","type":"json"}]', ], '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' => '18579', 'abilityTreeNodes' => ['FEATUREsmc6EK4ZG'], ], 'parameters' => [ [ '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 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' => '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' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of the Tag parameters cannot exceed 20.', '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'smc.aliyuncs.com', 'endpoint' => 'smc.aliyuncs.com', 'vpc' => 'smc.vpc-proxy.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'DataDisk.DuplicateIndex', 'message' => 'The source server data disk cannot contain the same index.', 'http_code' => 400, 'description' => 'The source server data disk cannot contain the same index.'], ['code' => 'DataDisk.DuplicatePath', 'message' => 'The source server data disk cannot contain duplicate paths.', 'http_code' => 400, 'description' => 'The source server data disk cannot contain duplicate paths.'], ['code' => 'Duplicate.ResourceId', 'message' => 'The specified ResourceId contains duplicate values.', 'http_code' => 400, 'description' => 'The specified ResourceId contains duplicate values.'], ['code' => 'Duplicate.ResourceId', 'message' => 'The ResourceId contains duplicate values.', 'http_code' => 400, 'description' => 'The ResourceId contains duplicate values.'], ['code' => 'Duplicate.TagKey', 'message' => 'Tag.N.Key contains duplicate values.', 'http_code' => 400, 'description' => 'Tag.N.Key contains duplicate values.'], ['code' => 'EntityNotExist.Role', 'message' => 'The account is unauthorized. Please assign the role AliyunSMCDefaultRole to your account.', 'http_code' => 403, 'description' => 'The account is unauthorized. Please assign the role AliyunSMCDefaultRole to your account.'], ['code' => 'EntityNotExist.Role', 'message' => 'The account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.', 'http_code' => 403, 'description' => 'The account does not have the operation permission, please assign the account AliyunServiceRoleForSMC role.'], ['code' => 'Forbidden.Unauthorized', 'message' => 'A required authorization for the specified action is not supplied.', 'http_code' => 403, 'description' => ''], ['code' => 'ImageName.Exist', 'message' => 'The specified imageName already exists in the current region.', 'http_code' => 400, 'description' => 'The specified imageName already exists in the current region.'], ['code' => 'ImageName.UsedByReplicationJob', 'message' => 'The specified imageName was used by another replication job in the current region.', 'http_code' => 400, 'description' => 'The specified imageName was used by another replication job in the current region.'], ['code' => 'ImageName.UsedByReplicationJob', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified imageName was used by another replication job in the current region.'."\n"], ['code' => 'ImageName.UsedByReplicationJob', 'message' => 'The specified imageName: "%s" was used by another replication job in the current region.', 'http_code' => 400, 'description' => 'The specified imageName: "%s" was used by another replication job in the current region.'], ['code' => 'InternalError', 'message' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.', 'http_code' => 500, 'description' => 'An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.'], ['code' => 'InvalidOsMigrationType.NotMatched', 'message' => '%s.', 'http_code' => 400, 'description' => 'The source os type and target os type are not matched.'], ['code' => 'InvalidOsMigrationType.NotMatched', 'message' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.', 'http_code' => 400, 'description' => 'The SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.'], ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds do not exist.', 'http_code' => 400, 'description' => 'The specified ResourceIds do not exist.'], ['code' => 'InvalidResourceType.NotFound', 'message' => 'The specified ResourceType does not exist.', 'http_code' => 400, 'description' => 'The specified ResourceType does not exist.'], ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => 'The network type of the specified security group does not support this action.', 'http_code' => 400, 'description' => 'The network type of the specified security group does not support this action.'], ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'http_code' => 400, 'description' => 'The specified security group and the specified virtual switch are not in the same VPC.'], ['code' => 'InvalidTagKey.Malformed', 'message' => 'The specified format of TagKey is invalid.', 'http_code' => 400, 'description' => 'The specified format of TagKey is invalid.'], ['code' => 'InvalidTagValue.Malformed', 'message' => 'The specified format of TagValue is invalid.', 'http_code' => 400, 'description' => 'The specified format of TagValue is invalid.'], ['code' => 'MissingParameter.ResourceIds', 'message' => 'You must specify ResourceId.N.', 'http_code' => 400, 'description' => 'You must specify ResourceId.N.'], ['code' => 'MissingParameter.ResourceIdsOrTags', 'message' => 'Either ResourceId.N or Tags should be specified.', 'http_code' => 400, 'description' => 'Either ResourceId.N or Tags must be specified.'], ['code' => 'MissingParameter.ResourceType', 'message' => 'You must specify ResourceType.', 'http_code' => 400, 'description' => 'You must specify ResourceType.'], ['code' => 'MissingParameter.TagKey', 'message' => 'You must specify Tag.N.Key.', 'http_code' => 400, 'description' => 'You must specify Tag.N.Key.'], ['code' => 'MissingParameter.Tags', 'message' => 'You must specify Tags.', 'http_code' => 400, 'description' => 'You must specify Tags.'], ['code' => 'MissingParameter.TagValue', 'message' => 'You must specify Tag.N.Value.', 'http_code' => 400, 'description' => 'You must specify Tag.N.Value.'], ['code' => 'NotAllowed.PrivateIPHasReverseDependency', 'message' => 'The private IP address of the instance has reverse dependency.', 'http_code' => 400, 'description' => 'The private IP address of the instance has a reverse dependency.'], ['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.', 'http_code' => 400, 'description' => 'The maximum number of ResourceIds is exceeded. The maximum value is 50.'], ['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceId parameters cannot exceed 50.', 'http_code' => 400, 'description' => 'The maximum number of ResourceId parameters cannot exceed 50.'], ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of Tags is exceeded. The maximum value is 20.', 'http_code' => 400, 'description' => 'The maximum number of Tags is exceeded. The maximum value is 20.'], ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of the Tag parameters cannot exceed 20.', 'http_code' => 400, 'description' => 'The maximum number of Tag parameters cannot exceed 20.'], ['code' => 'QuotaExceeded.ReplicationJob', 'message' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.', 'http_code' => 400, 'description' => 'The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.'], ['code' => 'QuotaExceeded.SourceServer', 'message' => 'The maximum number of source servers is exceeded. Please submit a ticket.', 'http_code' => 400, 'description' => 'The maximum number of source servers is exceeded. Please submit a ticket.'], ['code' => 'RealNameAuthenticationError', 'message' => 'You must perform real-name verification for your account.', 'http_code' => 403, 'description' => 'The account does not have real-name authentication. Please perform real-name authentication first.'], ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => 'The specified business status of the replication job is invalid.', 'http_code' => 400, 'description' => 'The specified business status of the replication job is invalid.'], ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified business status of the replication job is invalid.'."\n"], ['code' => 'ReplicationJob.InvalidBusinessStatus', 'message' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified business status: %s of the replication job is invalid. This operation can only be performed in the following status: %s.'], ['code' => 'ReplicationJob.InvalidStatus', 'message' => 'The specified replication job status is invalid.', 'http_code' => 400, 'description' => 'The specified replication job status is invalid.'], ['code' => 'ReplicationJob.InvalidStatus', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified replication job status is invalid.'."\n"], ['code' => 'ReplicationJob.InvalidStatus', 'message' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified replication job status: %s is invalid. This operation can only be performed in the following status: %s.'], ['code' => 'ReplicationJob.NotFound', 'message' => 'The specified replication job does not exist.', 'http_code' => 400, 'description' => 'The specified replication job does not exist.'], ['code' => 'ReplicationJob.Related', 'message' => 'The specified source server has related replication jobs.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs.'], ['code' => 'ReplicationJob.Related', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs.'."\n"], ['code' => 'ReplicationJob.Related', 'message' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs. Please delete replication jobs: %s before delete this source server.'], ['code' => 'ReplicationJobAttribute.InvalidForModify', 'message' => 'The current replication job status is not ready. Only Name and Description in the replication job attribute can be modified.', 'http_code' => 400, 'description' => 'The current replication job status is not Ready. Only Name and Description in the replication job attribute can be modified.'], ['code' => 'ReplicationJobDataDiskIndex.Invalid', 'message' => 'The specified replication job contains data disk index not found in source server.', 'http_code' => 400, 'description' => 'The specified replication job contains data disk indexes that do not exist in the source server.'], ['code' => 'ReplicationJobName.Duplicate', 'message' => 'The specified replication job name already exists.', 'http_code' => 400, 'description' => 'The specified replication job name already exists.'], ['code' => 'ReplicationJobRunningNum.Exceeded', 'message' => 'The maximum number of replication jobs that can be run simultaneously by the current user is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of replication jobs that can be run simultaneously by the current user is exceeded.'], ['code' => 'SourceServer.WithRunningReplicationJob', 'message' => 'The specified source server has related replication jobs that are running.', 'http_code' => 400, 'description' => 'The specified source server has related replication jobs that are running.'], ['code' => 'SourceServerId.NotExist', 'message' => 'The specified sourceServerId does not exist.', 'http_code' => 404, 'description' => 'The specified sourceServerId does not exist.'], ['code' => 'SourceServerId.NotExist', 'message' => 'The specified source server ID does not exist.', 'http_code' => 400, 'description' => 'The specified source server ID does not exist.'], ['code' => 'SourceServerName.Duplicate', 'message' => 'The specified source server name already exists. Please modify the source server name.', 'http_code' => 400, 'description' => 'The specified source server name already exists. Please modify the source server name.'], ['code' => 'SourceServerState.Invalid', 'message' => 'The specified source server status is invalid.', 'http_code' => 400, 'description' => 'The specified source server status is invalid.'], ['code' => 'SourceServerState.Invalid', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified source server status is invalid.'."\n"], ['code' => 'SourceServerState.Invalid', 'message' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.', 'http_code' => 400, 'description' => 'The specified source server status: %s is invalid. This operation can only be performed in the following status: %s.'], ['code' => 'VSwitchIdVpcId.Mismatch', 'message' => 'The specified VSwitchId and VpcId does not match.', 'http_code' => 400, 'description' => 'The specified VSwitchId and VpcId does not match.'], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCrossZoneMigrationJob'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccessToken'], ], ], 'ram' => [ 'productCode' => 'SMC', 'productName' => 'Server Migration Center', 'ramCodes' => ['smc'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'DeleteAccessToken', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'smc:DeleteAccessToken', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ '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' => '*'], ], ], ], ], '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}'], ], ], ];