Start

Start

This request configures a new replication for each VM in the vApp. This triggers multiple start VM replications.

The result of this API call is a task which must be polled by using the respective APIs for task polling. If the task succeeds, then the result can be obtained from the result field. If the task fails, there is no result. The failure reason is in the error field.

Request
URI
POST
https://{api_host}/vapp-replications
COPY
Query Parameters
string
site
Optional

Optional site to run the operation on. When omitted, defaults to the local site.

site example
site1
Header Parameters
string
operationID
Optional

Operation ID for correlating logs across multiple services

string
On-Prem-Auth
Optional

On-Prem-Auth


Request Body
CloudReplicationSettings of type(s) application/json
Required
{
    "source": {
        "type": "vapp",
        "site": "site1",
        "vappId": "9664de13-6150-4315-9f59-2d85eb4c302f"
    },
    "destination": {
        "type": "vcloud",
        "site": "site2",
        "vdc": "d6977f40-4d90-46b2-a34e-5077e8648eda",
        "storageProfile": "*"
    },
    "description": "A Protected Workload",
    "rpo": 5,
    "slaProfileId": "e95fea3e-424f-412e-a1f3-57f742986d21",
    "dataConnectionType": "ENCRYPTED",
    "quiesced": true,
    "retentionPolicy": {
        "rules": [
            {
                "numberOfInstances": 3,
                "distance": 60
            }
        ]
    },
    "targetDiskType": "THIN",
    "initialSyncTime": 0,
    "isMigration": false
}
dataConnectionType
Optional

dataConnectionType

string
description
Optional

The description of the replication.

destination
Optional

The destination location of the replication.

integer As int64 As int64
initialSyncTime
Optional

Replication initial sync time. If in the past, 0 or negative, the sync will not be delayed. The time is specified as the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC

boolean
isMigration
Optional

Whether the replication is actually a migration.

boolean
quiesced
Optional

Replicated image guest quiescing - if empty/omitted no change will be applied.

retentionPolicy
Optional

retentionPolicy

integer As int32 As int32
rpo
Optional

Recovery point objective in minutes - if empty/omitted no change will be applied.

string
slaProfileId
Optional

The SLA Profile to use instead of the custom rpo/dataConnectionType/retentionPolicy settings

source
Optional

The source location of the replication.

targetDiskType
Optional

targetDiskType

Authentication
This operation uses the following authentication methods.
Responses
202

Accepted

