
com.pulumi.azurenative.recoveryservices.outputs.HyperVReplicaAzureReplicationDetailsResponse Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.recoveryservices.outputs;
import com.pulumi.azurenative.recoveryservices.outputs.AzureVmDiskDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.HyperVReplicaAzureManagedDiskDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.InitialReplicationDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.OSDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.VMNicDetailsResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class HyperVReplicaAzureReplicationDetailsResponse {
/**
* @return Azure VM Disk details.
*
*/
private @Nullable List azureVmDiskDetails;
/**
* @return The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.
*
*/
private @Nullable String enableRdpOnTargetOption;
/**
* @return The encryption info.
*
*/
private @Nullable String encryption;
/**
* @return Initial replication details.
*
*/
private @Nullable InitialReplicationDetailsResponse initialReplicationDetails;
/**
* @return Gets the Instance type.
* Expected value is 'HyperVReplicaAzure'.
*
*/
private String instanceType;
/**
* @return The last recovery point received time.
*
*/
private String lastRecoveryPointReceived;
/**
* @return The Last replication time.
*
*/
private @Nullable String lastReplicatedTime;
/**
* @return The last RPO calculated time.
*
*/
private @Nullable String lastRpoCalculatedTime;
/**
* @return License Type of the VM to be used.
*
*/
private @Nullable String licenseType;
/**
* @return The operating system info.
*
*/
private @Nullable OSDetailsResponse oSDetails;
/**
* @return The list of protected managed disks.
*
*/
private @Nullable List protectedManagedDisks;
/**
* @return The recovery availability set Id.
*
*/
private @Nullable String recoveryAvailabilitySetId;
/**
* @return The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.
*
*/
private @Nullable String recoveryAzureLogStorageAccountId;
/**
* @return The target resource group Id.
*
*/
private @Nullable String recoveryAzureResourceGroupId;
/**
* @return The recovery Azure storage account.
*
*/
private @Nullable String recoveryAzureStorageAccount;
/**
* @return The Recovery Azure VM size.
*
*/
private @Nullable String recoveryAzureVMSize;
/**
* @return Recovery Azure given name.
*
*/
private @Nullable String recoveryAzureVmName;
/**
* @return Last RPO value.
*
*/
private @Nullable Double rpoInSeconds;
/**
* @return The tags for the seed managed disks.
*
*/
private @Nullable Map seedManagedDiskTags;
/**
* @return The selected recovery azure network Id.
*
*/
private @Nullable String selectedRecoveryAzureNetworkId;
/**
* @return The selected source nic Id which will be used as the primary nic during failover.
*
*/
private @Nullable String selectedSourceNicId;
/**
* @return The CPU count of the VM on the primary side.
*
*/
private @Nullable Integer sourceVmCpuCount;
/**
* @return The RAM size of the VM on the primary side.
*
*/
private @Nullable Integer sourceVmRamSizeInMB;
/**
* @return The SQL Server license type.
*
*/
private @Nullable String sqlServerLicenseType;
/**
* @return The target availability zone.
*
*/
private @Nullable String targetAvailabilityZone;
/**
* @return The tags for the target managed disks.
*
*/
private @Nullable Map targetManagedDiskTags;
/**
* @return The tags for the target NICs.
*
*/
private @Nullable Map targetNicTags;
/**
* @return The target proximity placement group Id.
*
*/
private @Nullable String targetProximityPlacementGroupId;
/**
* @return The target VM tags.
*
*/
private @Nullable Map targetVmTags;
/**
* @return A value indicating whether managed disks should be used during failover.
*
*/
private @Nullable String useManagedDisks;
/**
* @return The virtual machine Id.
*
*/
private @Nullable String vmId;
/**
* @return The PE Network details.
*
*/
private @Nullable List vmNics;
/**
* @return The protection state for the vm.
*
*/
private @Nullable String vmProtectionState;
/**
* @return The protection state description for the vm.
*
*/
private @Nullable String vmProtectionStateDescription;
private HyperVReplicaAzureReplicationDetailsResponse() {}
/**
* @return Azure VM Disk details.
*
*/
public List azureVmDiskDetails() {
return this.azureVmDiskDetails == null ? List.of() : this.azureVmDiskDetails;
}
/**
* @return The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.
*
*/
public Optional enableRdpOnTargetOption() {
return Optional.ofNullable(this.enableRdpOnTargetOption);
}
/**
* @return The encryption info.
*
*/
public Optional encryption() {
return Optional.ofNullable(this.encryption);
}
/**
* @return Initial replication details.
*
*/
public Optional initialReplicationDetails() {
return Optional.ofNullable(this.initialReplicationDetails);
}
/**
* @return Gets the Instance type.
* Expected value is 'HyperVReplicaAzure'.
*
*/
public String instanceType() {
return this.instanceType;
}
/**
* @return The last recovery point received time.
*
*/
public String lastRecoveryPointReceived() {
return this.lastRecoveryPointReceived;
}
/**
* @return The Last replication time.
*
*/
public Optional lastReplicatedTime() {
return Optional.ofNullable(this.lastReplicatedTime);
}
/**
* @return The last RPO calculated time.
*
*/
public Optional lastRpoCalculatedTime() {
return Optional.ofNullable(this.lastRpoCalculatedTime);
}
/**
* @return License Type of the VM to be used.
*
*/
public Optional licenseType() {
return Optional.ofNullable(this.licenseType);
}
/**
* @return The operating system info.
*
*/
public Optional oSDetails() {
return Optional.ofNullable(this.oSDetails);
}
/**
* @return The list of protected managed disks.
*
*/
public List protectedManagedDisks() {
return this.protectedManagedDisks == null ? List.of() : this.protectedManagedDisks;
}
/**
* @return The recovery availability set Id.
*
*/
public Optional recoveryAvailabilitySetId() {
return Optional.ofNullable(this.recoveryAvailabilitySetId);
}
/**
* @return The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.
*
*/
public Optional recoveryAzureLogStorageAccountId() {
return Optional.ofNullable(this.recoveryAzureLogStorageAccountId);
}
/**
* @return The target resource group Id.
*
*/
public Optional recoveryAzureResourceGroupId() {
return Optional.ofNullable(this.recoveryAzureResourceGroupId);
}
/**
* @return The recovery Azure storage account.
*
*/
public Optional recoveryAzureStorageAccount() {
return Optional.ofNullable(this.recoveryAzureStorageAccount);
}
/**
* @return The Recovery Azure VM size.
*
*/
public Optional recoveryAzureVMSize() {
return Optional.ofNullable(this.recoveryAzureVMSize);
}
/**
* @return Recovery Azure given name.
*
*/
public Optional recoveryAzureVmName() {
return Optional.ofNullable(this.recoveryAzureVmName);
}
/**
* @return Last RPO value.
*
*/
public Optional rpoInSeconds() {
return Optional.ofNullable(this.rpoInSeconds);
}
/**
* @return The tags for the seed managed disks.
*
*/
public Map seedManagedDiskTags() {
return this.seedManagedDiskTags == null ? Map.of() : this.seedManagedDiskTags;
}
/**
* @return The selected recovery azure network Id.
*
*/
public Optional selectedRecoveryAzureNetworkId() {
return Optional.ofNullable(this.selectedRecoveryAzureNetworkId);
}
/**
* @return The selected source nic Id which will be used as the primary nic during failover.
*
*/
public Optional selectedSourceNicId() {
return Optional.ofNullable(this.selectedSourceNicId);
}
/**
* @return The CPU count of the VM on the primary side.
*
*/
public Optional sourceVmCpuCount() {
return Optional.ofNullable(this.sourceVmCpuCount);
}
/**
* @return The RAM size of the VM on the primary side.
*
*/
public Optional sourceVmRamSizeInMB() {
return Optional.ofNullable(this.sourceVmRamSizeInMB);
}
/**
* @return The SQL Server license type.
*
*/
public Optional sqlServerLicenseType() {
return Optional.ofNullable(this.sqlServerLicenseType);
}
/**
* @return The target availability zone.
*
*/
public Optional targetAvailabilityZone() {
return Optional.ofNullable(this.targetAvailabilityZone);
}
/**
* @return The tags for the target managed disks.
*
*/
public Map targetManagedDiskTags() {
return this.targetManagedDiskTags == null ? Map.of() : this.targetManagedDiskTags;
}
/**
* @return The tags for the target NICs.
*
*/
public Map targetNicTags() {
return this.targetNicTags == null ? Map.of() : this.targetNicTags;
}
/**
* @return The target proximity placement group Id.
*
*/
public Optional targetProximityPlacementGroupId() {
return Optional.ofNullable(this.targetProximityPlacementGroupId);
}
/**
* @return The target VM tags.
*
*/
public Map targetVmTags() {
return this.targetVmTags == null ? Map.of() : this.targetVmTags;
}
/**
* @return A value indicating whether managed disks should be used during failover.
*
*/
public Optional useManagedDisks() {
return Optional.ofNullable(this.useManagedDisks);
}
/**
* @return The virtual machine Id.
*
*/
public Optional vmId() {
return Optional.ofNullable(this.vmId);
}
/**
* @return The PE Network details.
*
*/
public List vmNics() {
return this.vmNics == null ? List.of() : this.vmNics;
}
/**
* @return The protection state for the vm.
*
*/
public Optional vmProtectionState() {
return Optional.ofNullable(this.vmProtectionState);
}
/**
* @return The protection state description for the vm.
*
*/
public Optional vmProtectionStateDescription() {
return Optional.ofNullable(this.vmProtectionStateDescription);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(HyperVReplicaAzureReplicationDetailsResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List azureVmDiskDetails;
private @Nullable String enableRdpOnTargetOption;
private @Nullable String encryption;
private @Nullable InitialReplicationDetailsResponse initialReplicationDetails;
private String instanceType;
private String lastRecoveryPointReceived;
private @Nullable String lastReplicatedTime;
private @Nullable String lastRpoCalculatedTime;
private @Nullable String licenseType;
private @Nullable OSDetailsResponse oSDetails;
private @Nullable List protectedManagedDisks;
private @Nullable String recoveryAvailabilitySetId;
private @Nullable String recoveryAzureLogStorageAccountId;
private @Nullable String recoveryAzureResourceGroupId;
private @Nullable String recoveryAzureStorageAccount;
private @Nullable String recoveryAzureVMSize;
private @Nullable String recoveryAzureVmName;
private @Nullable Double rpoInSeconds;
private @Nullable Map seedManagedDiskTags;
private @Nullable String selectedRecoveryAzureNetworkId;
private @Nullable String selectedSourceNicId;
private @Nullable Integer sourceVmCpuCount;
private @Nullable Integer sourceVmRamSizeInMB;
private @Nullable String sqlServerLicenseType;
private @Nullable String targetAvailabilityZone;
private @Nullable Map targetManagedDiskTags;
private @Nullable Map targetNicTags;
private @Nullable String targetProximityPlacementGroupId;
private @Nullable Map targetVmTags;
private @Nullable String useManagedDisks;
private @Nullable String vmId;
private @Nullable List vmNics;
private @Nullable String vmProtectionState;
private @Nullable String vmProtectionStateDescription;
public Builder() {}
public Builder(HyperVReplicaAzureReplicationDetailsResponse defaults) {
Objects.requireNonNull(defaults);
this.azureVmDiskDetails = defaults.azureVmDiskDetails;
this.enableRdpOnTargetOption = defaults.enableRdpOnTargetOption;
this.encryption = defaults.encryption;
this.initialReplicationDetails = defaults.initialReplicationDetails;
this.instanceType = defaults.instanceType;
this.lastRecoveryPointReceived = defaults.lastRecoveryPointReceived;
this.lastReplicatedTime = defaults.lastReplicatedTime;
this.lastRpoCalculatedTime = defaults.lastRpoCalculatedTime;
this.licenseType = defaults.licenseType;
this.oSDetails = defaults.oSDetails;
this.protectedManagedDisks = defaults.protectedManagedDisks;
this.recoveryAvailabilitySetId = defaults.recoveryAvailabilitySetId;
this.recoveryAzureLogStorageAccountId = defaults.recoveryAzureLogStorageAccountId;
this.recoveryAzureResourceGroupId = defaults.recoveryAzureResourceGroupId;
this.recoveryAzureStorageAccount = defaults.recoveryAzureStorageAccount;
this.recoveryAzureVMSize = defaults.recoveryAzureVMSize;
this.recoveryAzureVmName = defaults.recoveryAzureVmName;
this.rpoInSeconds = defaults.rpoInSeconds;
this.seedManagedDiskTags = defaults.seedManagedDiskTags;
this.selectedRecoveryAzureNetworkId = defaults.selectedRecoveryAzureNetworkId;
this.selectedSourceNicId = defaults.selectedSourceNicId;
this.sourceVmCpuCount = defaults.sourceVmCpuCount;
this.sourceVmRamSizeInMB = defaults.sourceVmRamSizeInMB;
this.sqlServerLicenseType = defaults.sqlServerLicenseType;
this.targetAvailabilityZone = defaults.targetAvailabilityZone;
this.targetManagedDiskTags = defaults.targetManagedDiskTags;
this.targetNicTags = defaults.targetNicTags;
this.targetProximityPlacementGroupId = defaults.targetProximityPlacementGroupId;
this.targetVmTags = defaults.targetVmTags;
this.useManagedDisks = defaults.useManagedDisks;
this.vmId = defaults.vmId;
this.vmNics = defaults.vmNics;
this.vmProtectionState = defaults.vmProtectionState;
this.vmProtectionStateDescription = defaults.vmProtectionStateDescription;
}
@CustomType.Setter
public Builder azureVmDiskDetails(@Nullable List azureVmDiskDetails) {
this.azureVmDiskDetails = azureVmDiskDetails;
return this;
}
public Builder azureVmDiskDetails(AzureVmDiskDetailsResponse... azureVmDiskDetails) {
return azureVmDiskDetails(List.of(azureVmDiskDetails));
}
@CustomType.Setter
public Builder enableRdpOnTargetOption(@Nullable String enableRdpOnTargetOption) {
this.enableRdpOnTargetOption = enableRdpOnTargetOption;
return this;
}
@CustomType.Setter
public Builder encryption(@Nullable String encryption) {
this.encryption = encryption;
return this;
}
@CustomType.Setter
public Builder initialReplicationDetails(@Nullable InitialReplicationDetailsResponse initialReplicationDetails) {
this.initialReplicationDetails = initialReplicationDetails;
return this;
}
@CustomType.Setter
public Builder instanceType(String instanceType) {
if (instanceType == null) {
throw new MissingRequiredPropertyException("HyperVReplicaAzureReplicationDetailsResponse", "instanceType");
}
this.instanceType = instanceType;
return this;
}
@CustomType.Setter
public Builder lastRecoveryPointReceived(String lastRecoveryPointReceived) {
if (lastRecoveryPointReceived == null) {
throw new MissingRequiredPropertyException("HyperVReplicaAzureReplicationDetailsResponse", "lastRecoveryPointReceived");
}
this.lastRecoveryPointReceived = lastRecoveryPointReceived;
return this;
}
@CustomType.Setter
public Builder lastReplicatedTime(@Nullable String lastReplicatedTime) {
this.lastReplicatedTime = lastReplicatedTime;
return this;
}
@CustomType.Setter
public Builder lastRpoCalculatedTime(@Nullable String lastRpoCalculatedTime) {
this.lastRpoCalculatedTime = lastRpoCalculatedTime;
return this;
}
@CustomType.Setter
public Builder licenseType(@Nullable String licenseType) {
this.licenseType = licenseType;
return this;
}
@CustomType.Setter
public Builder oSDetails(@Nullable OSDetailsResponse oSDetails) {
this.oSDetails = oSDetails;
return this;
}
@CustomType.Setter
public Builder protectedManagedDisks(@Nullable List protectedManagedDisks) {
this.protectedManagedDisks = protectedManagedDisks;
return this;
}
public Builder protectedManagedDisks(HyperVReplicaAzureManagedDiskDetailsResponse... protectedManagedDisks) {
return protectedManagedDisks(List.of(protectedManagedDisks));
}
@CustomType.Setter
public Builder recoveryAvailabilitySetId(@Nullable String recoveryAvailabilitySetId) {
this.recoveryAvailabilitySetId = recoveryAvailabilitySetId;
return this;
}
@CustomType.Setter
public Builder recoveryAzureLogStorageAccountId(@Nullable String recoveryAzureLogStorageAccountId) {
this.recoveryAzureLogStorageAccountId = recoveryAzureLogStorageAccountId;
return this;
}
@CustomType.Setter
public Builder recoveryAzureResourceGroupId(@Nullable String recoveryAzureResourceGroupId) {
this.recoveryAzureResourceGroupId = recoveryAzureResourceGroupId;
return this;
}
@CustomType.Setter
public Builder recoveryAzureStorageAccount(@Nullable String recoveryAzureStorageAccount) {
this.recoveryAzureStorageAccount = recoveryAzureStorageAccount;
return this;
}
@CustomType.Setter
public Builder recoveryAzureVMSize(@Nullable String recoveryAzureVMSize) {
this.recoveryAzureVMSize = recoveryAzureVMSize;
return this;
}
@CustomType.Setter
public Builder recoveryAzureVmName(@Nullable String recoveryAzureVmName) {
this.recoveryAzureVmName = recoveryAzureVmName;
return this;
}
@CustomType.Setter
public Builder rpoInSeconds(@Nullable Double rpoInSeconds) {
this.rpoInSeconds = rpoInSeconds;
return this;
}
@CustomType.Setter
public Builder seedManagedDiskTags(@Nullable Map seedManagedDiskTags) {
this.seedManagedDiskTags = seedManagedDiskTags;
return this;
}
@CustomType.Setter
public Builder selectedRecoveryAzureNetworkId(@Nullable String selectedRecoveryAzureNetworkId) {
this.selectedRecoveryAzureNetworkId = selectedRecoveryAzureNetworkId;
return this;
}
@CustomType.Setter
public Builder selectedSourceNicId(@Nullable String selectedSourceNicId) {
this.selectedSourceNicId = selectedSourceNicId;
return this;
}
@CustomType.Setter
public Builder sourceVmCpuCount(@Nullable Integer sourceVmCpuCount) {
this.sourceVmCpuCount = sourceVmCpuCount;
return this;
}
@CustomType.Setter
public Builder sourceVmRamSizeInMB(@Nullable Integer sourceVmRamSizeInMB) {
this.sourceVmRamSizeInMB = sourceVmRamSizeInMB;
return this;
}
@CustomType.Setter
public Builder sqlServerLicenseType(@Nullable String sqlServerLicenseType) {
this.sqlServerLicenseType = sqlServerLicenseType;
return this;
}
@CustomType.Setter
public Builder targetAvailabilityZone(@Nullable String targetAvailabilityZone) {
this.targetAvailabilityZone = targetAvailabilityZone;
return this;
}
@CustomType.Setter
public Builder targetManagedDiskTags(@Nullable Map targetManagedDiskTags) {
this.targetManagedDiskTags = targetManagedDiskTags;
return this;
}
@CustomType.Setter
public Builder targetNicTags(@Nullable Map targetNicTags) {
this.targetNicTags = targetNicTags;
return this;
}
@CustomType.Setter
public Builder targetProximityPlacementGroupId(@Nullable String targetProximityPlacementGroupId) {
this.targetProximityPlacementGroupId = targetProximityPlacementGroupId;
return this;
}
@CustomType.Setter
public Builder targetVmTags(@Nullable Map targetVmTags) {
this.targetVmTags = targetVmTags;
return this;
}
@CustomType.Setter
public Builder useManagedDisks(@Nullable String useManagedDisks) {
this.useManagedDisks = useManagedDisks;
return this;
}
@CustomType.Setter
public Builder vmId(@Nullable String vmId) {
this.vmId = vmId;
return this;
}
@CustomType.Setter
public Builder vmNics(@Nullable List vmNics) {
this.vmNics = vmNics;
return this;
}
public Builder vmNics(VMNicDetailsResponse... vmNics) {
return vmNics(List.of(vmNics));
}
@CustomType.Setter
public Builder vmProtectionState(@Nullable String vmProtectionState) {
this.vmProtectionState = vmProtectionState;
return this;
}
@CustomType.Setter
public Builder vmProtectionStateDescription(@Nullable String vmProtectionStateDescription) {
this.vmProtectionStateDescription = vmProtectionStateDescription;
return this;
}
public HyperVReplicaAzureReplicationDetailsResponse build() {
final var _resultValue = new HyperVReplicaAzureReplicationDetailsResponse();
_resultValue.azureVmDiskDetails = azureVmDiskDetails;
_resultValue.enableRdpOnTargetOption = enableRdpOnTargetOption;
_resultValue.encryption = encryption;
_resultValue.initialReplicationDetails = initialReplicationDetails;
_resultValue.instanceType = instanceType;
_resultValue.lastRecoveryPointReceived = lastRecoveryPointReceived;
_resultValue.lastReplicatedTime = lastReplicatedTime;
_resultValue.lastRpoCalculatedTime = lastRpoCalculatedTime;
_resultValue.licenseType = licenseType;
_resultValue.oSDetails = oSDetails;
_resultValue.protectedManagedDisks = protectedManagedDisks;
_resultValue.recoveryAvailabilitySetId = recoveryAvailabilitySetId;
_resultValue.recoveryAzureLogStorageAccountId = recoveryAzureLogStorageAccountId;
_resultValue.recoveryAzureResourceGroupId = recoveryAzureResourceGroupId;
_resultValue.recoveryAzureStorageAccount = recoveryAzureStorageAccount;
_resultValue.recoveryAzureVMSize = recoveryAzureVMSize;
_resultValue.recoveryAzureVmName = recoveryAzureVmName;
_resultValue.rpoInSeconds = rpoInSeconds;
_resultValue.seedManagedDiskTags = seedManagedDiskTags;
_resultValue.selectedRecoveryAzureNetworkId = selectedRecoveryAzureNetworkId;
_resultValue.selectedSourceNicId = selectedSourceNicId;
_resultValue.sourceVmCpuCount = sourceVmCpuCount;
_resultValue.sourceVmRamSizeInMB = sourceVmRamSizeInMB;
_resultValue.sqlServerLicenseType = sqlServerLicenseType;
_resultValue.targetAvailabilityZone = targetAvailabilityZone;
_resultValue.targetManagedDiskTags = targetManagedDiskTags;
_resultValue.targetNicTags = targetNicTags;
_resultValue.targetProximityPlacementGroupId = targetProximityPlacementGroupId;
_resultValue.targetVmTags = targetVmTags;
_resultValue.useManagedDisks = useManagedDisks;
_resultValue.vmId = vmId;
_resultValue.vmNics = vmNics;
_resultValue.vmProtectionState = vmProtectionState;
_resultValue.vmProtectionStateDescription = vmProtectionStateDescription;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy