com.pulumi.azurenative.netapp.outputs.GetSnapshotPolicyResult 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.netapp.outputs;
import com.pulumi.azurenative.netapp.outputs.DailyScheduleResponse;
import com.pulumi.azurenative.netapp.outputs.HourlyScheduleResponse;
import com.pulumi.azurenative.netapp.outputs.MonthlyScheduleResponse;
import com.pulumi.azurenative.netapp.outputs.SystemDataResponse;
import com.pulumi.azurenative.netapp.outputs.WeeklyScheduleResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class GetSnapshotPolicyResult {
/**
* @return Schedule for daily snapshots
*
*/
private @Nullable DailyScheduleResponse dailySchedule;
/**
* @return The property to decide policy is enabled or not
*
*/
private @Nullable Boolean enabled;
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
private String etag;
/**
* @return Schedule for hourly snapshots
*
*/
private @Nullable HourlyScheduleResponse hourlySchedule;
/**
* @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
*
*/
private String id;
/**
* @return The geo-location where the resource lives
*
*/
private String location;
/**
* @return Schedule for monthly snapshots
*
*/
private @Nullable MonthlyScheduleResponse monthlySchedule;
/**
* @return The name of the resource
*
*/
private String name;
/**
* @return Azure lifecycle management
*
*/
private String provisioningState;
/**
* @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
private SystemDataResponse systemData;
/**
* @return Resource tags.
*
*/
private @Nullable Map tags;
/**
* @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
private String type;
/**
* @return Schedule for weekly snapshots
*
*/
private @Nullable WeeklyScheduleResponse weeklySchedule;
private GetSnapshotPolicyResult() {}
/**
* @return Schedule for daily snapshots
*
*/
public Optional dailySchedule() {
return Optional.ofNullable(this.dailySchedule);
}
/**
* @return The property to decide policy is enabled or not
*
*/
public Optional enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
public String etag() {
return this.etag;
}
/**
* @return Schedule for hourly snapshots
*
*/
public Optional hourlySchedule() {
return Optional.ofNullable(this.hourlySchedule);
}
/**
* @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
*
*/
public String id() {
return this.id;
}
/**
* @return The geo-location where the resource lives
*
*/
public String location() {
return this.location;
}
/**
* @return Schedule for monthly snapshots
*
*/
public Optional monthlySchedule() {
return Optional.ofNullable(this.monthlySchedule);
}
/**
* @return The name of the resource
*
*/
public String name() {
return this.name;
}
/**
* @return Azure lifecycle management
*
*/
public String provisioningState() {
return this.provisioningState;
}
/**
* @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
public SystemDataResponse systemData() {
return this.systemData;
}
/**
* @return Resource tags.
*
*/
public Map tags() {
return this.tags == null ? Map.of() : this.tags;
}
/**
* @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
public String type() {
return this.type;
}
/**
* @return Schedule for weekly snapshots
*
*/
public Optional weeklySchedule() {
return Optional.ofNullable(this.weeklySchedule);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetSnapshotPolicyResult defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable DailyScheduleResponse dailySchedule;
private @Nullable Boolean enabled;
private String etag;
private @Nullable HourlyScheduleResponse hourlySchedule;
private String id;
private String location;
private @Nullable MonthlyScheduleResponse monthlySchedule;
private String name;
private String provisioningState;
private SystemDataResponse systemData;
private @Nullable Map tags;
private String type;
private @Nullable WeeklyScheduleResponse weeklySchedule;
public Builder() {}
public Builder(GetSnapshotPolicyResult defaults) {
Objects.requireNonNull(defaults);
this.dailySchedule = defaults.dailySchedule;
this.enabled = defaults.enabled;
this.etag = defaults.etag;
this.hourlySchedule = defaults.hourlySchedule;
this.id = defaults.id;
this.location = defaults.location;
this.monthlySchedule = defaults.monthlySchedule;
this.name = defaults.name;
this.provisioningState = defaults.provisioningState;
this.systemData = defaults.systemData;
this.tags = defaults.tags;
this.type = defaults.type;
this.weeklySchedule = defaults.weeklySchedule;
}
@CustomType.Setter
public Builder dailySchedule(@Nullable DailyScheduleResponse dailySchedule) {
this.dailySchedule = dailySchedule;
return this;
}
@CustomType.Setter
public Builder enabled(@Nullable Boolean enabled) {
this.enabled = enabled;
return this;
}
@CustomType.Setter
public Builder etag(String etag) {
if (etag == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "etag");
}
this.etag = etag;
return this;
}
@CustomType.Setter
public Builder hourlySchedule(@Nullable HourlyScheduleResponse hourlySchedule) {
this.hourlySchedule = hourlySchedule;
return this;
}
@CustomType.Setter
public Builder id(String id) {
if (id == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "id");
}
this.id = id;
return this;
}
@CustomType.Setter
public Builder location(String location) {
if (location == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "location");
}
this.location = location;
return this;
}
@CustomType.Setter
public Builder monthlySchedule(@Nullable MonthlyScheduleResponse monthlySchedule) {
this.monthlySchedule = monthlySchedule;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder provisioningState(String provisioningState) {
if (provisioningState == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "provisioningState");
}
this.provisioningState = provisioningState;
return this;
}
@CustomType.Setter
public Builder systemData(SystemDataResponse systemData) {
if (systemData == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "systemData");
}
this.systemData = systemData;
return this;
}
@CustomType.Setter
public Builder tags(@Nullable Map tags) {
this.tags = tags;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("GetSnapshotPolicyResult", "type");
}
this.type = type;
return this;
}
@CustomType.Setter
public Builder weeklySchedule(@Nullable WeeklyScheduleResponse weeklySchedule) {
this.weeklySchedule = weeklySchedule;
return this;
}
public GetSnapshotPolicyResult build() {
final var _resultValue = new GetSnapshotPolicyResult();
_resultValue.dailySchedule = dailySchedule;
_resultValue.enabled = enabled;
_resultValue.etag = etag;
_resultValue.hourlySchedule = hourlySchedule;
_resultValue.id = id;
_resultValue.location = location;
_resultValue.monthlySchedule = monthlySchedule;
_resultValue.name = name;
_resultValue.provisioningState = provisioningState;
_resultValue.systemData = systemData;
_resultValue.tags = tags;
_resultValue.type = type;
_resultValue.weeklySchedule = weeklySchedule;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy