Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.ecs.inputs.SnapshotPolicyState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud 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.alicloud.ecs.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
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;
public final class SnapshotPolicyState extends com.pulumi.resources.ResourceArgs {
public static final SnapshotPolicyState Empty = new SnapshotPolicyState();
@Import(name="copiedSnapshotsRetentionDays")
private @Nullable Output copiedSnapshotsRetentionDays;
public Optional> copiedSnapshotsRetentionDays() {
return Optional.ofNullable(this.copiedSnapshotsRetentionDays);
}
@Import(name="enableCrossRegionCopy")
private @Nullable Output enableCrossRegionCopy;
public Optional> enableCrossRegionCopy() {
return Optional.ofNullable(this.enableCrossRegionCopy);
}
/**
* The snapshot policy name.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The snapshot policy name.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array.
* - A maximum of seven time points can be selected.
* - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).
*
*/
@Import(name="repeatWeekdays")
private @Nullable Output> repeatWeekdays;
/**
* @return The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array.
* - A maximum of seven time points can be selected.
* - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).
*
*/
public Optional>> repeatWeekdays() {
return Optional.ofNullable(this.repeatWeekdays);
}
/**
* The snapshot retention time, and the unit of measurement is day. Optional values:
* - -1: The automatic snapshots are retained permanently.
* - [1, 65536]: The number of days retained.
*
* Default value: -1.
*
*/
@Import(name="retentionDays")
private @Nullable Output retentionDays;
/**
* @return The snapshot retention time, and the unit of measurement is day. Optional values:
* - -1: The automatic snapshots are retained permanently.
* - [1, 65536]: The number of days retained.
*
* Default value: -1.
*
*/
public Optional> retentionDays() {
return Optional.ofNullable(this.retentionDays);
}
@Import(name="status")
private @Nullable Output status;
public Optional> status() {
return Optional.ofNullable(this.status);
}
@Import(name="tags")
private @Nullable Output> tags;
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
@Import(name="targetCopyRegions")
private @Nullable Output> targetCopyRegions;
public Optional>> targetCopyRegions() {
return Optional.ofNullable(this.targetCopyRegions);
}
/**
* The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array.
* - A maximum of 24 time points can be selected.
* - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
*
*/
@Import(name="timePoints")
private @Nullable Output> timePoints;
/**
* @return The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array.
* - A maximum of 24 time points can be selected.
* - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
*
*/
public Optional>> timePoints() {
return Optional.ofNullable(this.timePoints);
}
private SnapshotPolicyState() {}
private SnapshotPolicyState(SnapshotPolicyState $) {
this.copiedSnapshotsRetentionDays = $.copiedSnapshotsRetentionDays;
this.enableCrossRegionCopy = $.enableCrossRegionCopy;
this.name = $.name;
this.repeatWeekdays = $.repeatWeekdays;
this.retentionDays = $.retentionDays;
this.status = $.status;
this.tags = $.tags;
this.targetCopyRegions = $.targetCopyRegions;
this.timePoints = $.timePoints;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SnapshotPolicyState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SnapshotPolicyState $;
public Builder() {
$ = new SnapshotPolicyState();
}
public Builder(SnapshotPolicyState defaults) {
$ = new SnapshotPolicyState(Objects.requireNonNull(defaults));
}
public Builder copiedSnapshotsRetentionDays(@Nullable Output copiedSnapshotsRetentionDays) {
$.copiedSnapshotsRetentionDays = copiedSnapshotsRetentionDays;
return this;
}
public Builder copiedSnapshotsRetentionDays(Integer copiedSnapshotsRetentionDays) {
return copiedSnapshotsRetentionDays(Output.of(copiedSnapshotsRetentionDays));
}
public Builder enableCrossRegionCopy(@Nullable Output enableCrossRegionCopy) {
$.enableCrossRegionCopy = enableCrossRegionCopy;
return this;
}
public Builder enableCrossRegionCopy(Boolean enableCrossRegionCopy) {
return enableCrossRegionCopy(Output.of(enableCrossRegionCopy));
}
/**
* @param name The snapshot policy name.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The snapshot policy name.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param repeatWeekdays The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array.
* - A maximum of seven time points can be selected.
* - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder repeatWeekdays(@Nullable Output> repeatWeekdays) {
$.repeatWeekdays = repeatWeekdays;
return this;
}
/**
* @param repeatWeekdays The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array.
* - A maximum of seven time points can be selected.
* - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder repeatWeekdays(List repeatWeekdays) {
return repeatWeekdays(Output.of(repeatWeekdays));
}
/**
* @param repeatWeekdays The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array.
* - A maximum of seven time points can be selected.
* - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder repeatWeekdays(String... repeatWeekdays) {
return repeatWeekdays(List.of(repeatWeekdays));
}
/**
* @param retentionDays The snapshot retention time, and the unit of measurement is day. Optional values:
* - -1: The automatic snapshots are retained permanently.
* - [1, 65536]: The number of days retained.
*
* Default value: -1.
*
* @return builder
*
*/
public Builder retentionDays(@Nullable Output retentionDays) {
$.retentionDays = retentionDays;
return this;
}
/**
* @param retentionDays The snapshot retention time, and the unit of measurement is day. Optional values:
* - -1: The automatic snapshots are retained permanently.
* - [1, 65536]: The number of days retained.
*
* Default value: -1.
*
* @return builder
*
*/
public Builder retentionDays(Integer retentionDays) {
return retentionDays(Output.of(retentionDays));
}
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
public Builder status(String status) {
return status(Output.of(status));
}
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public Builder targetCopyRegions(@Nullable Output> targetCopyRegions) {
$.targetCopyRegions = targetCopyRegions;
return this;
}
public Builder targetCopyRegions(List targetCopyRegions) {
return targetCopyRegions(Output.of(targetCopyRegions));
}
public Builder targetCopyRegions(String... targetCopyRegions) {
return targetCopyRegions(List.of(targetCopyRegions));
}
/**
* @param timePoints The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array.
* - A maximum of 24 time points can be selected.
* - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder timePoints(@Nullable Output> timePoints) {
$.timePoints = timePoints;
return this;
}
/**
* @param timePoints The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array.
* - A maximum of 24 time points can be selected.
* - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder timePoints(List timePoints) {
return timePoints(Output.of(timePoints));
}
/**
* @param timePoints The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array.
* - A maximum of 24 time points can be selected.
* - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
*
* @return builder
*
*/
public Builder timePoints(String... timePoints) {
return timePoints(List.of(timePoints));
}
public SnapshotPolicyState build() {
return $;
}
}
}