Returns C4ApiTask_of_VappReplicationInfo of type(s) application/vnd.vmware.h4-v4.7+json;charset=UTF-8
{
    "endTime": 1499929558827,
    "error": {
        "args": [],
        "code": "Forbidden",
        "msg": "Permission denied.",
        "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
    },
    "id": "f61d60d2-698a-46dc-a266-88df27644956",
    "lastUpdated": 1499929558827,
    "progress": 100,
    "result": {
        "descriptor": {
            "description": "vapp description in VMware Cloud Director",
            "enabledTemplateCustomization": false,
            "isGolden": false,
            "metadata": {},
            "name": "my vapp 1",
            "networks": [
                {
                    "dhcpService": {
                        "defaultLeaseTime": 86400,
                        "domainName": "acme.com",
                        "ipRange": {
                            "endAddress": "10.71.80.255",
                            "startAddress": "10.71.80.0"
                        },
                        "isEnabled": true,
                        "maxLeaseTime": 86400,
                        "primaryNameServer": "8.8.8.8",
                        "routerIp": "192.168.0.1",
                        "secondaryNameServer": "8.8.4.4",
                        "subMask": "255.255.255.0"
                    },
                    "fenceMode": "bridged",
                    "firewallService": {
                        "defaultAction": "allow",
                        "firewallRules": [],
                        "isEnabled": true,
                        "logDefaultAction": false
                    },
                    "ipScopes": [
                        {
                            "allocatedIpAddresses": [
                                "10.71.81.55"
                            ],
                            "dnsSuffix": "acme.com",
                            "gateway": "192.168.4.1",
                            "ipRanges": [
                                {
                                    "startAddress": "10.71.80.0",
                                    "endAddress": "10.71.80.255"
                                }
                            ],
                            "isEnabled": true,
                            "isInherited": true,
                            "netmask": "255.255.225.0",
                            "primaryDns": "8.8.8.8",
                            "secondaryDns": "8.8.4.4"
                        }
                    ],
                    "name": "myvappnetworkdescriptor",
                    "natService": {
                        "externalIp": "1.2.3.4",
                        "isEnabled": true,
                        "natRules": [
                            {
                                "description": "Some description.",
                                "gatewayNatRule": {
                                    "icmpSubType": "any",
                                    "originalIp": "10.20.30.40",
                                    "originalPort": "\"80\"",
                                    "protocol": "TCP",
                                    "translatedIp": "11.22.33.44",
                                    "translatedPort": "\"88\""
                                },
                                "id": 1,
                                "isEnabled": true,
                                "oneToOneBasicRule": {
                                    "externalIpAddress": "any",
                                    "internalIpAddress": "any",
                                    "mappingMode": "automatic"
                                },
                                "oneToOneVmRule": {
                                    "externalIpAddress": "10.71.80.255",
                                    "mappingMode": "automatic",
                                    "vmName": "myvm",
                                    "vmNicId": 0
                                },
                                "portForwardingRule": {
                                    "externalIpAddress": "10.71.80.255",
                                    "externalPort": 80,
                                    "internalIpAddress": "10.20.30.40",
                                    "internalPort": 88,
                                    "protocol": "TCP"
                                },
                                "type": "SNAT",
                                "vmRule": {
                                    "externalIpAddress": "10.71.80.255",
                                    "externalPort": 80,
                                    "internalPort": 88,
                                    "protocol": "TCP",
                                    "vmName": "myvm",
                                    "vmNicId": 0
                                }
                            }
                        ],
                        "policy": "allowTraffic",
                        "type": "ipTranslation"
                    },
                    "parentId": "b879c7ba-461e-46fe-af51-8208c063002e",
                    "parentName": "myparent",
                    "routerExternalIp": "10.20.30.40"
                }
            ],
            "sourceCatalogItemId": "0221b98b-b91c-4524-a491-f744f67bffbe"
        },
        "destination": {
            "destinationCatalogItemId": "0221b98b-b91c-4524-a491-f744f67bffbe",
            "org": "org2",
            "recoveredVappId": "null",
            "site": "site2",
            "vdcId": "5ee9224f-305d-46f6-865f-b605e70acef8",
            "vdcName": "Virtual DC 2"
        },
        "id": "C4VAPP-ccbe771e-b685-46c7-8c7a-4ed36915d963",
        "isMigration": false,
        "lastUpdated": 0,
        "overallHealth": "string",
        "owner": "org1@site2",
        "source": {
            "isTemplate": false,
            "org": "org1",
            "site": "site1",
            "sourceCatalogId": "0221b98b-b91c-4524-a491-f744f67bffbe",
            "sourceCatalogName": "Catalog1",
            "vappId": "d6977f40-4d90-46b2-a34e-5077e8648eda",
            "vdcId": "f61d60d2-698a-46dc-a266-88df27644956",
            "vdcName": "Virtual DC 1"
        },
        "vmReplications": [
            {
                "computerName": "computerName",
                "dataConnectionState": "string",
                "destinationState": {
                    "currentRpoViolation": 25,
                    "isMovingReplica": false,
                    "lastError": {
                        "args": [],
                        "code": "Forbidden",
                        "msg": "Permission denied.",
                        "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
                    },
                    "latestInstance": {
                        "isPinned": true,
                        "key": "replica-52f3e775-a8fa-13e3-e9be-39264ed2dfe2",
                        "quiescedType": "string",
                        "sequenceNumber": 11,
                        "timestamp": 1469701818743,
                        "transferBytes": 512000,
                        "transferSeconds": 4
                    },
                    "spaceRequirement": 0,
                    "state": "string",
                    "stateAge": 0
                },
                "guestCustomization": {
                    "adminAutoLogonCount": 3,
                    "adminPassword": "sEcUrEpAsS",
                    "adminPasswordAuto": true,
                    "adminPasswordEnabled": true,
                    "changeSid": true,
                    "computerName": "workload-69",
                    "customizationScript": "echo 'hello world'",
                    "domainName": "workgroup",
                    "domainOrgUnit": "computers",
                    "domainUserName": "user1",
                    "domainUserPassword": "sEcUrEpAsS",
                    "enabled": true,
                    "joinDomainEnabled": true,
                    "resetPasswordRequired": true,
                    "resolutionType": "string",
                    "useOrgSettings": true
                },
                "id": "C4-11111111-af9d-446a-8599-5b693842c4a3",
                "isMigration": true,
                "isPaused": false,
                "isReversed": false,
                "lastUpdated": 618094800000,
                "metadata": {},
                "overallHealth": "string",
                "owner": "org1@site1",
                "placementPolicy": "ecde053f-1aed-4547-b73a-52b9f7c48298",
                "placementPolicyName": "Gold",
                "settings": {
                    "dataConnectionType": "string",
                    "description": "new description",
                    "excludedDiskKeys": [
                        0
                    ],
                    "initialSyncTime": 0,
                    "quiesced": true,
                    "retentionPolicy": {
                        "rules": [
                            {
                                "numberOfInstances": 3,
                                "distance": 60
                            }
                        ]
                    },
                    "rpo": 15,
                    "targetDiskType": "string"
                },
                "sizingPolicy": "ecde053f-1aed-4547-b73a-52b9f7c48298",
                "sizingPolicyName": "SizingPolicy1",
                "slaProfile": {
                    "displayName": "Gold",
                    "id": "61c528c8-1a8c-4c4e-8886-f1b6eeba98a5"
                },
                "sourceState": {
                    "stateAge": 0
                },
                "sourceVmEncrypted": false,
                "startupInfo": {
                    "order": 0,
                    "startAction": "powerOn",
                    "startDelay": 0,
                    "stopAction": "powerOff",
                    "stopDelay": 0
                },
                "storageProfile": "ecde053f-1aed-4547-b73a-52b9f7c48298",
                "storageProfileName": "*",
                "vimLocation": {
                    "datastore": "datastore",
                    "datastoreMoref": "datastore-33",
                    "datastoreName": "test datastore",
                    "dsClusterMoref": "test datastore cluster",
                    "dsClusterName": "datastoreCluster-12",
                    "vimServer": "vim server",
                    "vimServerInstanceUuid": "b260ac0-eec6-4437-9184-54ee34a1e28d"
                },
                "vmDescription": "description",
                "vmId": "d1d9739f-9e3b-4c24-9cbb-3a9fdddaf47c",
                "vmName": "my vm 1"
            }
        ]
    },
    "resultType": "string",
    "site": "site2",
    "startTime": 1499929548951,
    "state": "string",
    "user": "root",
    "warnings": [],
    "workflowInfo": {}
}
integer As int64 As int64
endTime
Optional

