com.pulumi.azurenative.recoveryservices.outputs.HyperVReplicaAzurePolicyDetailsResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class HyperVReplicaAzurePolicyDetailsResponse {
/**
* @return The active storage account Id.
*
*/
private @Nullable String activeStorageAccountId;
/**
* @return The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.
*
*/
private @Nullable Integer applicationConsistentSnapshotFrequencyInHours;
/**
* @return A value indicating whether encryption is enabled for virtual machines in this cloud.
*
*/
private @Nullable String encryption;
/**
* @return Gets the class type. Overridden in derived classes.
* Expected value is 'HyperVReplicaAzure'.
*
*/
private String instanceType;
/**
* @return The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.
*
*/
private @Nullable String onlineReplicationStartTime;
/**
* @return The duration (in hours) to which point the recovery history needs to be maintained.
*
*/
private @Nullable Integer recoveryPointHistoryDurationInHours;
/**
* @return The replication interval.
*
*/
private @Nullable Integer replicationInterval;
private HyperVReplicaAzurePolicyDetailsResponse() {}
/**
* @return The active storage account Id.
*
*/
public Optional activeStorageAccountId() {
return Optional.ofNullable(this.activeStorageAccountId);
}
/**
* @return The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.
*
*/
public Optional applicationConsistentSnapshotFrequencyInHours() {
return Optional.ofNullable(this.applicationConsistentSnapshotFrequencyInHours);
}
/**
* @return A value indicating whether encryption is enabled for virtual machines in this cloud.
*
*/
public Optional encryption() {
return Optional.ofNullable(this.encryption);
}
/**
* @return Gets the class type. Overridden in derived classes.
* Expected value is 'HyperVReplicaAzure'.
*
*/
public String instanceType() {
return this.instanceType;
}
/**
* @return The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.
*
*/
public Optional onlineReplicationStartTime() {
return Optional.ofNullable(this.onlineReplicationStartTime);
}
/**
* @return The duration (in hours) to which point the recovery history needs to be maintained.
*
*/
public Optional recoveryPointHistoryDurationInHours() {
return Optional.ofNullable(this.recoveryPointHistoryDurationInHours);
}
/**
* @return The replication interval.
*
*/
public Optional replicationInterval() {
return Optional.ofNullable(this.replicationInterval);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(HyperVReplicaAzurePolicyDetailsResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String activeStorageAccountId;
private @Nullable Integer applicationConsistentSnapshotFrequencyInHours;
private @Nullable String encryption;
private String instanceType;
private @Nullable String onlineReplicationStartTime;
private @Nullable Integer recoveryPointHistoryDurationInHours;
private @Nullable Integer replicationInterval;
public Builder() {}
public Builder(HyperVReplicaAzurePolicyDetailsResponse defaults) {
Objects.requireNonNull(defaults);
this.activeStorageAccountId = defaults.activeStorageAccountId;
this.applicationConsistentSnapshotFrequencyInHours = defaults.applicationConsistentSnapshotFrequencyInHours;
this.encryption = defaults.encryption;
this.instanceType = defaults.instanceType;
this.onlineReplicationStartTime = defaults.onlineReplicationStartTime;
this.recoveryPointHistoryDurationInHours = defaults.recoveryPointHistoryDurationInHours;
this.replicationInterval = defaults.replicationInterval;
}
@CustomType.Setter
public Builder activeStorageAccountId(@Nullable String activeStorageAccountId) {
this.activeStorageAccountId = activeStorageAccountId;
return this;
}
@CustomType.Setter
public Builder applicationConsistentSnapshotFrequencyInHours(@Nullable Integer applicationConsistentSnapshotFrequencyInHours) {
this.applicationConsistentSnapshotFrequencyInHours = applicationConsistentSnapshotFrequencyInHours;
return this;
}
@CustomType.Setter
public Builder encryption(@Nullable String encryption) {
this.encryption = encryption;
return this;
}
@CustomType.Setter
public Builder instanceType(String instanceType) {
if (instanceType == null) {
throw new MissingRequiredPropertyException("HyperVReplicaAzurePolicyDetailsResponse", "instanceType");
}
this.instanceType = instanceType;
return this;
}
@CustomType.Setter
public Builder onlineReplicationStartTime(@Nullable String onlineReplicationStartTime) {
this.onlineReplicationStartTime = onlineReplicationStartTime;
return this;
}
@CustomType.Setter
public Builder recoveryPointHistoryDurationInHours(@Nullable Integer recoveryPointHistoryDurationInHours) {
this.recoveryPointHistoryDurationInHours = recoveryPointHistoryDurationInHours;
return this;
}
@CustomType.Setter
public Builder replicationInterval(@Nullable Integer replicationInterval) {
this.replicationInterval = replicationInterval;
return this;
}
public HyperVReplicaAzurePolicyDetailsResponse build() {
final var _resultValue = new HyperVReplicaAzurePolicyDetailsResponse();
_resultValue.activeStorageAccountId = activeStorageAccountId;
_resultValue.applicationConsistentSnapshotFrequencyInHours = applicationConsistentSnapshotFrequencyInHours;
_resultValue.encryption = encryption;
_resultValue.instanceType = instanceType;
_resultValue.onlineReplicationStartTime = onlineReplicationStartTime;
_resultValue.recoveryPointHistoryDurationInHours = recoveryPointHistoryDurationInHours;
_resultValue.replicationInterval = replicationInterval;
return _resultValue;
}
}
}