package recoveryservicessiterecovery // Copyright (c) Microsoft and contributors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // // Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) // A2ARpRecoveryPointType enumerates the values for a2a rp recovery point type. type A2ARpRecoveryPointType string const ( // Latest specifies the latest state for a2a rp recovery point type. Latest A2ARpRecoveryPointType = "Latest" // LatestApplicationConsistent specifies the latest application consistent state for a2a rp recovery point type. LatestApplicationConsistent A2ARpRecoveryPointType = "LatestApplicationConsistent" // LatestCrashConsistent specifies the latest crash consistent state for a2a rp recovery point type. LatestCrashConsistent A2ARpRecoveryPointType = "LatestCrashConsistent" // LatestProcessed specifies the latest processed state for a2a rp recovery point type. LatestProcessed A2ARpRecoveryPointType = "LatestProcessed" ) // AlternateLocationRecoveryOption enumerates the values for alternate location recovery option. type AlternateLocationRecoveryOption string const ( // CreateVMIfNotFound specifies the create vm if not found state for alternate location recovery option. CreateVMIfNotFound AlternateLocationRecoveryOption = "CreateVmIfNotFound" // NoAction specifies the no action state for alternate location recovery option. NoAction AlternateLocationRecoveryOption = "NoAction" ) // DataSyncStatus enumerates the values for data sync status. type DataSyncStatus string const ( // ForDownTime specifies the for down time state for data sync status. ForDownTime DataSyncStatus = "ForDownTime" // ForSynchronization specifies the for synchronization state for data sync status. ForSynchronization DataSyncStatus = "ForSynchronization" ) // DisableProtectionReason enumerates the values for disable protection reason. type DisableProtectionReason string const ( // MigrationComplete specifies the migration complete state for disable protection reason. MigrationComplete DisableProtectionReason = "MigrationComplete" // NotSpecified specifies the not specified state for disable protection reason. NotSpecified DisableProtectionReason = "NotSpecified" ) // FailoverDeploymentModel enumerates the values for failover deployment model. type FailoverDeploymentModel string const ( // Classic specifies the classic state for failover deployment model. Classic FailoverDeploymentModel = "Classic" // NotApplicable specifies the not applicable state for failover deployment model. NotApplicable FailoverDeploymentModel = "NotApplicable" // ResourceManager specifies the resource manager state for failover deployment model. ResourceManager FailoverDeploymentModel = "ResourceManager" ) // HyperVReplicaAzureRpRecoveryPointType enumerates the values for hyper v replica azure rp recovery point type. type HyperVReplicaAzureRpRecoveryPointType string const ( // HyperVReplicaAzureRpRecoveryPointTypeLatest specifies the hyper v replica azure rp recovery point type latest // state for hyper v replica azure rp recovery point type. HyperVReplicaAzureRpRecoveryPointTypeLatest HyperVReplicaAzureRpRecoveryPointType = "Latest" // HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent specifies the hyper v replica azure rp recovery // point type latest application consistent state for hyper v replica azure rp recovery point type. HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent HyperVReplicaAzureRpRecoveryPointType = "LatestApplicationConsistent" // HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed specifies the hyper v replica azure rp recovery point type // latest processed state for hyper v replica azure rp recovery point type. HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed HyperVReplicaAzureRpRecoveryPointType = "LatestProcessed" ) // InMageV2RpRecoveryPointType enumerates the values for in mage v2 rp recovery point type. type InMageV2RpRecoveryPointType string const ( // InMageV2RpRecoveryPointTypeLatest specifies the in mage v2 rp recovery point type latest state for in mage v2 rp // recovery point type. InMageV2RpRecoveryPointTypeLatest InMageV2RpRecoveryPointType = "Latest" // InMageV2RpRecoveryPointTypeLatestApplicationConsistent specifies the in mage v2 rp recovery point type latest // application consistent state for in mage v2 rp recovery point type. InMageV2RpRecoveryPointTypeLatestApplicationConsistent InMageV2RpRecoveryPointType = "LatestApplicationConsistent" // InMageV2RpRecoveryPointTypeLatestCrashConsistent specifies the in mage v2 rp recovery point type latest crash // consistent state for in mage v2 rp recovery point type. InMageV2RpRecoveryPointTypeLatestCrashConsistent InMageV2RpRecoveryPointType = "LatestCrashConsistent" // InMageV2RpRecoveryPointTypeLatestProcessed specifies the in mage v2 rp recovery point type latest processed // state for in mage v2 rp recovery point type. InMageV2RpRecoveryPointTypeLatestProcessed InMageV2RpRecoveryPointType = "LatestProcessed" ) // LicenseType enumerates the values for license type. type LicenseType string const ( // LicenseTypeNoLicenseType specifies the license type no license type state for license type. LicenseTypeNoLicenseType LicenseType = "NoLicenseType" // LicenseTypeNotSpecified specifies the license type not specified state for license type. LicenseTypeNotSpecified LicenseType = "NotSpecified" // LicenseTypeWindowsServer specifies the license type windows server state for license type. LicenseTypeWindowsServer LicenseType = "WindowsServer" ) // PossibleOperationsDirections enumerates the values for possible operations directions. type PossibleOperationsDirections string const ( // PrimaryToRecovery specifies the primary to recovery state for possible operations directions. PrimaryToRecovery PossibleOperationsDirections = "PrimaryToRecovery" // RecoveryToPrimary specifies the recovery to primary state for possible operations directions. RecoveryToPrimary PossibleOperationsDirections = "RecoveryToPrimary" ) // RecoveryPlanActionLocation enumerates the values for recovery plan action location. type RecoveryPlanActionLocation string const ( // Primary specifies the primary state for recovery plan action location. Primary RecoveryPlanActionLocation = "Primary" // Recovery specifies the recovery state for recovery plan action location. Recovery RecoveryPlanActionLocation = "Recovery" ) // RecoveryPlanGroupType enumerates the values for recovery plan group type. type RecoveryPlanGroupType string const ( // Boot specifies the boot state for recovery plan group type. Boot RecoveryPlanGroupType = "Boot" // Failover specifies the failover state for recovery plan group type. Failover RecoveryPlanGroupType = "Failover" // Shutdown specifies the shutdown state for recovery plan group type. Shutdown RecoveryPlanGroupType = "Shutdown" ) // ReplicationProtectedItemOperation enumerates the values for replication protected item operation. type ReplicationProtectedItemOperation string const ( // ChangePit specifies the change pit state for replication protected item operation. ChangePit ReplicationProtectedItemOperation = "ChangePit" // Commit specifies the commit state for replication protected item operation. Commit ReplicationProtectedItemOperation = "Commit" // CompleteMigration specifies the complete migration state for replication protected item operation. CompleteMigration ReplicationProtectedItemOperation = "CompleteMigration" // DisableProtection specifies the disable protection state for replication protected item operation. DisableProtection ReplicationProtectedItemOperation = "DisableProtection" // Failback specifies the failback state for replication protected item operation. Failback ReplicationProtectedItemOperation = "Failback" // FinalizeFailback specifies the finalize failback state for replication protected item operation. FinalizeFailback ReplicationProtectedItemOperation = "FinalizeFailback" // PlannedFailover specifies the planned failover state for replication protected item operation. PlannedFailover ReplicationProtectedItemOperation = "PlannedFailover" // RepairReplication specifies the repair replication state for replication protected item operation. RepairReplication ReplicationProtectedItemOperation = "RepairReplication" // ReverseReplicate specifies the reverse replicate state for replication protected item operation. ReverseReplicate ReplicationProtectedItemOperation = "ReverseReplicate" // SwitchProtection specifies the switch protection state for replication protected item operation. SwitchProtection ReplicationProtectedItemOperation = "SwitchProtection" // TestFailover specifies the test failover state for replication protected item operation. TestFailover ReplicationProtectedItemOperation = "TestFailover" // TestFailoverCleanup specifies the test failover cleanup state for replication protected item operation. TestFailoverCleanup ReplicationProtectedItemOperation = "TestFailoverCleanup" // UnplannedFailover specifies the unplanned failover state for replication protected item operation. UnplannedFailover ReplicationProtectedItemOperation = "UnplannedFailover" ) // RpInMageRecoveryPointType enumerates the values for rp in mage recovery point type. type RpInMageRecoveryPointType string const ( // Custom specifies the custom state for rp in mage recovery point type. Custom RpInMageRecoveryPointType = "Custom" // LatestTag specifies the latest tag state for rp in mage recovery point type. LatestTag RpInMageRecoveryPointType = "LatestTag" // LatestTime specifies the latest time state for rp in mage recovery point type. LatestTime RpInMageRecoveryPointType = "LatestTime" ) // SetMultiVMSyncStatus enumerates the values for set multi vm sync status. type SetMultiVMSyncStatus string const ( // Disable specifies the disable state for set multi vm sync status. Disable SetMultiVMSyncStatus = "Disable" // Enable specifies the enable state for set multi vm sync status. Enable SetMultiVMSyncStatus = "Enable" ) // SourceSiteOperations enumerates the values for source site operations. type SourceSiteOperations string const ( // NotRequired specifies the not required state for source site operations. NotRequired SourceSiteOperations = "NotRequired" // Required specifies the required state for source site operations. Required SourceSiteOperations = "Required" ) // A2AApplyRecoveryPointInput is applyRecoveryPoint input specific to A2A provider. type A2AApplyRecoveryPointInput struct { } // A2AContainerCreationInput is a2A cloud creation input. type A2AContainerCreationInput struct { } // A2AEnableProtectionInput is a2A enable protection input. type A2AEnableProtectionInput struct { FabricObjectID *string `json:"fabricObjectId,omitempty"` RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` } // A2AEventDetails is model class for event details of a A2A event. type A2AEventDetails struct { ProtectedItemName *string `json:"protectedItemName,omitempty"` FabricObjectID *string `json:"fabricObjectId,omitempty"` FabricName *string `json:"fabricName,omitempty"` FabricLocation *string `json:"fabricLocation,omitempty"` RemoteFabricName *string `json:"remoteFabricName,omitempty"` RemoteFabricLocation *string `json:"remoteFabricLocation,omitempty"` } // A2AFailoverProviderInput is a2A provider specific input for failover. type A2AFailoverProviderInput struct { RecoveryPointID *string `json:"recoveryPointId,omitempty"` CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` } // A2APolicyCreationInput is a2A Policy creation input. type A2APolicyCreationInput struct { RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` } // A2APolicyDetails is a2A specific policy details. type A2APolicyDetails struct { RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` } // A2AProtectedDiskDetails is a2A protected disk details. type A2AProtectedDiskDetails struct { DiskURI *string `json:"diskUri,omitempty"` DiskName *string `json:"diskName,omitempty"` DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` RecoveryAzureStorageAccountID *string `json:"recoveryAzureStorageAccountId,omitempty"` PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` PrimaryDiskAzureStorageAccountID *string `json:"primaryDiskAzureStorageAccountId,omitempty"` RecoveryDiskURI *string `json:"recoveryDiskUri,omitempty"` DiskType *string `json:"diskType,omitempty"` ResyncRequired *bool `json:"resyncRequired,omitempty"` MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` MonitoringJobType *string `json:"monitoringJobType,omitempty"` DataPendingInStagingStorageAccountInMB *float64 `json:"dataPendingInStagingStorageAccountInMB,omitempty"` DataPendingAtSourceAgentInMB *float64 `json:"dataPendingAtSourceAgentInMB,omitempty"` } // A2AReplicationDetails is a2A provider specific settings. type A2AReplicationDetails struct { FabricObjectID *string `json:"fabricObjectId,omitempty"` MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` ManagementID *string `json:"managementId,omitempty"` ProtectedDisks *[]A2AProtectedDiskDetails `json:"protectedDisks,omitempty"` PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` OsType *string `json:"osType,omitempty"` RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` RecoveryCloudService *string `json:"recoveryCloudService,omitempty"` RecoveryAvailabilitySet *string `json:"recoveryAvailabilitySet,omitempty"` SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` VMSyncedConfigDetails *AzureToAzureVMSyncedConfigDetails `json:"vmSyncedConfigDetails,omitempty"` MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` MonitoringJobType *string `json:"monitoringJobType,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` IsReplicationAgentUpdateRequired *bool `json:"isReplicationAgentUpdateRequired,omitempty"` RecoveryFabricObjectID *string `json:"recoveryFabricObjectId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` LifecycleID *string `json:"lifecycleId,omitempty"` } // A2AReprotectInput is azure specific reprotect input. type A2AReprotectInput struct { RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` PolicyID *string `json:"policyId,omitempty"` } // A2ASwitchProtectionInput is a2A specific switch protection input. type A2ASwitchProtectionInput struct { RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` PolicyID *string `json:"policyId,omitempty"` } // A2AUpdateReplicationProtectedItemInput is inMage Azure V2 input to update replication protected item. type A2AUpdateReplicationProtectedItemInput struct { RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` } // A2AVMDiskInputDetails is azure VM disk input details. type A2AVMDiskInputDetails struct { DiskURI *string `json:"diskUri,omitempty"` RecoveryAzureStorageAccountID *string `json:"recoveryAzureStorageAccountId,omitempty"` PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` } // AddVCenterRequest is input required to add vCenter. type AddVCenterRequest struct { Properties *AddVCenterRequestProperties `json:"properties,omitempty"` } // AddVCenterRequestProperties is the properties of an add vCenter request. type AddVCenterRequestProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` Port *string `json:"port,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` } // Alert is implements the Alert class. type Alert struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *AlertProperties `json:"properties,omitempty"` } // AlertCollection is collection of alerts. type AlertCollection struct { autorest.Response `json:"-"` Value *[]Alert `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // AlertCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client AlertCollection) AlertCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // AlertProperties is the proprties of an alert. type AlertProperties struct { SendToOwners *string `json:"sendToOwners,omitempty"` CustomEmailAddresses *[]string `json:"customEmailAddresses,omitempty"` Locale *string `json:"locale,omitempty"` } // ApplyRecoveryPointInput is input to apply recovery point. type ApplyRecoveryPointInput struct { Properties *ApplyRecoveryPointInputProperties `json:"properties,omitempty"` } // ApplyRecoveryPointInputProperties is input properties to apply recovery point. type ApplyRecoveryPointInputProperties struct { RecoveryPointID *string `json:"recoveryPointId,omitempty"` ProviderSpecificDetails *ApplyRecoveryPointProviderSpecificInput `json:"providerSpecificDetails,omitempty"` } // ApplyRecoveryPointProviderSpecificInput is provider specific input for apply recovery point. type ApplyRecoveryPointProviderSpecificInput struct { } // ARMException is ARM inner exception class. type ARMException struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` Target *string `json:"target,omitempty"` Details *[]ARMExceptionDetails `json:"details,omitempty"` Innererror *ARMInnerError `json:"innererror,omitempty"` } // ARMExceptionDetails is service based exception details. type ARMExceptionDetails struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` PossibleCauses *string `json:"possibleCauses,omitempty"` RecommendedAction *string `json:"recommendedAction,omitempty"` ClientRequestID *string `json:"clientRequestId,omitempty"` ActivityID *string `json:"activityId,omitempty"` Target *string `json:"target,omitempty"` } // ARMInnerError is ARM internal error class for providing additional debug data. type ARMInnerError struct { Trace *string `json:"trace,omitempty"` Source *string `json:"source,omitempty"` MethodStatus *MethodCallStatus `json:"methodStatus,omitempty"` CloudID *string `json:"cloudId,omitempty"` HVHostID *string `json:"hVHostId,omitempty"` HVClusterID *string `json:"hVClusterId,omitempty"` NetworkID *string `json:"networkId,omitempty"` VMID *string `json:"vmId,omitempty"` FabricID *string `json:"fabricId,omitempty"` LiveID *string `json:"liveId,omitempty"` ContainerID *string `json:"containerId,omitempty"` ResourceID *string `json:"resourceId,omitempty"` ResourceName *string `json:"resourceName,omitempty"` SubscriptionID *string `json:"subscriptionId,omitempty"` SerializedSRSLogContext *string `json:"serializedSRSLogContext,omitempty"` } // AsrJobDetails is this class represents job details based on specific job type. type AsrJobDetails struct { AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` } // ASRTask is task of the Job. type ASRTask struct { TaskID *string `json:"taskId,omitempty"` Name *string `json:"name,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` AllowedActions *[]string `json:"allowedActions,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` State *string `json:"state,omitempty"` StateDescription *string `json:"stateDescription,omitempty"` TaskType *string `json:"taskType,omitempty"` CustomDetails *TaskTypeDetails `json:"customDetails,omitempty"` GroupTaskCustomDetails *GroupTaskDetails `json:"groupTaskCustomDetails,omitempty"` Errors *[]JobErrorDetails `json:"errors,omitempty"` } // AutomationRunbookTaskDetails is this class represents the task details for an automation runbook. type AutomationRunbookTaskDetails struct { Name *string `json:"name,omitempty"` CloudServiceName *string `json:"cloudServiceName,omitempty"` SubscriptionID *string `json:"subscriptionId,omitempty"` AccountName *string `json:"accountName,omitempty"` RunbookID *string `json:"runbookId,omitempty"` RunbookName *string `json:"runbookName,omitempty"` JobID *string `json:"jobId,omitempty"` JobOutput *string `json:"jobOutput,omitempty"` IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` } // AzureFabricCreationInput is fabric provider specific settings. type AzureFabricCreationInput struct { Location *string `json:"location,omitempty"` } // AzureFabricSpecificDetails is azure Fabric Specific Details. type AzureFabricSpecificDetails struct { Location *string `json:"location,omitempty"` ContainerIds *[]string `json:"containerIds,omitempty"` } // AzureToAzureCreateNetworkMappingInput is create network mappings input properties/behaviour specific to Azure to // Azure Network mapping. type AzureToAzureCreateNetworkMappingInput struct { PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` } // AzureToAzureNetworkMappingSettings is a2A Network Mapping fabric specific settings. type AzureToAzureNetworkMappingSettings struct { PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` } // AzureToAzureUpdateNetworkMappingInput is updates network mappings input. type AzureToAzureUpdateNetworkMappingInput struct { PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` } // AzureToAzureVMSyncedConfigDetails is azure to Azure VM synced configuration details. type AzureToAzureVMSyncedConfigDetails struct { Tags *map[string]*string `json:"tags,omitempty"` RoleAssignments *[]RoleAssignment `json:"roleAssignments,omitempty"` InputEndpoints *[]InputEndpoint `json:"inputEndpoints,omitempty"` } // AzureVMDiskDetails is disk details for E2A provider. type AzureVMDiskDetails struct { VhdType *string `json:"vhdType,omitempty"` VhdID *string `json:"vhdId,omitempty"` VhdName *string `json:"vhdName,omitempty"` MaxSizeMB *string `json:"maxSizeMB,omitempty"` TargetDiskLocation *string `json:"targetDiskLocation,omitempty"` TargetDiskName *string `json:"targetDiskName,omitempty"` LunID *string `json:"lunId,omitempty"` } // ConfigurationSettings is replication provider specific settings. type ConfigurationSettings struct { } // ConfigureAlertRequest is request to configure alerts for the system. type ConfigureAlertRequest struct { Properties *ConfigureAlertRequestProperties `json:"properties,omitempty"` } // ConfigureAlertRequestProperties is properties of a configure alert request. type ConfigureAlertRequestProperties struct { SendToOwners *string `json:"sendToOwners,omitempty"` CustomEmailAddresses *[]string `json:"customEmailAddresses,omitempty"` Locale *string `json:"locale,omitempty"` } // ConsistencyCheckTaskDetails is this class contains monitoring details of all the inconsistent Protected Entites in // Vmm. type ConsistencyCheckTaskDetails struct { VMDetails *[]InconsistentVMDetails `json:"vmDetails,omitempty"` } // CreateNetworkMappingInput is create network mappings input. type CreateNetworkMappingInput struct { Properties *CreateNetworkMappingInputProperties `json:"properties,omitempty"` } // CreateNetworkMappingInputProperties is common input details for network mapping operation. type CreateNetworkMappingInputProperties struct { RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` FabricSpecificDetails *FabricSpecificCreateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` } // CreatePolicyInput is protection profile input. type CreatePolicyInput struct { Properties *CreatePolicyInputProperties `json:"properties,omitempty"` } // CreatePolicyInputProperties is policy creation properties. type CreatePolicyInputProperties struct { ProviderSpecificInput *PolicyProviderSpecificInput `json:"providerSpecificInput,omitempty"` } // CreateProtectionContainerInput is create protection container input. type CreateProtectionContainerInput struct { Properties *CreateProtectionContainerInputProperties `json:"properties,omitempty"` } // CreateProtectionContainerInputProperties is create protection container input properties. type CreateProtectionContainerInputProperties struct { ProviderSpecificInput *[]ReplicationProviderSpecificContainerCreationInput `json:"providerSpecificInput,omitempty"` } // CreateProtectionContainerMappingInput is configure pairing input. type CreateProtectionContainerMappingInput struct { Properties *CreateProtectionContainerMappingInputProperties `json:"properties,omitempty"` } // CreateProtectionContainerMappingInputProperties is configure pairing input properties. type CreateProtectionContainerMappingInputProperties struct { TargetProtectionContainerID *string `json:"targetProtectionContainerId,omitempty"` PolicyID *string `json:"PolicyId,omitempty"` ProviderSpecificInput *ReplicationProviderSpecificContainerMappingInput `json:"providerSpecificInput,omitempty"` } // CreateRecoveryPlanInput is create recovery plan input class. type CreateRecoveryPlanInput struct { Properties *CreateRecoveryPlanInputProperties `json:"properties,omitempty"` } // CreateRecoveryPlanInputProperties is recovery plan creation properties. type CreateRecoveryPlanInputProperties struct { PrimaryFabricID *string `json:"primaryFabricId,omitempty"` RecoveryFabricID *string `json:"recoveryFabricId,omitempty"` FailoverDeploymentModel FailoverDeploymentModel `json:"failoverDeploymentModel,omitempty"` Groups *[]RecoveryPlanGroup `json:"groups,omitempty"` } // CurrentScenarioDetails is current scenario details of the protected entity. type CurrentScenarioDetails struct { ScenarioName *string `json:"scenarioName,omitempty"` JobID *string `json:"jobId,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` } // DataStore is the datastore details of the MT. type DataStore struct { SymbolicName *string `json:"symbolicName,omitempty"` UUID *string `json:"uuid,omitempty"` Capacity *string `json:"capacity,omitempty"` FreeSpace *string `json:"freeSpace,omitempty"` Type *string `json:"type,omitempty"` } // DisableProtectionInput is disable protection input. type DisableProtectionInput struct { Properties *DisableProtectionInputProperties `json:"properties,omitempty"` } // DisableProtectionInputProperties is disable protection input properties. type DisableProtectionInputProperties struct { DisableProtectionReason DisableProtectionReason `json:"disableProtectionReason,omitempty"` ReplicationProviderInput *DisableProtectionProviderSpecificInput `json:"replicationProviderInput,omitempty"` } // DisableProtectionProviderSpecificInput is disable protection provider specific input. type DisableProtectionProviderSpecificInput struct { } // DiscoverProtectableItemRequest is request to add a physical machine as a protectable item in a container. type DiscoverProtectableItemRequest struct { Properties *DiscoverProtectableItemRequestProperties `json:"properties,omitempty"` } // DiscoverProtectableItemRequestProperties is discover protectable item properties. type DiscoverProtectableItemRequestProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` OsType *string `json:"osType,omitempty"` } // DiskDetails is onprem disk details data. type DiskDetails struct { MaxSizeMB *int64 `json:"maxSizeMB,omitempty"` VhdType *string `json:"vhdType,omitempty"` VhdID *string `json:"vhdId,omitempty"` VhdName *string `json:"vhdName,omitempty"` } // DiskVolumeDetails is volume details. type DiskVolumeDetails struct { Label *string `json:"label,omitempty"` Name *string `json:"name,omitempty"` } // Display is contains the localized display information for this particular operation / action. These value will be // used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; // and (3) audit history / records for management operations. type Display struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` Operation *string `json:"operation,omitempty"` Description *string `json:"description,omitempty"` } // EnableProtectionInput is enable protection input. type EnableProtectionInput struct { Properties *EnableProtectionInputProperties `json:"properties,omitempty"` } // EnableProtectionInputProperties is enable protection input properties. type EnableProtectionInputProperties struct { PolicyID *string `json:"policyId,omitempty"` ProtectableItemID *string `json:"protectableItemId,omitempty"` ProviderSpecificDetails *EnableProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` } // EnableProtectionProviderSpecificInput is enable protection provider specific input. type EnableProtectionProviderSpecificInput struct { } // EncryptionDetails is encryption details for the fabric. type EncryptionDetails struct { KekState *string `json:"kekState,omitempty"` KekCertThumbprint *string `json:"kekCertThumbprint,omitempty"` KekCertExpiryDate *date.Time `json:"kekCertExpiryDate,omitempty"` } // Event is implements the Event class. type Event struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *EventProperties `json:"properties,omitempty"` } // EventCollection is collection of fabric details. type EventCollection struct { autorest.Response `json:"-"` Value *[]Event `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // EventCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client EventCollection) EventCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // EventProperties is the properties of a monitoring event. type EventProperties struct { EventCode *string `json:"eventCode,omitempty"` Description *string `json:"description,omitempty"` EventType *string `json:"eventType,omitempty"` AffectedObjectFriendlyName *string `json:"affectedObjectFriendlyName,omitempty"` Severity *string `json:"severity,omitempty"` TimeOfOccurrence *date.Time `json:"timeOfOccurrence,omitempty"` FabricID *string `json:"fabricId,omitempty"` ProviderSpecificDetails *EventProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` EventSpecificDetails *EventSpecificDetails `json:"eventSpecificDetails,omitempty"` HealthErrors *[]HealthError `json:"healthErrors,omitempty"` } // EventProviderSpecificDetails is model class for provider specific details for an event. type EventProviderSpecificDetails struct { } // EventSpecificDetails is model class for event specific details for an event. type EventSpecificDetails struct { } // ExportJobDetails is this class represents details for export jobs workflow. type ExportJobDetails struct { AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` BlobURI *string `json:"blobUri,omitempty"` SasToken *string `json:"sasToken,omitempty"` } // Fabric is fabric definition. type Fabric struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *FabricProperties `json:"properties,omitempty"` } // FabricCollection is collection of fabric details. type FabricCollection struct { autorest.Response `json:"-"` Value *[]Fabric `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // FabricCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client FabricCollection) FabricCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // FabricCreationInput is site details provided during the time of site creation type FabricCreationInput struct { Properties *FabricCreationInputProperties `json:"properties,omitempty"` } // FabricCreationInputProperties is properties of site details provided during the time of site creation type FabricCreationInputProperties struct { CustomDetails *FabricSpecificCreationInput `json:"customDetails,omitempty"` } // FabricProperties is fabric properties. type FabricProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` RolloverEncryptionDetails *EncryptionDetails `json:"rolloverEncryptionDetails,omitempty"` InternalIdentifier *string `json:"internalIdentifier,omitempty"` BcdrState *string `json:"bcdrState,omitempty"` CustomDetails *FabricSpecificDetails `json:"customDetails,omitempty"` HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` Health *string `json:"health,omitempty"` } // FabricReplicationGroupTaskDetails is this class represents the fabric replication group task details. type FabricReplicationGroupTaskDetails struct { SkippedReason *string `json:"skippedReason,omitempty"` SkippedReasonString *string `json:"skippedReasonString,omitempty"` JobTask *JobEntity `json:"jobTask,omitempty"` } // FabricSpecificCreateNetworkMappingInput is input details specific to fabrics during Network Mapping. type FabricSpecificCreateNetworkMappingInput struct { } // FabricSpecificCreationInput is fabric provider specific settings. type FabricSpecificCreationInput struct { } // FabricSpecificDetails is fabric specific details. type FabricSpecificDetails struct { } // FabricSpecificUpdateNetworkMappingInput is input details specific to fabrics during Network Mapping. type FabricSpecificUpdateNetworkMappingInput struct { } // FailoverProcessServerRequest is request to failover a process server. type FailoverProcessServerRequest struct { Properties *FailoverProcessServerRequestProperties `json:"properties,omitempty"` } // FailoverProcessServerRequestProperties is the properties of the Failover Process Server request. type FailoverProcessServerRequestProperties struct { ContainerName *string `json:"containerName,omitempty"` SourceProcessServerID *string `json:"sourceProcessServerId,omitempty"` TargetProcessServerID *string `json:"targetProcessServerId,omitempty"` VmsToMigrate *[]string `json:"vmsToMigrate,omitempty"` UpdateType *string `json:"updateType,omitempty"` } // GroupTaskDetails is this class represents the group task details when parent child relationship exists in the drill // down. type GroupTaskDetails struct { ChildTasks *[]ASRTask `json:"childTasks,omitempty"` } // HealthError is the health error class. type HealthError struct { ErrorLevel *string `json:"errorLevel,omitempty"` ErrorCode *string `json:"errorCode,omitempty"` ErrorMessage *string `json:"errorMessage,omitempty"` PossibleCauses *string `json:"possibleCauses,omitempty"` RecommendedAction *string `json:"recommendedAction,omitempty"` CreationTimeUtc *date.Time `json:"creationTimeUtc,omitempty"` RecoveryProviderErrorMessage *string `json:"recoveryProviderErrorMessage,omitempty"` EntityID *string `json:"entityId,omitempty"` } // HyperVReplica2012EventDetails is model class for event details of a HyperVReplica E2E event. type HyperVReplica2012EventDetails struct { ContainerName *string `json:"containerName,omitempty"` FabricName *string `json:"fabricName,omitempty"` RemoteContainerName *string `json:"remoteContainerName,omitempty"` RemoteFabricName *string `json:"remoteFabricName,omitempty"` } // HyperVReplica2012R2EventDetails is model class for event details of a HyperVReplica blue E2E event. type HyperVReplica2012R2EventDetails struct { ContainerName *string `json:"containerName,omitempty"` FabricName *string `json:"fabricName,omitempty"` RemoteContainerName *string `json:"remoteContainerName,omitempty"` RemoteFabricName *string `json:"remoteFabricName,omitempty"` } // HyperVReplicaAzureApplyRecoveryPointInput is applyRecoveryPoint input specific to HyperVReplicaAzure provider. type HyperVReplicaAzureApplyRecoveryPointInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` } // HyperVReplicaAzureEnableProtectionInput is azure specific enable protection input. type HyperVReplicaAzureEnableProtectionInput struct { HvHostVMID *string `json:"hvHostVmId,omitempty"` VMName *string `json:"vmName,omitempty"` OsType *string `json:"osType,omitempty"` VhdID *string `json:"vhdId,omitempty"` TargetStorageAccountID *string `json:"targetStorageAccountId,omitempty"` TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` DisksToInclude *[]string `json:"disksToInclude,omitempty"` TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` } // HyperVReplicaAzureEventDetails is model class for event details of a HyperVReplica E2A event. type HyperVReplicaAzureEventDetails struct { ContainerName *string `json:"containerName,omitempty"` FabricName *string `json:"fabricName,omitempty"` RemoteContainerName *string `json:"remoteContainerName,omitempty"` } // HyperVReplicaAzureFailbackProviderInput is hvrA provider specific input for failback. type HyperVReplicaAzureFailbackProviderInput struct { DataSyncOption *string `json:"dataSyncOption,omitempty"` RecoveryVMCreationOption *string `json:"recoveryVmCreationOption,omitempty"` ProviderIDForAlternateRecovery *string `json:"providerIdForAlternateRecovery,omitempty"` } // HyperVReplicaAzureFailoverProviderInput is hvrA provider specific input for failover. type HyperVReplicaAzureFailoverProviderInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` RecoveryPointID *string `json:"recoveryPointId,omitempty"` } // HyperVReplicaAzurePolicyDetails is hyper-V Replica Azure specific protection profile details. type HyperVReplicaAzurePolicyDetails struct { RecoveryPointHistoryDurationInHours *int32 `json:"recoveryPointHistoryDurationInHours,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` ReplicationInterval *int32 `json:"replicationInterval,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` Encryption *string `json:"encryption,omitempty"` ActiveStorageAccountID *string `json:"activeStorageAccountId,omitempty"` } // HyperVReplicaAzurePolicyInput is hyper-V Replica Azure specific input for creating a protection profile. type HyperVReplicaAzurePolicyInput struct { RecoveryPointHistoryDuration *int32 `json:"recoveryPointHistoryDuration,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` ReplicationInterval *int32 `json:"replicationInterval,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` Encryption *string `json:"encryption,omitempty"` StorageAccounts *[]string `json:"storageAccounts,omitempty"` } // HyperVReplicaAzureReplicationDetails is hyper V Replica Azure provider specific settings. type HyperVReplicaAzureReplicationDetails struct { AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` Encryption *string `json:"encryption,omitempty"` OSDetails *OSDetails `json:"oSDetails,omitempty"` SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` LicenseType *string `json:"licenseType,omitempty"` } // HyperVReplicaAzureReprotectInput is azure specific reprotect input. type HyperVReplicaAzureReprotectInput struct { HvHostVMID *string `json:"hvHostVmId,omitempty"` VMName *string `json:"vmName,omitempty"` OsType *string `json:"osType,omitempty"` VHDID *string `json:"vHDId,omitempty"` StorageAccountID *string `json:"storageAccountId,omitempty"` LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` } // HyperVReplicaAzureUpdateReplicationProtectedItemInput is hyperV replica Azure input to update replication protected // item. type HyperVReplicaAzureUpdateReplicationProtectedItemInput struct { RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` } // HyperVReplicaBaseEventDetails is abstract model class for event details of a HyperVReplica E2E event. type HyperVReplicaBaseEventDetails struct { ContainerName *string `json:"containerName,omitempty"` FabricName *string `json:"fabricName,omitempty"` RemoteContainerName *string `json:"remoteContainerName,omitempty"` RemoteFabricName *string `json:"remoteFabricName,omitempty"` } // HyperVReplicaBasePolicyDetails is base class for HyperVReplica policy details. type HyperVReplicaBasePolicyDetails struct { RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` Compression *string `json:"compression,omitempty"` InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` ReplicationPort *int32 `json:"replicationPort,omitempty"` AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` } // HyperVReplicaBaseReplicationDetails is hyper V replica provider specific settings base class. type HyperVReplicaBaseReplicationDetails struct { LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` } // HyperVReplicaBluePolicyDetails is hyper-V Replica Blue specific protection profile details. type HyperVReplicaBluePolicyDetails struct { ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` Compression *string `json:"compression,omitempty"` InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` ReplicationPort *int32 `json:"replicationPort,omitempty"` AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` } // HyperVReplicaBluePolicyInput is hyperV Replica Blue policy input. type HyperVReplicaBluePolicyInput struct { ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` Compression *string `json:"compression,omitempty"` InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` ReplicationPort *int32 `json:"replicationPort,omitempty"` AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` ReplicaDeletion *string `json:"replicaDeletion,omitempty"` } // HyperVReplicaBlueReplicationDetails is hyperV replica 2012 R2 (Blue) replication details. type HyperVReplicaBlueReplicationDetails struct { LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` } // HyperVReplicaPolicyDetails is hyper-V Replica Blue specific protection profile details. type HyperVReplicaPolicyDetails struct { RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` Compression *string `json:"compression,omitempty"` InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` ReplicationPort *int32 `json:"replicationPort,omitempty"` AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` } // HyperVReplicaPolicyInput is hyper-V Replica specific protection profile Input. type HyperVReplicaPolicyInput struct { RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` Compression *string `json:"compression,omitempty"` InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` ReplicationPort *int32 `json:"replicationPort,omitempty"` AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` ReplicaDeletion *string `json:"replicaDeletion,omitempty"` } // HyperVReplicaReplicationDetails is hyperV replica 2012 replication details. type HyperVReplicaReplicationDetails struct { LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` } // HyperVSiteDetails is hyperVSite fabric specific details. type HyperVSiteDetails struct { } // HyperVVirtualMachineDetails is hyper V replica provider specific settings type HyperVVirtualMachineDetails struct { SourceItemID *string `json:"sourceItemId,omitempty"` Generation *string `json:"generation,omitempty"` OsDetails *OSDetails `json:"osDetails,omitempty"` DiskDetails *[]DiskDetails `json:"diskDetails,omitempty"` } // InconsistentVMDetails is this class stores the monitoring details for consistency check of inconsistent Protected // Entity. type InconsistentVMDetails struct { VMName *string `json:"vmName,omitempty"` CloudName *string `json:"cloudName,omitempty"` Details *[]string `json:"details,omitempty"` ErrorIds *[]string `json:"errorIds,omitempty"` } // InitialReplicationDetails is initial replication details. type InitialReplicationDetails struct { InitialReplicationType *string `json:"initialReplicationType,omitempty"` InitialReplicationProgressPercentage *string `json:"initialReplicationProgressPercentage,omitempty"` } // InlineWorkflowTaskDetails is this class represents the inline workflow task details. type InlineWorkflowTaskDetails struct { ChildTasks *[]ASRTask `json:"childTasks,omitempty"` WorkflowIds *[]string `json:"workflowIds,omitempty"` } // InMageAgentDetails is the details of the InMage agent. type InMageAgentDetails struct { AgentVersion *string `json:"agentVersion,omitempty"` AgentUpdateStatus *string `json:"agentUpdateStatus,omitempty"` PostUpdateRebootStatus *string `json:"postUpdateRebootStatus,omitempty"` } // InMageAzureV2ApplyRecoveryPointInput is applyRecoveryPoint input specific to InMageAzureV2 provider. type InMageAzureV2ApplyRecoveryPointInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` } // InMageAzureV2EnableProtectionInput is vMware Azure specific enable protection input. type InMageAzureV2EnableProtectionInput struct { MasterTargetID *string `json:"masterTargetId,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` StorageAccountID *string `json:"storageAccountId,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` DisksToInclude *[]string `json:"disksToInclude,omitempty"` TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` } // InMageAzureV2EventDetails is model class for event details of a VMwareAzureV2 event. type InMageAzureV2EventDetails struct { EventType *string `json:"eventType,omitempty"` Category *string `json:"category,omitempty"` Component *string `json:"component,omitempty"` CorrectiveAction *string `json:"correctiveAction,omitempty"` Details *string `json:"details,omitempty"` Summary *string `json:"summary,omitempty"` SiteName *string `json:"siteName,omitempty"` } // InMageAzureV2FailoverProviderInput is inMageAzureV2 provider specific input for failover. type InMageAzureV2FailoverProviderInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` RecoveryPointID *string `json:"recoveryPointId,omitempty"` } // InMageAzureV2PolicyDetails is inMage Azure v2 specific protection profile details. type InMageAzureV2PolicyDetails struct { CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` } // InMageAzureV2PolicyInput is vMWare Azure specific protection profile Input. type InMageAzureV2PolicyInput struct { RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` } // InMageAzureV2ProtectedDiskDetails is inMageAzureV2 protected disk details. type InMageAzureV2ProtectedDiskDetails struct { DiskID *string `json:"diskId,omitempty"` DiskName *string `json:"diskName,omitempty"` ProtectionStage *string `json:"protectionStage,omitempty"` HealthErrorCode *string `json:"healthErrorCode,omitempty"` RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` ResyncRequired *string `json:"resyncRequired,omitempty"` ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` SourceDataInMegaBytes *float64 `json:"sourceDataInMegaBytes,omitempty"` PsDataInMegaBytes *float64 `json:"psDataInMegaBytes,omitempty"` TargetDataInMegaBytes *float64 `json:"targetDataInMegaBytes,omitempty"` DiskResized *string `json:"diskResized,omitempty"` } // InMageAzureV2ReplicationDetails is inMageAzureV2 provider specific settings type InMageAzureV2ReplicationDetails struct { InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` ProtectionStage *string `json:"protectionStage,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` IsAgentUpdateRequired *string `json:"isAgentUpdateRequired,omitempty"` IsRebootAfterUpdateRequired *string `json:"isRebootAfterUpdateRequired,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` ProtectedDisks *[]InMageAzureV2ProtectedDiskDetails `json:"protectedDisks,omitempty"` DiskResized *string `json:"diskResized,omitempty"` MasterTargetID *string `json:"masterTargetId,omitempty"` SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` OsType *string `json:"osType,omitempty"` VhdName *string `json:"vhdName,omitempty"` OsDiskID *string `json:"osDiskId,omitempty"` AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` DiscoveryType *string `json:"discoveryType,omitempty"` EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` Datastores *[]string `json:"datastores,omitempty"` TargetVMID *string `json:"targetVmId,omitempty"` RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` LicenseType *string `json:"licenseType,omitempty"` ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` } // InMageAzureV2ReprotectInput is inMageAzureV2 specific provider input. type InMageAzureV2ReprotectInput struct { MasterTargetID *string `json:"masterTargetId,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` StorageAccountID *string `json:"storageAccountId,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` DisksToInclude *[]string `json:"disksToInclude,omitempty"` } // InMageAzureV2UpdateReplicationProtectedItemInput is inMage Azure V2 input to update replication protected item. type InMageAzureV2UpdateReplicationProtectedItemInput struct { RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` UseManagedDisks *string `json:"useManagedDisks,omitempty"` } // InMageBasePolicyDetails is base class for the policies of providers using InMage replication. type InMageBasePolicyDetails struct { RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` } // InMageDisableProtectionProviderSpecificInput is inMage disable protection provider specific input. type InMageDisableProtectionProviderSpecificInput struct { ReplicaVMDeletionStatus *string `json:"replicaVmDeletionStatus,omitempty"` } // InMageDiskDetails is vMware/Physical specific Disk Details type InMageDiskDetails struct { DiskID *string `json:"diskId,omitempty"` DiskName *string `json:"diskName,omitempty"` DiskSizeInMB *string `json:"diskSizeInMB,omitempty"` DiskType *string `json:"diskType,omitempty"` DiskConfiguration *string `json:"diskConfiguration,omitempty"` VolumeList *[]DiskVolumeDetails `json:"volumeList,omitempty"` } // InMageDiskExclusionInput is diskExclusionInput when doing enable protection of virtual machine in InMage provider. type InMageDiskExclusionInput struct { VolumeOptions *[]InMageVolumeExclusionOptions `json:"volumeOptions,omitempty"` DiskSignatureOptions *[]InMageDiskSignatureExclusionOptions `json:"diskSignatureOptions,omitempty"` } // InMageDiskSignatureExclusionOptions is guest disk signature based disk exclusion option when doing enable protection // of virtual machine in InMage provider. type InMageDiskSignatureExclusionOptions struct { DiskSignature *string `json:"diskSignature,omitempty"` } // InMageEnableProtectionInput is vMware Azure specific enable protection input. type InMageEnableProtectionInput struct { VMFriendlyName *string `json:"vmFriendlyName,omitempty"` MasterTargetID *string `json:"masterTargetId,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` RetentionDrive *string `json:"retentionDrive,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` DatastoreName *string `json:"datastoreName,omitempty"` DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` DisksToInclude *[]string `json:"disksToInclude,omitempty"` } // InMageFailoverProviderInput is provider specific input for InMage failover. type InMageFailoverProviderInput struct { RecoveryPointType *string `json:"recoveryPointType,omitempty"` RecoveryPointID *string `json:"recoveryPointId,omitempty"` } // InMagePolicyDetails is inMage specific protection profile details. type InMagePolicyDetails struct { RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` } // InMagePolicyInput is vMWare Azure specific protection profile Input. type InMagePolicyInput struct { RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` } // InMageProtectedDiskDetails is inMage protected disk details. type InMageProtectedDiskDetails struct { DiskID *string `json:"diskId,omitempty"` DiskName *string `json:"diskName,omitempty"` ProtectionStage *string `json:"protectionStage,omitempty"` HealthErrorCode *string `json:"healthErrorCode,omitempty"` RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` ResyncRequired *string `json:"resyncRequired,omitempty"` ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` SourceDataInMB *float64 `json:"sourceDataInMB,omitempty"` PsDataInMB *float64 `json:"psDataInMB,omitempty"` TargetDataInMB *float64 `json:"targetDataInMB,omitempty"` DiskResized *string `json:"diskResized,omitempty"` } // InMageReplicationDetails is inMage provider specific settings type InMageReplicationDetails struct { ActiveSiteType *string `json:"activeSiteType,omitempty"` SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` OsDetails *OSDiskDetails `json:"osDetails,omitempty"` ProtectionStage *string `json:"protectionStage,omitempty"` VMID *string `json:"vmId,omitempty"` VMProtectionState *string `json:"vmProtectionState,omitempty"` VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` ResyncDetails *InitialReplicationDetails `json:"resyncDetails,omitempty"` RetentionWindowStart *date.Time `json:"retentionWindowStart,omitempty"` RetentionWindowEnd *date.Time `json:"retentionWindowEnd,omitempty"` CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` ProtectedDisks *[]InMageProtectedDiskDetails `json:"protectedDisks,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` MasterTargetID *string `json:"masterTargetId,omitempty"` ConsistencyPoints *map[string]*date.Time `json:"consistencyPoints,omitempty"` DiskResized *string `json:"diskResized,omitempty"` RebootAfterUpdateStatus *string `json:"rebootAfterUpdateStatus,omitempty"` MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` AgentDetails *InMageAgentDetails `json:"agentDetails,omitempty"` VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` VMNics *[]VMNicDetails `json:"vmNics,omitempty"` DiscoveryType *string `json:"discoveryType,omitempty"` AzureStorageAccountID *string `json:"azureStorageAccountId,omitempty"` Datastores *[]string `json:"datastores,omitempty"` ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` } // InMageReprotectInput is inMageAzureV2 specific provider input. type InMageReprotectInput struct { MasterTargetID *string `json:"masterTargetId,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` RetentionDrive *string `json:"retentionDrive,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` DatastoreName *string `json:"datastoreName,omitempty"` DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` ProfileID *string `json:"profileId,omitempty"` DisksToInclude *[]string `json:"disksToInclude,omitempty"` } // InMageVolumeExclusionOptions is guest disk signature based disk exclusion option when doing enable protection of // virtual machine in InMage provider. type InMageVolumeExclusionOptions struct { VolumeLabel *string `json:"volumeLabel,omitempty"` OnlyExcludeIfSingleVolume *string `json:"OnlyExcludeIfSingleVolume,omitempty"` } // InputEndpoint is azure VM input endpoint details. type InputEndpoint struct { EndpointName *string `json:"endpointName,omitempty"` PrivatePort *int32 `json:"privatePort,omitempty"` PublicPort *int32 `json:"publicPort,omitempty"` Protocol *string `json:"protocol,omitempty"` } // Job is job details. type Job struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *JobProperties `json:"properties,omitempty"` Status *string `json:"status,omitempty"` Error *ARMException `json:"error,omitempty"` StartTime *string `json:"startTime,omitempty"` EndTime *string `json:"endTime,omitempty"` } // JobCollection is collection of jobs. type JobCollection struct { autorest.Response `json:"-"` Value *[]Job `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // JobCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client JobCollection) JobCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // JobDetails is job details based on specific job type. type JobDetails struct { AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` } // JobEntity is this class contains the minimal job details required to navigate to the desired drill down. type JobEntity struct { JobID *string `json:"jobId,omitempty"` JobFriendlyName *string `json:"jobFriendlyName,omitempty"` TargetObjectID *string `json:"targetObjectId,omitempty"` TargetObjectName *string `json:"targetObjectName,omitempty"` TargetInstanceType *string `json:"targetInstanceType,omitempty"` JobScenarioName *string `json:"jobScenarioName,omitempty"` } // JobErrorDetails is this class contains the error details per object. type JobErrorDetails struct { ServiceErrorDetails *ServiceError `json:"serviceErrorDetails,omitempty"` ProviderErrorDetails *ProviderError `json:"providerErrorDetails,omitempty"` ErrorLevel *string `json:"errorLevel,omitempty"` CreationTime *date.Time `json:"creationTime,omitempty"` TaskID *string `json:"taskId,omitempty"` } // JobProperties is job custom data details. type JobProperties struct { ActivityID *string `json:"activityId,omitempty"` ScenarioName *string `json:"scenarioName,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` State *string `json:"state,omitempty"` StateDescription *string `json:"stateDescription,omitempty"` Tasks *[]ASRTask `json:"tasks,omitempty"` Errors *[]JobErrorDetails `json:"errors,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` AllowedActions *[]string `json:"allowedActions,omitempty"` TargetObjectID *string `json:"targetObjectId,omitempty"` TargetObjectName *string `json:"targetObjectName,omitempty"` TargetInstanceType *string `json:"targetInstanceType,omitempty"` CustomDetails *JobDetails `json:"customDetails,omitempty"` } // JobQueryParameter is query parameter to enumerate jobs. type JobQueryParameter struct { StartTime *string `json:"startTime,omitempty"` EndTime *string `json:"endTime,omitempty"` FabricID *string `json:"fabricId,omitempty"` AffectedObjectTypes *[]string `json:"affectedObjectTypes,omitempty"` JobStatus *[]string `json:"jobStatus,omitempty"` } // JobStatusEventDetails is model class for event details of a job status event. type JobStatusEventDetails struct { JobID *string `json:"jobId,omitempty"` JobFriendlyName *string `json:"jobFriendlyName,omitempty"` JobStatus *string `json:"jobStatus,omitempty"` AffectedObjectType *string `json:"affectedObjectType,omitempty"` } // JobTaskDetails is this class represents a task which is actually a workflow so that one can navigate to its // individual drill down. type JobTaskDetails struct { JobTask *JobEntity `json:"jobTask,omitempty"` } // LogicalNetwork is logical network data model. type LogicalNetwork struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *LogicalNetworkProperties `json:"properties,omitempty"` } // LogicalNetworkCollection is list of logical networks. type LogicalNetworkCollection struct { autorest.Response `json:"-"` Value *[]LogicalNetwork `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // LogicalNetworkCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client LogicalNetworkCollection) LogicalNetworkCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // LogicalNetworkProperties is logical Network Properties. type LogicalNetworkProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` NetworkVirtualizationStatus *string `json:"networkVirtualizationStatus,omitempty"` LogicalNetworkUsage *string `json:"logicalNetworkUsage,omitempty"` LogicalNetworkDefinitionsStatus *string `json:"logicalNetworkDefinitionsStatus,omitempty"` } // ManualActionTaskDetails is this class represents the manual action task details. type ManualActionTaskDetails struct { Name *string `json:"name,omitempty"` Instructions *string `json:"instructions,omitempty"` Observation *string `json:"observation,omitempty"` } // MasterTargetServer is details of a Master Target Server. type MasterTargetServer struct { ID *string `json:"id,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` Name *string `json:"name,omitempty"` OsType *string `json:"osType,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` VersionStatus *string `json:"versionStatus,omitempty"` RetentionVolumes *[]RetentionVolume `json:"retentionVolumes,omitempty"` DataStores *[]DataStore `json:"dataStores,omitempty"` ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` } // MethodCallStatus is reports method status where exception was raised. type MethodCallStatus struct { IsVirtual *string `json:"isVirtual,omitempty"` Parameters *[]string `json:"parameters,omitempty"` ContainsGenericParameters *string `json:"containsGenericParameters,omitempty"` } // MobilityServiceUpdate is the Mobility Service update details. type MobilityServiceUpdate struct { Version *string `json:"version,omitempty"` RebootStatus *string `json:"rebootStatus,omitempty"` OsType *string `json:"osType,omitempty"` } // Network is network model. type Network struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *NetworkProperties `json:"properties,omitempty"` } // NetworkCollection is list of networks. type NetworkCollection struct { autorest.Response `json:"-"` Value *[]Network `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // NetworkCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client NetworkCollection) NetworkCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // NetworkMapping is network Mapping model. Ideally it should have been possible to inherit this class from prev // version in InheritedModels as long as there is no difference in structure or method signature. Since there were no // base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the // class has been introduced in its entirety with references to base models to facilitate exensions in subsequent // versions. type NetworkMapping struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *NetworkMappingProperties `json:"properties,omitempty"` } // NetworkMappingCollection is list of network mappings. As with NetworkMapping, it should be possible to reuse a prev // version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection // of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing // CurrentVersion.NetworkMapping. type NetworkMappingCollection struct { autorest.Response `json:"-"` Value *[]NetworkMapping `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // NetworkMappingCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client NetworkMappingCollection) NetworkMappingCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // NetworkMappingFabricSpecificSettings is network Mapping fabric specific settings. type NetworkMappingFabricSpecificSettings struct { } // NetworkMappingProperties is network Mapping Properties. type NetworkMappingProperties struct { State *string `json:"state,omitempty"` PrimaryNetworkFriendlyName *string `json:"primaryNetworkFriendlyName,omitempty"` PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` RecoveryNetworkFriendlyName *string `json:"recoveryNetworkFriendlyName,omitempty"` RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` RecoveryFabricArmID *string `json:"recoveryFabricArmId,omitempty"` RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` FabricSpecificSettings *NetworkMappingFabricSpecificSettings `json:"fabricSpecificSettings,omitempty"` } // NetworkProperties is network Properties type NetworkProperties struct { FabricType *string `json:"fabricType,omitempty"` Subnets *[]Subnet `json:"subnets,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` NetworkType *string `json:"networkType,omitempty"` } // OperationsDiscovery is operations discovery class. type OperationsDiscovery struct { Name *string `json:"name,omitempty"` Display *Display `json:"display,omitempty"` Origin *string `json:"origin,omitempty"` Properties *map[string]interface{} `json:"properties,omitempty"` } // OperationsDiscoveryCollection is collection of ClientDiscovery details. type OperationsDiscoveryCollection struct { autorest.Response `json:"-"` Value *[]OperationsDiscovery `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // OperationsDiscoveryCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client OperationsDiscoveryCollection) OperationsDiscoveryCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // OSDetails is disk Details. type OSDetails struct { OsType *string `json:"osType,omitempty"` ProductType *string `json:"productType,omitempty"` OsEdition *string `json:"osEdition,omitempty"` OSVersion *string `json:"oSVersion,omitempty"` OSMajorVersion *string `json:"oSMajorVersion,omitempty"` OSMinorVersion *string `json:"oSMinorVersion,omitempty"` } // OSDiskDetails is details of the OS Disk. type OSDiskDetails struct { OsVhdID *string `json:"osVhdId,omitempty"` OsType *string `json:"osType,omitempty"` VhdName *string `json:"vhdName,omitempty"` } // PlannedFailoverInput is input definition for planned failover. type PlannedFailoverInput struct { Properties *PlannedFailoverInputProperties `json:"properties,omitempty"` } // PlannedFailoverInputProperties is input definition for planned failover input properties. type PlannedFailoverInputProperties struct { FailoverDirection *string `json:"failoverDirection,omitempty"` ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // Policy is protection profile details. type Policy struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *PolicyProperties `json:"properties,omitempty"` } // PolicyCollection is protection Profile Collection details. type PolicyCollection struct { autorest.Response `json:"-"` Value *[]Policy `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // PolicyCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client PolicyCollection) PolicyCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // PolicyProperties is protection profile custom data details. type PolicyProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` ProviderSpecificDetails *PolicyProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` } // PolicyProviderSpecificDetails is base class for Provider specific details for policies. type PolicyProviderSpecificDetails struct { } // PolicyProviderSpecificInput is base class for provider specific input type PolicyProviderSpecificInput struct { } // ProcessServer is details of the Process Server. type ProcessServer struct { FriendlyName *string `json:"friendlyName,omitempty"` ID *string `json:"id,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` OsType *string `json:"osType,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` VersionStatus *string `json:"versionStatus,omitempty"` MobilityServiceUpdates *[]MobilityServiceUpdate `json:"mobilityServiceUpdates,omitempty"` HostID *string `json:"hostId,omitempty"` MachineCount *string `json:"machineCount,omitempty"` ReplicationPairCount *string `json:"replicationPairCount,omitempty"` SystemLoad *string `json:"systemLoad,omitempty"` SystemLoadStatus *string `json:"systemLoadStatus,omitempty"` CPULoad *string `json:"cpuLoad,omitempty"` CPULoadStatus *string `json:"cpuLoadStatus,omitempty"` TotalMemoryInBytes *int64 `json:"totalMemoryInBytes,omitempty"` AvailableMemoryInBytes *int64 `json:"availableMemoryInBytes,omitempty"` MemoryUsageStatus *string `json:"memoryUsageStatus,omitempty"` TotalSpaceInBytes *int64 `json:"totalSpaceInBytes,omitempty"` AvailableSpaceInBytes *int64 `json:"availableSpaceInBytes,omitempty"` SpaceUsageStatus *string `json:"spaceUsageStatus,omitempty"` PsServiceStatus *string `json:"psServiceStatus,omitempty"` SslCertExpiryDate *date.Time `json:"sslCertExpiryDate,omitempty"` SslCertExpiryRemainingDays *int32 `json:"sslCertExpiryRemainingDays,omitempty"` } // ProtectableItem is replication protected item type ProtectableItem struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *ProtectableItemProperties `json:"properties,omitempty"` } // ProtectableItemCollection is protectable item collection. type ProtectableItemCollection struct { autorest.Response `json:"-"` Value *[]ProtectableItem `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ProtectableItemCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ProtectableItemCollection) ProtectableItemCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ProtectableItemProperties is replication protected item custom data details. type ProtectableItemProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` ProtectionStatus *string `json:"protectionStatus,omitempty"` ReplicationProtectedItemID *string `json:"replicationProtectedItemId,omitempty"` RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` ProtectionReadinessErrors *[]string `json:"protectionReadinessErrors,omitempty"` SupportedReplicationProviders *[]string `json:"supportedReplicationProviders,omitempty"` CustomDetails *ConfigurationSettings `json:"customDetails,omitempty"` } // ProtectedItemsQueryParameter is query parameter to enumerate protected items. type ProtectedItemsQueryParameter struct { SourceFabricName *string `json:"sourceFabricName,omitempty"` RecoveryPlanName *string `json:"recoveryPlanName,omitempty"` } // ProtectionContainer is protection container details. type ProtectionContainer struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *ProtectionContainerProperties `json:"properties,omitempty"` } // ProtectionContainerCollection is protection Container collection. type ProtectionContainerCollection struct { autorest.Response `json:"-"` Value *[]ProtectionContainer `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ProtectionContainerCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ProtectionContainerCollection) ProtectionContainerCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ProtectionContainerFabricSpecificDetails is base class for fabric specific details of container. type ProtectionContainerFabricSpecificDetails struct { InstanceType *string `json:"instanceType,omitempty"` } // ProtectionContainerMapping is protection container mapping object. type ProtectionContainerMapping struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *ProtectionContainerMappingProperties `json:"properties,omitempty"` } // ProtectionContainerMappingCollection is protection container mapping collection class. type ProtectionContainerMappingCollection struct { autorest.Response `json:"-"` Value *[]ProtectionContainerMapping `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ProtectionContainerMappingCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ProtectionContainerMappingCollection) ProtectionContainerMappingCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ProtectionContainerMappingProperties is protection container mapping properties. type ProtectionContainerMappingProperties struct { TargetProtectionContainerID *string `json:"targetProtectionContainerId,omitempty"` TargetProtectionContainerFriendlyName *string `json:"targetProtectionContainerFriendlyName,omitempty"` ProviderSpecificDetails *ProtectionContainerMappingProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` Health *string `json:"health,omitempty"` HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` PolicyID *string `json:"policyId,omitempty"` State *string `json:"state,omitempty"` SourceProtectionContainerFriendlyName *string `json:"sourceProtectionContainerFriendlyName,omitempty"` SourceFabricFriendlyName *string `json:"sourceFabricFriendlyName,omitempty"` TargetFabricFriendlyName *string `json:"targetFabricFriendlyName,omitempty"` PolicyFriendlyName *string `json:"policyFriendlyName,omitempty"` } // ProtectionContainerMappingProviderSpecificDetails is container mapping provider specific details. type ProtectionContainerMappingProviderSpecificDetails struct { InstanceType *string `json:"instanceType,omitempty"` } // ProtectionContainerProperties is protection profile custom data details. type ProtectionContainerProperties struct { FabricFriendlyName *string `json:"fabricFriendlyName,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` FabricType *string `json:"fabricType,omitempty"` ProtectedItemCount *int32 `json:"protectedItemCount,omitempty"` PairingStatus *string `json:"pairingStatus,omitempty"` Role *string `json:"role,omitempty"` FabricSpecificDetails *ProtectionContainerFabricSpecificDetails `json:"fabricSpecificDetails,omitempty"` } // ProviderError is this class contains the error details per object. type ProviderError struct { ErrorCode *int32 `json:"errorCode,omitempty"` ErrorMessage *string `json:"errorMessage,omitempty"` ErrorID *string `json:"errorId,omitempty"` PossibleCauses *string `json:"possibleCauses,omitempty"` RecommendedAction *string `json:"recommendedAction,omitempty"` } // ProviderSpecificFailoverInput is provider specific failover input. type ProviderSpecificFailoverInput struct { } // RecoveryPlan is recovery plan details. type RecoveryPlan struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *RecoveryPlanProperties `json:"properties,omitempty"` } // RecoveryPlanA2AFailoverInput is recovery plan A2A failover input. type RecoveryPlanA2AFailoverInput struct { RecoveryPointType A2ARpRecoveryPointType `json:"recoveryPointType,omitempty"` CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` } // RecoveryPlanAction is recovery plan action details. type RecoveryPlanAction struct { ActionName *string `json:"actionName,omitempty"` FailoverTypes *[]ReplicationProtectedItemOperation `json:"failoverTypes,omitempty"` FailoverDirections *[]PossibleOperationsDirections `json:"failoverDirections,omitempty"` CustomDetails *RecoveryPlanActionDetails `json:"customDetails,omitempty"` } // RecoveryPlanActionDetails is recovery plan action custom details. type RecoveryPlanActionDetails struct { } // RecoveryPlanAutomationRunbookActionDetails is recovery plan Automation runbook action details. type RecoveryPlanAutomationRunbookActionDetails struct { RunbookID *string `json:"runbookId,omitempty"` Timeout *string `json:"timeout,omitempty"` FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` } // RecoveryPlanCollection is recovery plan collection details. type RecoveryPlanCollection struct { autorest.Response `json:"-"` Value *[]RecoveryPlan `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // RecoveryPlanCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client RecoveryPlanCollection) RecoveryPlanCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // RecoveryPlanGroup is recovery plan group details. type RecoveryPlanGroup struct { GroupType RecoveryPlanGroupType `json:"groupType,omitempty"` ReplicationProtectedItems *[]RecoveryPlanProtectedItem `json:"replicationProtectedItems,omitempty"` StartGroupActions *[]RecoveryPlanAction `json:"startGroupActions,omitempty"` EndGroupActions *[]RecoveryPlanAction `json:"endGroupActions,omitempty"` } // RecoveryPlanGroupTaskDetails is this class represents the recovery plan group task. type RecoveryPlanGroupTaskDetails struct { ChildTasks *[]ASRTask `json:"childTasks,omitempty"` Name *string `json:"name,omitempty"` GroupID *string `json:"groupId,omitempty"` RpGroupType *string `json:"rpGroupType,omitempty"` } // RecoveryPlanHyperVReplicaAzureFailbackInput is recovery plan HVR Azure failback input. type RecoveryPlanHyperVReplicaAzureFailbackInput struct { DataSyncOption DataSyncStatus `json:"dataSyncOption,omitempty"` RecoveryVMCreationOption AlternateLocationRecoveryOption `json:"recoveryVmCreationOption,omitempty"` } // RecoveryPlanHyperVReplicaAzureFailoverInput is recovery plan HVR Azure failover input. type RecoveryPlanHyperVReplicaAzureFailoverInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` RecoveryPointType HyperVReplicaAzureRpRecoveryPointType `json:"recoveryPointType,omitempty"` } // RecoveryPlanInMageAzureV2FailoverInput is recovery plan InMageAzureV2 failover input. type RecoveryPlanInMageAzureV2FailoverInput struct { VaultLocation *string `json:"vaultLocation,omitempty"` RecoveryPointType InMageV2RpRecoveryPointType `json:"recoveryPointType,omitempty"` } // RecoveryPlanInMageFailoverInput is recovery plan InMage failover input. type RecoveryPlanInMageFailoverInput struct { RecoveryPointType RpInMageRecoveryPointType `json:"recoveryPointType,omitempty"` } // RecoveryPlanManualActionDetails is recovery plan manual action details. type RecoveryPlanManualActionDetails struct { Description *string `json:"description,omitempty"` } // RecoveryPlanPlannedFailoverInput is recovery plan planned failover input. type RecoveryPlanPlannedFailoverInput struct { Properties *RecoveryPlanPlannedFailoverInputProperties `json:"properties,omitempty"` } // RecoveryPlanPlannedFailoverInputProperties is recovery plan planned failover input properties. type RecoveryPlanPlannedFailoverInputProperties struct { FailoverDirection PossibleOperationsDirections `json:"failoverDirection,omitempty"` ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // RecoveryPlanProperties is recovery plan custom details. type RecoveryPlanProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` PrimaryFabricID *string `json:"primaryFabricId,omitempty"` PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` RecoveryFabricID *string `json:"recoveryFabricId,omitempty"` RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` FailoverDeploymentModel *string `json:"failoverDeploymentModel,omitempty"` ReplicationProviders *[]string `json:"replicationProviders,omitempty"` AllowedOperations *[]string `json:"allowedOperations,omitempty"` LastPlannedFailoverTime *date.Time `json:"lastPlannedFailoverTime,omitempty"` LastTestFailoverTime *date.Time `json:"lastTestFailoverTime,omitempty"` CurrentScenario *CurrentScenarioDetails `json:"currentScenario,omitempty"` CurrentScenarioStatus *string `json:"currentScenarioStatus,omitempty"` CurrentScenarioStatusDescription *string `json:"currentScenarioStatusDescription,omitempty"` Groups *[]RecoveryPlanGroup `json:"groups,omitempty"` } // RecoveryPlanProtectedItem is recovery plan protected item. type RecoveryPlanProtectedItem struct { ID *string `json:"id,omitempty"` VirtualMachineID *string `json:"virtualMachineId,omitempty"` } // RecoveryPlanProviderSpecificFailoverInput is recovery plan provider specific failover input base class. type RecoveryPlanProviderSpecificFailoverInput struct { } // RecoveryPlanScriptActionDetails is recovery plan script action details. type RecoveryPlanScriptActionDetails struct { Path *string `json:"path,omitempty"` Timeout *string `json:"timeout,omitempty"` FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` } // RecoveryPlanShutdownGroupTaskDetails is this class represents the recovery plan shutdown group task details. type RecoveryPlanShutdownGroupTaskDetails struct { ChildTasks *[]ASRTask `json:"childTasks,omitempty"` Name *string `json:"name,omitempty"` GroupID *string `json:"groupId,omitempty"` RpGroupType *string `json:"rpGroupType,omitempty"` } // RecoveryPlanTestFailoverCleanupInput is recovery plan test failover cleanup input. type RecoveryPlanTestFailoverCleanupInput struct { Properties *RecoveryPlanTestFailoverCleanupInputProperties `json:"properties,omitempty"` } // RecoveryPlanTestFailoverCleanupInputProperties is recovery plan test failover cleanup input properties. type RecoveryPlanTestFailoverCleanupInputProperties struct { Comments *string `json:"comments,omitempty"` } // RecoveryPlanTestFailoverInput is recovery plan test failover input. type RecoveryPlanTestFailoverInput struct { Properties *RecoveryPlanTestFailoverInputProperties `json:"properties,omitempty"` } // RecoveryPlanTestFailoverInputProperties is recovery plan test failover input properties. type RecoveryPlanTestFailoverInputProperties struct { FailoverDirection PossibleOperationsDirections `json:"failoverDirection,omitempty"` NetworkType *string `json:"networkType,omitempty"` NetworkID *string `json:"networkId,omitempty"` SkipTestFailoverCleanup *string `json:"skipTestFailoverCleanup,omitempty"` ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // RecoveryPlanUnplannedFailoverInput is recovery plan unplanned failover input. type RecoveryPlanUnplannedFailoverInput struct { Properties *RecoveryPlanUnplannedFailoverInputProperties `json:"properties,omitempty"` } // RecoveryPlanUnplannedFailoverInputProperties is recovery plan unplanned failover input properties. type RecoveryPlanUnplannedFailoverInputProperties struct { FailoverDirection PossibleOperationsDirections `json:"failoverDirection,omitempty"` SourceSiteOperations SourceSiteOperations `json:"sourceSiteOperations,omitempty"` ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // RecoveryPoint is base class representing a recovery point. type RecoveryPoint struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *RecoveryPointProperties `json:"properties,omitempty"` } // RecoveryPointCollection is collection of recovery point details. type RecoveryPointCollection struct { autorest.Response `json:"-"` Value *[]RecoveryPoint `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // RecoveryPointCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client RecoveryPointCollection) RecoveryPointCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // RecoveryPointProperties is recovery point properties. type RecoveryPointProperties struct { RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` RecoveryPointType *string `json:"recoveryPointType,omitempty"` } // RecoveryServicesProvider is provider details. type RecoveryServicesProvider struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *RecoveryServicesProviderProperties `json:"properties,omitempty"` } // RecoveryServicesProviderCollection is collection of providers. type RecoveryServicesProviderCollection struct { autorest.Response `json:"-"` Value *[]RecoveryServicesProvider `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // RecoveryServicesProviderCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client RecoveryServicesProviderCollection) RecoveryServicesProviderCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // RecoveryServicesProviderProperties is recovery services provider properties. type RecoveryServicesProviderProperties struct { FabricType *string `json:"fabricType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` ProviderVersion *string `json:"providerVersion,omitempty"` ServerVersion *string `json:"serverVersion,omitempty"` ProviderVersionState *string `json:"providerVersionState,omitempty"` ProviderVersionExpiryDate *date.Time `json:"providerVersionExpiryDate,omitempty"` FabricFriendlyName *string `json:"fabricFriendlyName,omitempty"` LastHeartBeat *date.Time `json:"lastHeartBeat,omitempty"` ConnectionStatus *string `json:"connectionStatus,omitempty"` ProtectedItemCount *int32 `json:"protectedItemCount,omitempty"` AllowedScenarios *[]string `json:"allowedScenarios,omitempty"` HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` } // RemoveProtectionContainerMappingInput is container unpairing input. type RemoveProtectionContainerMappingInput struct { Properties *RemoveProtectionContainerMappingInputProperties `json:"properties,omitempty"` } // RemoveProtectionContainerMappingInputProperties is unpairing input properties. type RemoveProtectionContainerMappingInputProperties struct { ProviderSpecificInput *ReplicationProviderContainerUnmappingInput `json:"providerSpecificInput,omitempty"` } // RenewCertificateInput is certificate renewal input. type RenewCertificateInput struct { Properties *RenewCertificateInputProperties `json:"properties,omitempty"` } // RenewCertificateInputProperties is renew Certificate input properties. type RenewCertificateInputProperties struct { RenewCertificateType *string `json:"renewCertificateType,omitempty"` } // ReplicationGroupDetails is replication group details. This will be used in case of San and Wvr. type ReplicationGroupDetails struct { } // ReplicationProtectedItem is replication protected item. type ReplicationProtectedItem struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *ReplicationProtectedItemProperties `json:"properties,omitempty"` } // ReplicationProtectedItemCollection is replication protected item collection. type ReplicationProtectedItemCollection struct { autorest.Response `json:"-"` Value *[]ReplicationProtectedItem `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ReplicationProtectedItemCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ReplicationProtectedItemCollection) ReplicationProtectedItemCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ReplicationProtectedItemProperties is replication protected item custom data details. type ReplicationProtectedItemProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` ProtectedItemType *string `json:"protectedItemType,omitempty"` ProtectableItemID *string `json:"protectableItemId,omitempty"` RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` RecoveryFabricID *string `json:"recoveryFabricId,omitempty"` PrimaryProtectionContainerFriendlyName *string `json:"primaryProtectionContainerFriendlyName,omitempty"` RecoveryProtectionContainerFriendlyName *string `json:"recoveryProtectionContainerFriendlyName,omitempty"` ProtectionState *string `json:"protectionState,omitempty"` ProtectionStateDescription *string `json:"protectionStateDescription,omitempty"` ActiveLocation *string `json:"activeLocation,omitempty"` TestFailoverState *string `json:"testFailoverState,omitempty"` TestFailoverStateDescription *string `json:"testFailoverStateDescription,omitempty"` AllowedOperations *[]string `json:"allowedOperations,omitempty"` ReplicationHealth *string `json:"replicationHealth,omitempty"` ReplicationHealthErrors *[]HealthError `json:"replicationHealthErrors,omitempty"` PolicyID *string `json:"policyId,omitempty"` PolicyFriendlyName *string `json:"policyFriendlyName,omitempty"` LastSuccessfulFailoverTime *date.Time `json:"lastSuccessfulFailoverTime,omitempty"` LastSuccessfulTestFailoverTime *date.Time `json:"lastSuccessfulTestFailoverTime,omitempty"` CurrentScenario *CurrentScenarioDetails `json:"currentScenario,omitempty"` FailoverRecoveryPointID *string `json:"failoverRecoveryPointId,omitempty"` ProviderSpecificDetails *ReplicationProviderSpecificSettings `json:"providerSpecificDetails,omitempty"` RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` } // ReplicationProviderContainerUnmappingInput is provider specific input for unpairing operations. type ReplicationProviderContainerUnmappingInput struct { InstanceType *string `json:"instanceType,omitempty"` } // ReplicationProviderSpecificContainerCreationInput is provider specific input for container creation operation. type ReplicationProviderSpecificContainerCreationInput struct { } // ReplicationProviderSpecificContainerMappingInput is provider specific input for pairing operations. type ReplicationProviderSpecificContainerMappingInput struct { InstanceType *string `json:"instanceType,omitempty"` } // ReplicationProviderSpecificSettings is replication provider specific settings. type ReplicationProviderSpecificSettings struct { } // Resource is azure resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` } // ResumeJobParams is resume job params. type ResumeJobParams struct { Properties *ResumeJobParamsProperties `json:"properties,omitempty"` } // ResumeJobParamsProperties is resume job properties. type ResumeJobParamsProperties struct { Comments *string `json:"comments,omitempty"` } // RetentionVolume is the retention details of the MT. type RetentionVolume struct { VolumeName *string `json:"volumeName,omitempty"` CapacityInBytes *int64 `json:"capacityInBytes,omitempty"` FreeSpaceInBytes *int64 `json:"freeSpaceInBytes,omitempty"` ThresholdPercentage *int32 `json:"thresholdPercentage,omitempty"` } // ReverseReplicationInput is reverse replication input. type ReverseReplicationInput struct { Properties *ReverseReplicationInputProperties `json:"properties,omitempty"` } // ReverseReplicationInputProperties is reverse replication input properties. type ReverseReplicationInputProperties struct { FailoverDirection *string `json:"failoverDirection,omitempty"` ProviderSpecificDetails *ReverseReplicationProviderSpecificInput `json:"providerSpecificDetails,omitempty"` } // ReverseReplicationProviderSpecificInput is provider specific reverse replication input. type ReverseReplicationProviderSpecificInput struct { } // RoleAssignment is azure role assignment details. type RoleAssignment struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Scope *string `json:"scope,omitempty"` PrincipalID *string `json:"principalId,omitempty"` RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` } // RunAsAccount is CS Accounts Details. type RunAsAccount struct { AccountID *string `json:"accountId,omitempty"` AccountName *string `json:"accountName,omitempty"` } // SanEnableProtectionInput is san enable protection provider specific input. type SanEnableProtectionInput struct { } // ScriptActionTaskDetails is this class represents the script action task details. type ScriptActionTaskDetails struct { Name *string `json:"name,omitempty"` Path *string `json:"path,omitempty"` Output *string `json:"output,omitempty"` IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` } // ServiceError is ASR error model type ServiceError struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` PossibleCauses *string `json:"possibleCauses,omitempty"` RecommendedAction *string `json:"recommendedAction,omitempty"` ActivityID *string `json:"activityId,omitempty"` } // StorageClassification is storage object definition. type StorageClassification struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *StorageClassificationProperties `json:"properties,omitempty"` } // StorageClassificationCollection is collection of storage details. type StorageClassificationCollection struct { autorest.Response `json:"-"` Value *[]StorageClassification `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // StorageClassificationCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client StorageClassificationCollection) StorageClassificationCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // StorageClassificationMapping is storage mapping object. type StorageClassificationMapping struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *StorageClassificationMappingProperties `json:"properties,omitempty"` } // StorageClassificationMappingCollection is collection of storage mapping details. type StorageClassificationMappingCollection struct { autorest.Response `json:"-"` Value *[]StorageClassificationMapping `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // StorageClassificationMappingCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client StorageClassificationMappingCollection) StorageClassificationMappingCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // StorageClassificationMappingInput is storage mapping input. type StorageClassificationMappingInput struct { Properties *StorageMappingInputProperties `json:"properties,omitempty"` } // StorageClassificationMappingProperties is storage mapping properties. type StorageClassificationMappingProperties struct { TargetStorageClassificationID *string `json:"targetStorageClassificationId,omitempty"` } // StorageClassificationProperties is storage object properties. type StorageClassificationProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` } // StorageMappingInputProperties is storage mapping input properties. type StorageMappingInputProperties struct { TargetStorageClassificationID *string `json:"targetStorageClassificationId,omitempty"` } // Subnet is subnets of the network. type Subnet struct { Name *string `json:"name,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` AddressList *[]string `json:"addressList,omitempty"` } // SwitchProtectionInput is switch protection input. type SwitchProtectionInput struct { Properties *SwitchProtectionInputProperties `json:"properties,omitempty"` } // SwitchProtectionInputProperties is switch protection input properties. type SwitchProtectionInputProperties struct { ReplicationProtectedItemName *string `json:"replicationProtectedItemName,omitempty"` ProviderSpecificDetails *SwitchProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` } // SwitchProtectionJobDetails is this class represents details for switch protection job. type SwitchProtectionJobDetails struct { AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` NewReplicationProtectedItemID *string `json:"newReplicationProtectedItemId,omitempty"` } // SwitchProtectionProviderSpecificInput is provider specific switch protection input. type SwitchProtectionProviderSpecificInput struct { } // TaskTypeDetails is task details based on specific task type. type TaskTypeDetails struct { } // TestFailoverCleanupInput is input definition for test failover cleanup. type TestFailoverCleanupInput struct { Properties *TestFailoverCleanupInputProperties `json:"properties,omitempty"` } // TestFailoverCleanupInputProperties is input definition for test failover cleanup input properties. type TestFailoverCleanupInputProperties struct { Comments *string `json:"comments,omitempty"` } // TestFailoverInput is input definition for planned failover. type TestFailoverInput struct { Properties *TestFailoverInputProperties `json:"properties,omitempty"` } // TestFailoverInputProperties is input definition for planned failover input properties. type TestFailoverInputProperties struct { FailoverDirection *string `json:"failoverDirection,omitempty"` NetworkType *string `json:"networkType,omitempty"` NetworkID *string `json:"networkId,omitempty"` SkipTestFailoverCleanup *string `json:"skipTestFailoverCleanup,omitempty"` ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // TestFailoverJobDetails is this class represents the details for a test failover job. type TestFailoverJobDetails struct { AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` TestFailoverStatus *string `json:"testFailoverStatus,omitempty"` Comments *string `json:"comments,omitempty"` NetworkName *string `json:"networkName,omitempty"` NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` NetworkType *string `json:"networkType,omitempty"` ProtectedItemDetails *[]TestFailoverReplicationProtectedItemDetails `json:"protectedItemDetails,omitempty"` } // TestFailoverReplicationProtectedItemDetails is test failover details for a replication protected item. type TestFailoverReplicationProtectedItemDetails struct { Name *string `json:"name,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` TestVMName *string `json:"testVmName,omitempty"` TestVMFriendlyName *string `json:"testVmFriendlyName,omitempty"` NetworkConnectionStatus *string `json:"networkConnectionStatus,omitempty"` NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` Subnet *string `json:"subnet,omitempty"` } // UnplannedFailoverInput is input definition for planned failover. type UnplannedFailoverInput struct { Properties *UnplannedFailoverInputProperties `json:"properties,omitempty"` } // UnplannedFailoverInputProperties is input definition for planned failover input properties. type UnplannedFailoverInputProperties struct { FailoverDirection *string `json:"failoverDirection,omitempty"` SourceSiteOperations *string `json:"sourceSiteOperations,omitempty"` ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } // UpdateMobilityServiceRequest is request to update the mobility service on a protected item. type UpdateMobilityServiceRequest struct { Properties *UpdateMobilityServiceRequestProperties `json:"properties,omitempty"` } // UpdateMobilityServiceRequestProperties is the properties of an update mobility service request. type UpdateMobilityServiceRequestProperties struct { RunAsAccountID *string `json:"runAsAccountId,omitempty"` } // UpdateNetworkMappingInput is update network mapping input. type UpdateNetworkMappingInput struct { Properties *UpdateNetworkMappingInputProperties `json:"properties,omitempty"` } // UpdateNetworkMappingInputProperties is common input details for network mapping operation. type UpdateNetworkMappingInputProperties struct { RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` FabricSpecificDetails *FabricSpecificUpdateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` } // UpdatePolicyInput is update protection profile input. type UpdatePolicyInput struct { Properties *UpdatePolicyInputProperties `json:"properties,omitempty"` } // UpdatePolicyInputProperties is policy update properties. type UpdatePolicyInputProperties struct { ReplicationProviderSettings *PolicyProviderSpecificInput `json:"replicationProviderSettings,omitempty"` } // UpdateRecoveryPlanInput is update recovery plan input class. type UpdateRecoveryPlanInput struct { Properties *UpdateRecoveryPlanInputProperties `json:"properties,omitempty"` } // UpdateRecoveryPlanInputProperties is recovery plan updation properties. type UpdateRecoveryPlanInputProperties struct { Groups *[]RecoveryPlanGroup `json:"groups,omitempty"` } // UpdateReplicationProtectedItemInput is update replication protected item input. type UpdateReplicationProtectedItemInput struct { Properties *UpdateReplicationProtectedItemInputProperties `json:"properties,omitempty"` } // UpdateReplicationProtectedItemInputProperties is update protected item input properties. type UpdateReplicationProtectedItemInputProperties struct { RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` VMNics *[]VMNicInputDetails `json:"vmNics,omitempty"` LicenseType LicenseType `json:"licenseType,omitempty"` RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` ProviderSpecificDetails *UpdateReplicationProtectedItemProviderInput `json:"providerSpecificDetails,omitempty"` } // UpdateReplicationProtectedItemProviderInput is update replication protected item provider specific input. type UpdateReplicationProtectedItemProviderInput struct { } // UpdateVCenterRequest is input required to update vCenter. type UpdateVCenterRequest struct { Properties *UpdateVCenterRequestProperties `json:"properties,omitempty"` } // UpdateVCenterRequestProperties is the properties of an update vCenter request. type UpdateVCenterRequestProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` Port *string `json:"port,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` } // VCenter is vCenter definition. type VCenter struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Properties *VCenterProperties `json:"properties,omitempty"` } // VCenterCollection is collection of vCenter details. type VCenterCollection struct { autorest.Response `json:"-"` Value *[]VCenter `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VCenterCollectionPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VCenterCollection) VCenterCollectionPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VCenterProperties is vCenter properties. type VCenterProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` InternalID *string `json:"internalId,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` DiscoveryStatus *string `json:"discoveryStatus,omitempty"` ProcessServerID *string `json:"processServerId,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` InfrastructureID *string `json:"infrastructureId,omitempty"` Port *string `json:"port,omitempty"` RunAsAccountID *string `json:"runAsAccountId,omitempty"` FabricArmResourceName *string `json:"fabricArmResourceName,omitempty"` } // VirtualMachineTaskDetails is this class represents the virtual machine task details. type VirtualMachineTaskDetails struct { SkippedReason *string `json:"skippedReason,omitempty"` SkippedReasonString *string `json:"skippedReasonString,omitempty"` JobTask *JobEntity `json:"jobTask,omitempty"` } // VmmDetails is VMM fabric specific details. type VmmDetails struct { } // VmmToAzureCreateNetworkMappingInput is create network mappings input properties/behaviour specific to Vmm to Azure // Network mapping. type VmmToAzureCreateNetworkMappingInput struct { } // VmmToAzureNetworkMappingSettings is e2A Network Mapping fabric specific settings. type VmmToAzureNetworkMappingSettings struct { } // VmmToAzureUpdateNetworkMappingInput is update network mappings input properties/behaviour specific to vmm to azure. type VmmToAzureUpdateNetworkMappingInput struct { } // VmmToVmmCreateNetworkMappingInput is create network mappings input properties/behaviour specific to vmm to vmm // Network mapping. type VmmToVmmCreateNetworkMappingInput struct { } // VmmToVmmNetworkMappingSettings is e2E Network Mapping fabric specific settings. type VmmToVmmNetworkMappingSettings struct { } // VmmToVmmUpdateNetworkMappingInput is update network mappings input properties/behaviour specific to vmm to vmm. type VmmToVmmUpdateNetworkMappingInput struct { } // VMNicDetails is hyper V VM network details. type VMNicDetails struct { NicID *string `json:"nicId,omitempty"` ReplicaNicID *string `json:"replicaNicId,omitempty"` SourceNicArmID *string `json:"sourceNicArmId,omitempty"` VMSubnetName *string `json:"vMSubnetName,omitempty"` VMNetworkName *string `json:"vMNetworkName,omitempty"` RecoveryVMNetworkID *string `json:"recoveryVMNetworkId,omitempty"` RecoveryVMSubnetName *string `json:"recoveryVMSubnetName,omitempty"` IPAddressType *string `json:"ipAddressType,omitempty"` PrimaryNicStaticIPAddress *string `json:"primaryNicStaticIPAddress,omitempty"` ReplicaNicStaticIPAddress *string `json:"replicaNicStaticIPAddress,omitempty"` SelectionType *string `json:"selectionType,omitempty"` } // VMNicInputDetails is hyper V VM network input details. type VMNicInputDetails struct { NicID *string `json:"nicId,omitempty"` RecoveryVMSubnetName *string `json:"recoveryVMSubnetName,omitempty"` ReplicaNicStaticIPAddress *string `json:"replicaNicStaticIPAddress,omitempty"` SelectionType *string `json:"selectionType,omitempty"` } // VMNicUpdatesTaskDetails is this class represents the vm NicUpdates task details. type VMNicUpdatesTaskDetails struct { VMID *string `json:"vmId,omitempty"` NicID *string `json:"nicId,omitempty"` Name *string `json:"name,omitempty"` } // VMwareDetails is store the fabric details specific to the VMware fabric. type VMwareDetails struct { ProcessServers *[]ProcessServer `json:"processServers,omitempty"` MasterTargetServers *[]MasterTargetServer `json:"masterTargetServers,omitempty"` RunAsAccounts *[]RunAsAccount `json:"runAsAccounts,omitempty"` ReplicationPairCount *string `json:"replicationPairCount,omitempty"` ProcessServerCount *string `json:"processServerCount,omitempty"` AgentCount *string `json:"agentCount,omitempty"` ProtectedServers *string `json:"protectedServers,omitempty"` SystemLoad *string `json:"systemLoad,omitempty"` SystemLoadStatus *string `json:"systemLoadStatus,omitempty"` CPULoad *string `json:"cpuLoad,omitempty"` CPULoadStatus *string `json:"cpuLoadStatus,omitempty"` TotalMemoryInBytes *int64 `json:"totalMemoryInBytes,omitempty"` AvailableMemoryInBytes *int64 `json:"availableMemoryInBytes,omitempty"` MemoryUsageStatus *string `json:"memoryUsageStatus,omitempty"` TotalSpaceInBytes *int64 `json:"totalSpaceInBytes,omitempty"` AvailableSpaceInBytes *int64 `json:"availableSpaceInBytes,omitempty"` SpaceUsageStatus *string `json:"spaceUsageStatus,omitempty"` WebLoad *string `json:"webLoad,omitempty"` WebLoadStatus *string `json:"webLoadStatus,omitempty"` DatabaseServerLoad *string `json:"databaseServerLoad,omitempty"` DatabaseServerLoadStatus *string `json:"databaseServerLoadStatus,omitempty"` CsServiceStatus *string `json:"csServiceStatus,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` HostName *string `json:"hostName,omitempty"` LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` VersionStatus *string `json:"versionStatus,omitempty"` SslCertExpiryDate *date.Time `json:"sslCertExpiryDate,omitempty"` SslCertExpiryRemainingDays *int32 `json:"sslCertExpiryRemainingDays,omitempty"` PsTemplateVersion *string `json:"psTemplateVersion,omitempty"` } // VMwareVirtualMachineDetails is vMware provider specific settings type VMwareVirtualMachineDetails struct { AgentGeneratedID *string `json:"agentGeneratedId,omitempty"` AgentInstalled *string `json:"agentInstalled,omitempty"` OsType *string `json:"osType,omitempty"` AgentVersion *string `json:"agentVersion,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` PoweredOn *string `json:"poweredOn,omitempty"` VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` DiscoveryType *string `json:"discoveryType,omitempty"` DiskDetails *[]InMageDiskDetails `json:"diskDetails,omitempty"` ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` }