Timestamp in msec of the completion time of the task. -1 indicates that the task did not complete yet.

error
Optional

error

string As uuid As uuid
id
Optional

The unique identifier of the long-running task. It is unique and can be used for monitoring.

integer As int64 As int64
lastUpdated
Optional

Timestamp in msec of the last task status update.

integer As int32 As int32
progress
Optional

Percentage-based progress of the task.

result
Optional

result

string
resultType
Optional

Indicates the type of the task result. Populates only when the execution succeeds.

string
site
Optional

Site on which the task runs.

integer As int64 As int64
startTime
Optional

Timestamp in msec of the creation time of the task.

state
Optional

state

string
user
Optional

The user who started the task.

warnings
Optional

Warnings, which occurred during the task execution.

workflowInfo
Optional

workflowInfo


400

The returned error codes include (but are not limited to): BadRequest, ServiceNotLicensed

Returns ApiError of type(s) application/vnd.vmware.h4-v4.7+json;charset=UTF-8
{
    "args": [],
    "code": "Forbidden",
    "msg": "Permission denied.",
    "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
}
array of string
args
Optional

Positional arguments.

string
code
Optional

Specific error code.

string
msg
Optional

Detailed error message.

string
stacktrace
Optional

Exception stacktrace.


401

The returned error codes include (but are not limited to): NotAuthenticated, RemoteAuthenticationFailure

Returns ApiError of type(s) application/vnd.vmware.h4-v4.7+json;charset=UTF-8
{
    "args": [],
    "code": "Forbidden",
    "msg": "Permission denied.",
    "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
}
array of string
args
Optional

Positional arguments.

string
code
Optional

Specific error code.

string
msg
Optional

Detailed error message.

string
stacktrace
Optional

Exception stacktrace.


404

The returned error codes include (but are not limited to): SiteNotFound

Returns ApiError of type(s) application/vnd.vmware.h4-v4.7+json;charset=UTF-8
{
    "args": [],
    "code": "Forbidden",
    "msg": "Permission denied.",
    "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
}
array of string
args
Optional

Positional arguments.

string
code
Optional

Specific error code.

string
msg
Optional

Detailed error message.

string
stacktrace
Optional

Exception stacktrace.


500

The returned error codes include (but are not limited to): GeneralServerFailure

Returns ApiError of type(s) application/vnd.vmware.h4-v4.7+json;charset=UTF-8
{
    "args": [],
    "code": "Forbidden",
    "msg": "Permission denied.",
    "stacktrace": "com.vmware.h4.api.error.exceptions.PermissionDeniedException: Permission denied."
}
array of string
args
Optional

Positional arguments.

string
code
Optional

Specific error code.

string
msg
Optional

Detailed error message.

string
stacktrace
Optional

Exception stacktrace.