diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json index 7f53155a6a2e..f3fea60db161 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json @@ -8515,6 +8515,10 @@ "description": "The name of the machine where the provider is getting added.", "type": "string" }, + "machineId": { + "description": "The Id of the machine where the provider is getting added.", + "type": "string" + }, "authenticationIdentityInput": { "$ref": "#/definitions/IdentityProviderInput", "description": "The identity provider input for DRA authentication." @@ -8522,6 +8526,10 @@ "resourceAccessIdentityInput": { "$ref": "#/definitions/IdentityProviderInput", "description": "The identity provider input for resource access." + }, + "dataPlaneAuthenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for data plane authentication." } } }, @@ -8561,6 +8569,73 @@ } } }, + "AgentDetails": { + "description": "Agent details.", + "type": "object", + "properties": { + "agentId": { + "description": "The Id of the agent running on the server.", + "type": "string", + "readOnly": true + }, + "machineId": { + "description": "The Id of the machine to which the agent is registered.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The machine BIOS Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The machine FQDN.", + "type": "string", + "readOnly": true + }, + "disks": { + "description": "The details of agent disks.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDiskDetails" + }, + "readOnly": true + } + } + }, + "AgentDiskDetails": { + "description": "Agent disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "lunId": { + "format": "int32", + "description": "The lun of disk.", + "type": "integer", + "readOnly": true + } + } + }, "Alert": { "description": "Implements the Alert class.", "type": "object", @@ -9335,11 +9410,11 @@ "type": "object", "properties": { "secretIdentifier": { - "description": "The secret url / identifier.", + "description": "The secret URL / identifier.", "type": "string" }, "keyVaultResourceArmId": { - "description": "The KeyVault resource ARM id for secret.", + "description": "The KeyVault resource ARM Id for secret.", "type": "string" } } @@ -9380,6 +9455,56 @@ } } }, + "DraDetails": { + "description": "DRA details.", + "type": "object", + "properties": { + "id": { + "description": "The DRA Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The DRA name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The DRA version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the DRA.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the DRA.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "EnableMigrationInput": { "description": "Enable migration input.", "required": [ @@ -12371,135 +12496,1174 @@ } } }, - "InMageReplicationDetails": { - "description": "InMage provider specific settings", + "InMageRcmApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageRcm provider.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } ], "properties": { - "activeSiteType": { - "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "recoveryPointId": { + "description": "The recovery point Id.", "type": "string" - }, - "sourceVmCpuCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "sourceVmRamSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "osDetails": { - "$ref": "#/definitions/OSDiskDetails", - "description": "The OS details." - }, - "protectionStage": { - "description": "The protection stage.", + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmDiskInput": { + "description": "InMageRcm disk input.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "logStorageAccountId": { + "description": "The log storage account ARM Id.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string" + } + } + }, + "InMageRcmDisksDefaultInput": { + "description": "InMageRcm disk input.", + "type": "object", + "properties": { + "logStorageAccountId": { + "description": "The log storage account ARM Id.", "type": "string" }, - "resyncDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "The resync details of the machine" + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } }, - "retentionWindowStart": { - "format": "date-time", - "description": "The retention window start time.", + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", "type": "string" - }, - "retentionWindowEnd": { - "format": "date-time", - "description": "The retention window end time.", + } + } + }, + "InMageRcmEnableProtectionInput": { + "description": "InMageRcm specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricDiscoveryMachineId": { + "description": "The ARM Id of discovered machine.", "type": "string" }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" - }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" - }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "protectedDisks": { - "description": "The list of protected disks.", + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, "type": "array", "items": { - "$ref": "#/definitions/InMageProtectedDiskDetails" + "$ref": "#/definitions/InMageRcmDiskInput" } }, - "ipAddress": { - "description": "The source IP address.", - "type": "string" - }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", - "type": "string" + "disksDefault": { + "$ref": "#/definitions/InMageRcmDisksDefaultInput", + "description": "The default disk input." }, - "processServerId": { - "description": "The process server Id.", + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", + "targetNetworkId": { + "description": "The selected target network ARM Id.", "type": "string" }, - "consistencyPoints": { - "description": "The collection of Consistency points.", - "type": "object", - "additionalProperties": { - "format": "date-time", - "type": "string" - } - }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "testNetworkId": { + "description": "The selected test network ARM Id.", "type": "string" }, - "rebootAfterUpdateStatus": { - "description": "A value indicating whether the source server requires a restart after update.", + "targetSubnetName": { + "description": "The selected target subnet name.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id, if any.", + "testSubnetName": { + "description": "The selected test subnet name.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name, if any.", + "targetVmName": { + "description": "The target VM name.", "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "targetVmSize": { + "description": "The target VM size.", "type": "string" }, - "agentDetails": { - "$ref": "#/definitions/InMageAgentDetails", - "description": "The agent details." - }, - "vCenterInfrastructureId": { + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmEventDetails": { + "description": "Event details for InMageRcm provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricCreationInput": { + "description": "InMageRcm fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string" + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string" + }, + "sourceAgentIdentity": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for source agent authentication." + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricSpecificDetails": { + "description": "InMageRcm fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string", + "readOnly": true + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string", + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", + "type": "string", + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", + "type": "string", + "readOnly": true + }, + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "dataPlaneUri": { + "description": "The data plane Uri.", + "type": "string", + "readOnly": true + }, + "controlPlaneUri": { + "description": "The control plane Uri.", + "type": "string", + "readOnly": true + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true + }, + "rcmProxies": { + "description": "The list of RCM proxies.", + "type": "array", + "items": { + "$ref": "#/definitions/RcmProxyDetails" + }, + "readOnly": true + }, + "pushInstallers": { + "description": "The list of push installers.", + "type": "array", + "items": { + "$ref": "#/definitions/PushInstallerDetails" + }, + "readOnly": true + }, + "replicationAgents": { + "description": "The list of replication agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationAgentDetails" + }, + "readOnly": true + }, + "reprotectAgents": { + "description": "The list of reprotect agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReprotectAgentDetails" + }, + "readOnly": true + }, + "dras": { + "description": "The list of DRAs.", + "type": "array", + "items": { + "$ref": "#/definitions/DraDetails" + }, + "readOnly": true + }, + "agentDetails": { + "description": "The list of agent details.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDetails" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmLastAgentUpgradeErrorDetails": { + "description": "InMageRcm last source agent upgrade error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "The possible causes.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action.", + "type": "string", + "readOnly": true + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmMobilityAgentDetails": { + "description": "InMageRcm mobility agent details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true + }, + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true + }, + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true + }, + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true + }, + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat recieved from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", + "type": "array", + "items": { + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmNicDetails": { + "description": "InMageRcm NIC details.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string", + "readOnly": true + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string", + "readOnly": true + }, + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true + }, + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true + }, + "sourceSubnetName": { + "description": "Source subnet name.", + "type": "string", + "readOnly": true + }, + "targetIPAddress": { + "description": "The target IP address.", + "type": "string", + "readOnly": true + }, + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string", + "readOnly": true + }, + "testSubnetName": { + "description": "Test subnet name.", + "type": "string", + "readOnly": true + }, + "testIPAddress": { + "description": "The test IP address.", + "type": "string", + "readOnly": true + }, + "testIPAddressType": { + "description": "The test IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + } + } + }, + "InMageRcmNicInput": { + "description": "InMageRcm NIC input.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string" + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string" + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetStaticIPAddress": { + "description": "The target static IP address.", + "type": "string" + }, + "testSubnetName": { + "description": "The test subnet name.", + "type": "string" + }, + "testStaticIPAddress": { + "description": "The test static IP address.", + "type": "string" + } + } + }, + "InMageRcmPolicyCreationInput": { + "description": "InMageRcm policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmPolicyDetails": { + "description": "InMageRcm specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer", + "readOnly": true + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer", + "readOnly": true + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer", + "readOnly": true + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmProtectedDiskDetails": { + "description": "InMageRcm protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string", + "readOnly": true + }, + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true + }, + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + } + } + }, + "InMageRcmRecoveryPointDetails": { + "description": "InMageRcm provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmReplicationDetails": { + "description": "InMageRcm provider specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true + }, + "fabricDiscoveryMachineId": { + "description": "The ARM Id of the discovered VM.", + "type": "string", + "readOnly": true + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true + }, + "discoveryType": { + "description": "The type of the discovered VM.", + "type": "string", + "readOnly": true + }, + "processServerId": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "processServerName": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string", + "readOnly": true + }, + "targetVmName": { + "description": "Target VM name.", + "type": "string", + "readOnly": true + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string", + "readOnly": true + }, + "targetResourceGroupId": { + "description": "The target resource group Id.", + "type": "string", + "readOnly": true + }, + "targetAvailabilitySetId": { + "description": "The target availability set Id.", + "type": "string", + "readOnly": true + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string", + "readOnly": true + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string", + "readOnly": true + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "targetNetworkId": { + "description": "The target network Id.", + "type": "string", + "readOnly": true + }, + "testNetworkId": { + "description": "The test network Id.", + "type": "string", + "readOnly": true + }, + "failoverRecoveryPointId": { + "description": "The recovery point Id to which the VM was failed over.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "lastRpoInSeconds": { + "format": "int64", + "description": "The last recovery point objective value.", + "type": "integer", + "readOnly": true + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last recovery point objective calculated time.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true + }, + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage.", + "type": "integer", + "readOnly": true + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer", + "readOnly": true + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "agentUpgradeState": { + "description": "The agent auto upgrade state.", + "enum": [ + "None", + "Started", + "Completed", + "Commit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MobilityAgentUpgradeState", + "modelAsString": true + } + }, + "lastAgentUpgradeType": { + "description": "The last agent upgrade type.", + "type": "string", + "readOnly": true + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmProtectedDiskDetails" + } + }, + "isLastUpgradeSuccessful": { + "description": "A value indicating whether last agent upgrade was successful or not.", + "type": "string", + "readOnly": true + }, + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmMobilityAgentDetails", + "description": "The mobility agent information.", + "readOnly": true + }, + "lastAgentUpgradeErrorDetails": { + "description": "The last agent upgrade error information.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails" + } + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmNicDetails" + } + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmTestFailoverInput": { + "description": "InMageRcm provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "networkId": { + "description": "The test network Id.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUnplannedFailoverInput": { + "description": "InMageRcm provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUpdateReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The test network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicInput" + } + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageReplicationDetails": { + "description": "InMage provider specific settings", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "The resync details of the machine" + }, + "retentionWindowStart": { + "format": "date-time", + "description": "The retention window start time.", + "type": "string" + }, + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", + "type": "string" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageProtectedDiskDetails" + } + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name, if any.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "type": "string" + }, + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { "description": "The vCenter infrastructure Id.", "type": "string" }, @@ -12980,11 +14144,11 @@ "type": "object", "properties": { "keyIdentifier": { - "description": "The key url / identifier.", + "description": "The key URL / identifier.", "type": "string" }, "keyVaultResourceArmId": { - "description": "The KeyVault resource ARM id for key.", + "description": "The KeyVault resource ARM Id for key.", "type": "string" } } @@ -13947,15 +15111,117 @@ "type": "string", "readOnly": true }, - "throughputUploadPendingDataInBytes": { + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputInMBps": { + "format": "int64", + "description": "The throughput in MBps.", + "type": "integer", + "readOnly": true + }, + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputStatus": { + "description": "The throughput status.", + "type": "string", + "readOnly": true + }, + "marsCommunicationStatus": { + "description": "The MARS communication status.", + "type": "string", + "readOnly": true + }, + "marsRegistrationStatus": { + "description": "The MARS registration status.", + "type": "string", + "readOnly": true + } + } + }, + "ProcessServerDetails": { + "description": "Process server details.", + "type": "object", + "properties": { + "id": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The process server version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the process server.", + "type": "string", + "readOnly": true + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer", + "readOnly": true + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer", + "readOnly": true + }, + "usedMemoryInBytes": { + "format": "int64", + "description": "The used memory.", + "type": "integer", + "readOnly": true + }, + "memoryUsagePercentage": { + "format": "double", + "description": "The memory usage percentage.", + "type": "number", + "readOnly": true + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total disk space.", + "type": "integer", + "readOnly": true + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available disk space.", + "type": "integer", + "readOnly": true + }, + "usedSpaceInBytes": { "format": "int64", - "description": "The uploading pending data in bytes.", + "description": "The used disk space.", "type": "integer", "readOnly": true }, - "throughputInMBps": { + "freeSpacePercentage": { + "format": "double", + "description": "The free disk space percentage.", + "type": "number", + "readOnly": true + }, + "throughputUploadPendingDataInBytes": { "format": "int64", - "description": "The throughput in MBps.", + "description": "The uploading pending data in bytes.", "type": "integer", "readOnly": true }, @@ -13965,20 +15231,49 @@ "type": "integer", "readOnly": true }, - "throughputStatus": { - "description": "The throughput status.", - "type": "string", + "processorUsagePercentage": { + "format": "double", + "description": "The processor usage percentage.", + "type": "number", "readOnly": true }, - "marsCommunicationStatus": { - "description": "The MARS communication status.", + "health": { + "description": "The health of the process server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, "readOnly": true }, - "marsRegistrationStatus": { - "description": "The MARS registration status.", + "historicHealth": { + "description": "The historic health of the process server based on the health in last 24 hours.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } } } }, @@ -14367,6 +15662,106 @@ }, "x-ms-discriminator-value": "RcmAzureMigration" }, + "PushInstallerDetails": { + "description": "Push installer details.", + "type": "object", + "properties": { + "id": { + "description": "The push installer Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The push installer name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The push installer version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the push installer.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the push installer.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "RcmProxyDetails": { + "description": "RCM proxy details.", + "type": "object", + "properties": { + "id": { + "description": "The RCM proxy Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The RCM proxy name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The RCM proxy version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the RCM proxy.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the RCM proxy.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "RecoveryPlan": { "description": "Recovery plan details.", "type": "object", @@ -14802,6 +16197,36 @@ }, "x-ms-discriminator-value": "InMage" }, + "RecoveryPlanInMageRcmFailoverInput": { + "description": "Recovery plan InMageRcm failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, "RecoveryPlanManualActionDetails": { "description": "Recovery plan manual action details.", "type": "object", @@ -15333,6 +16758,14 @@ "description": "The DRA Id.", "type": "string" }, + "machineId": { + "description": "The machine Id.", + "type": "string" + }, + "machineName": { + "description": "The machine name.", + "type": "string" + }, "authenticationIdentityDetails": { "$ref": "#/definitions/IdentityProviderDetails", "description": "The authentication identity details." @@ -15341,6 +16774,10 @@ "$ref": "#/definitions/IdentityProviderDetails", "description": "The resource access identity details." }, + "dataPlaneAuthenticationIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The data plane authentication identity details." + }, "providerVersionDetails": { "$ref": "#/definitions/VersionDetails", "description": "The provider version details." @@ -15418,6 +16855,56 @@ } } }, + "ReplicationAgentDetails": { + "description": "Replication agent details.", + "type": "object", + "properties": { + "id": { + "description": "The replication agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The replication agent name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The replication agent version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the replication agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the replication agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "ReplicationEligibilityResults": { "description": "Replication eligibility results response model.", "type": "object", @@ -15728,6 +17215,56 @@ }, "discriminator": "instanceType" }, + "ReprotectAgentDetails": { + "description": "Reprotect agent details.", + "type": "object", + "properties": { + "id": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the reprotect agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the reprotect agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "ResolveHealthError": { "description": "Resolve health errors input properties.", "type": "object", @@ -16365,21 +17902,21 @@ } }, "TestFailoverInput": { - "description": "Input definition for planned failover.", + "description": "Input definition for test failover.", "type": "object", "properties": { "properties": { "$ref": "#/definitions/TestFailoverInputProperties", - "description": "Planned failover input properties" + "description": "test failover input properties" } } }, "TestFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "description": "Input definition for test failover input properties.", "type": "object", "properties": { "failoverDirection": { - "description": "Failover direction.", + "description": "Test failover direction.", "type": "string" }, "networkType": { @@ -16503,17 +18040,17 @@ "discriminator": "instanceType" }, "UnplannedFailoverInput": { - "description": "Input definition for planned failover.", + "description": "Input definition for unplanned failover.", "type": "object", "properties": { "properties": { "$ref": "#/definitions/UnplannedFailoverInputProperties", - "description": "Planned failover input properties" + "description": "Unplanned failover input properties." } } }, "UnplannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "description": "Input definition for unplanned failover input properties.", "type": "object", "properties": { "failoverDirection": {