software.amazon.awscdk.services.dlm.CfnLifecyclePolicy Maven / Gradle / Ivy
Show all versions of dlm Show documentation
package software.amazon.awscdk.services.dlm;
/**
* A CloudFormation `AWS::DLM::LifecyclePolicy`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.7.0 (build 179a3a5)", date = "2020-07-01T08:46:25.781Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy")
public class CfnLifecyclePolicy extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable {
protected CfnLifecyclePolicy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnLifecyclePolicy(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class);
}
/**
* Create a new `AWS::DLM::LifecyclePolicy`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
* @param props - resource properties.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CfnLifecyclePolicy(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.dlm.CfnLifecyclePolicyProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
}
/**
* Create a new `AWS::DLM::LifecyclePolicy`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CfnLifecyclePolicy(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
}
/**
* A factory method that creates a new instance of this class from an object containing the CloudFormation properties of this resource.
*
* Used in the @aws-cdk/cloudformation-include module.
*
* EXPERIMENTAL
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param resourceAttributes This parameter is required.
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.dlm.CfnLifecyclePolicy fromCloudFormation(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull java.lang.Object resourceAttributes, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.FromCloudFormationOptions options) {
return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.class, "fromCloudFormation", software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.class, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), resourceAttributes, java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* EXPERIMENTAL
*
* @param inspector - tree inspector to collect and process attributes. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void inspect(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TreeInspector inspector) {
this.jsiiCall("inspect", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") });
}
/**
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) {
return java.util.Collections.unmodifiableMap(this.jsiiCall("renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") }));
}
/**
* The CloudFormation resource type name for this resource class.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static java.lang.String CFN_RESOURCE_TYPE_NAME;
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrArn() {
return this.jsiiGet("attrArn", java.lang.String.class);
}
/**
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
protected @org.jetbrains.annotations.NotNull java.util.Map getCfnProperties() {
return java.util.Collections.unmodifiableMap(this.jsiiGet("cfnProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
/**
* `AWS::DLM::LifecyclePolicy.Description`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getDescription() {
return this.jsiiGet("description", java.lang.String.class);
}
/**
* `AWS::DLM::LifecyclePolicy.Description`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setDescription(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("description", value);
}
/**
* `AWS::DLM::LifecyclePolicy.ExecutionRoleArn`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getExecutionRoleArn() {
return this.jsiiGet("executionRoleArn", java.lang.String.class);
}
/**
* `AWS::DLM::LifecyclePolicy.ExecutionRoleArn`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setExecutionRoleArn(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("executionRoleArn", value);
}
/**
* `AWS::DLM::LifecyclePolicy.PolicyDetails`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.Object getPolicyDetails() {
return this.jsiiGet("policyDetails", java.lang.Object.class);
}
/**
* `AWS::DLM::LifecyclePolicy.PolicyDetails`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setPolicyDetails(final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.PolicyDetailsProperty value) {
this.jsiiSet("policyDetails", value);
}
/**
* `AWS::DLM::LifecyclePolicy.PolicyDetails`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setPolicyDetails(final @org.jetbrains.annotations.Nullable software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("policyDetails", value);
}
/**
* `AWS::DLM::LifecyclePolicy.State`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable java.lang.String getState() {
return this.jsiiGet("state", java.lang.String.class);
}
/**
* `AWS::DLM::LifecyclePolicy.State`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setState(final @org.jetbrains.annotations.Nullable java.lang.String value) {
this.jsiiSet("state", value);
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.CreateRuleProperty")
@software.amazon.jsii.Jsii.Proxy(CreateRuleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface CreateRuleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.CreateRuleProperty.CronExpression`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-cronexpression
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getCronExpression() {
return null;
}
/**
* `CfnLifecyclePolicy.CreateRuleProperty.Interval`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-interval
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getInterval() {
return null;
}
/**
* `CfnLifecyclePolicy.CreateRuleProperty.IntervalUnit`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-intervalunit
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getIntervalUnit() {
return null;
}
/**
* `CfnLifecyclePolicy.CreateRuleProperty.Times`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-times
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getTimes() {
return null;
}
/**
* @return a {@link Builder} of {@link CreateRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CreateRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.String cronExpression;
private java.lang.Number interval;
private java.lang.String intervalUnit;
private java.util.List times;
/**
* Sets the value of {@link CreateRuleProperty#getCronExpression}
* @param cronExpression `CfnLifecyclePolicy.CreateRuleProperty.CronExpression`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cronExpression(java.lang.String cronExpression) {
this.cronExpression = cronExpression;
return this;
}
/**
* Sets the value of {@link CreateRuleProperty#getInterval}
* @param interval `CfnLifecyclePolicy.CreateRuleProperty.Interval`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder interval(java.lang.Number interval) {
this.interval = interval;
return this;
}
/**
* Sets the value of {@link CreateRuleProperty#getIntervalUnit}
* @param intervalUnit `CfnLifecyclePolicy.CreateRuleProperty.IntervalUnit`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder intervalUnit(java.lang.String intervalUnit) {
this.intervalUnit = intervalUnit;
return this;
}
/**
* Sets the value of {@link CreateRuleProperty#getTimes}
* @param times `CfnLifecyclePolicy.CreateRuleProperty.Times`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder times(java.util.List times) {
this.times = times;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CreateRuleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CreateRuleProperty build() {
return new Jsii$Proxy(cronExpression, interval, intervalUnit, times);
}
}
/**
* An implementation for {@link CreateRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CreateRuleProperty {
private final java.lang.String cronExpression;
private final java.lang.Number interval;
private final java.lang.String intervalUnit;
private final java.util.List times;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.cronExpression = this.jsiiGet("cronExpression", java.lang.String.class);
this.interval = this.jsiiGet("interval", java.lang.Number.class);
this.intervalUnit = this.jsiiGet("intervalUnit", java.lang.String.class);
this.times = this.jsiiGet("times", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String cronExpression, final java.lang.Number interval, final java.lang.String intervalUnit, final java.util.List times) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.cronExpression = cronExpression;
this.interval = interval;
this.intervalUnit = intervalUnit;
this.times = times;
}
@Override
public java.lang.String getCronExpression() {
return this.cronExpression;
}
@Override
public java.lang.Number getInterval() {
return this.interval;
}
@Override
public java.lang.String getIntervalUnit() {
return this.intervalUnit;
}
@Override
public java.util.List getTimes() {
return this.times;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getCronExpression() != null) {
data.set("cronExpression", om.valueToTree(this.getCronExpression()));
}
if (this.getInterval() != null) {
data.set("interval", om.valueToTree(this.getInterval()));
}
if (this.getIntervalUnit() != null) {
data.set("intervalUnit", om.valueToTree(this.getIntervalUnit()));
}
if (this.getTimes() != null) {
data.set("times", om.valueToTree(this.getTimes()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.CreateRuleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CreateRuleProperty.Jsii$Proxy that = (CreateRuleProperty.Jsii$Proxy) o;
if (this.cronExpression != null ? !this.cronExpression.equals(that.cronExpression) : that.cronExpression != null) return false;
if (this.interval != null ? !this.interval.equals(that.interval) : that.interval != null) return false;
if (this.intervalUnit != null ? !this.intervalUnit.equals(that.intervalUnit) : that.intervalUnit != null) return false;
return this.times != null ? this.times.equals(that.times) : that.times == null;
}
@Override
public int hashCode() {
int result = this.cronExpression != null ? this.cronExpression.hashCode() : 0;
result = 31 * result + (this.interval != null ? this.interval.hashCode() : 0);
result = 31 * result + (this.intervalUnit != null ? this.intervalUnit.hashCode() : 0);
result = 31 * result + (this.times != null ? this.times.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty")
@software.amazon.jsii.Jsii.Proxy(CrossRegionCopyRetainRuleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface CrossRegionCopyRetainRuleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty.Interval`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Number getInterval();
/**
* `CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty.IntervalUnit`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getIntervalUnit();
/**
* @return a {@link Builder} of {@link CrossRegionCopyRetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CrossRegionCopyRetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Number interval;
private java.lang.String intervalUnit;
/**
* Sets the value of {@link CrossRegionCopyRetainRuleProperty#getInterval}
* @param interval `CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty.Interval`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder interval(java.lang.Number interval) {
this.interval = interval;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRetainRuleProperty#getIntervalUnit}
* @param intervalUnit `CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty.IntervalUnit`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder intervalUnit(java.lang.String intervalUnit) {
this.intervalUnit = intervalUnit;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CrossRegionCopyRetainRuleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CrossRegionCopyRetainRuleProperty build() {
return new Jsii$Proxy(interval, intervalUnit);
}
}
/**
* An implementation for {@link CrossRegionCopyRetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CrossRegionCopyRetainRuleProperty {
private final java.lang.Number interval;
private final java.lang.String intervalUnit;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.interval = this.jsiiGet("interval", java.lang.Number.class);
this.intervalUnit = this.jsiiGet("intervalUnit", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.Number interval, final java.lang.String intervalUnit) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.interval = java.util.Objects.requireNonNull(interval, "interval is required");
this.intervalUnit = java.util.Objects.requireNonNull(intervalUnit, "intervalUnit is required");
}
@Override
public java.lang.Number getInterval() {
return this.interval;
}
@Override
public java.lang.String getIntervalUnit() {
return this.intervalUnit;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("interval", om.valueToTree(this.getInterval()));
data.set("intervalUnit", om.valueToTree(this.getIntervalUnit()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CrossRegionCopyRetainRuleProperty.Jsii$Proxy that = (CrossRegionCopyRetainRuleProperty.Jsii$Proxy) o;
if (!interval.equals(that.interval)) return false;
return this.intervalUnit.equals(that.intervalUnit);
}
@Override
public int hashCode() {
int result = this.interval.hashCode();
result = 31 * result + (this.intervalUnit.hashCode());
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.CrossRegionCopyRuleProperty")
@software.amazon.jsii.Jsii.Proxy(CrossRegionCopyRuleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface CrossRegionCopyRuleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.Encrypted`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getEncrypted();
/**
* `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.TargetRegion`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getTargetRegion();
/**
* `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.CmkArn`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-cmkarn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getCmkArn() {
return null;
}
/**
* `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.CopyTags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getCopyTags() {
return null;
}
/**
* `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.RetainRule`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getRetainRule() {
return null;
}
/**
* @return a {@link Builder} of {@link CrossRegionCopyRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CrossRegionCopyRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Object encrypted;
private java.lang.String targetRegion;
private java.lang.String cmkArn;
private java.lang.Object copyTags;
private java.lang.Object retainRule;
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getEncrypted}
* @param encrypted `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.Encrypted`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder encrypted(java.lang.Boolean encrypted) {
this.encrypted = encrypted;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getEncrypted}
* @param encrypted `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.Encrypted`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder encrypted(software.amazon.awscdk.core.IResolvable encrypted) {
this.encrypted = encrypted;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getTargetRegion}
* @param targetRegion `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.TargetRegion`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder targetRegion(java.lang.String targetRegion) {
this.targetRegion = targetRegion;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getCmkArn}
* @param cmkArn `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.CmkArn`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cmkArn(java.lang.String cmkArn) {
this.cmkArn = cmkArn;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getCopyTags}
* @param copyTags `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.CopyTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder copyTags(java.lang.Boolean copyTags) {
this.copyTags = copyTags;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getCopyTags}
* @param copyTags `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.CopyTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder copyTags(software.amazon.awscdk.core.IResolvable copyTags) {
this.copyTags = copyTags;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getRetainRule}
* @param retainRule `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.RetainRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder retainRule(software.amazon.awscdk.core.IResolvable retainRule) {
this.retainRule = retainRule;
return this;
}
/**
* Sets the value of {@link CrossRegionCopyRuleProperty#getRetainRule}
* @param retainRule `CfnLifecyclePolicy.CrossRegionCopyRuleProperty.RetainRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder retainRule(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.CrossRegionCopyRetainRuleProperty retainRule) {
this.retainRule = retainRule;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CrossRegionCopyRuleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CrossRegionCopyRuleProperty build() {
return new Jsii$Proxy(encrypted, targetRegion, cmkArn, copyTags, retainRule);
}
}
/**
* An implementation for {@link CrossRegionCopyRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CrossRegionCopyRuleProperty {
private final java.lang.Object encrypted;
private final java.lang.String targetRegion;
private final java.lang.String cmkArn;
private final java.lang.Object copyTags;
private final java.lang.Object retainRule;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.encrypted = this.jsiiGet("encrypted", java.lang.Object.class);
this.targetRegion = this.jsiiGet("targetRegion", java.lang.String.class);
this.cmkArn = this.jsiiGet("cmkArn", java.lang.String.class);
this.copyTags = this.jsiiGet("copyTags", java.lang.Object.class);
this.retainRule = this.jsiiGet("retainRule", java.lang.Object.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.Object encrypted, final java.lang.String targetRegion, final java.lang.String cmkArn, final java.lang.Object copyTags, final java.lang.Object retainRule) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.encrypted = java.util.Objects.requireNonNull(encrypted, "encrypted is required");
this.targetRegion = java.util.Objects.requireNonNull(targetRegion, "targetRegion is required");
this.cmkArn = cmkArn;
this.copyTags = copyTags;
this.retainRule = retainRule;
}
@Override
public java.lang.Object getEncrypted() {
return this.encrypted;
}
@Override
public java.lang.String getTargetRegion() {
return this.targetRegion;
}
@Override
public java.lang.String getCmkArn() {
return this.cmkArn;
}
@Override
public java.lang.Object getCopyTags() {
return this.copyTags;
}
@Override
public java.lang.Object getRetainRule() {
return this.retainRule;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("encrypted", om.valueToTree(this.getEncrypted()));
data.set("targetRegion", om.valueToTree(this.getTargetRegion()));
if (this.getCmkArn() != null) {
data.set("cmkArn", om.valueToTree(this.getCmkArn()));
}
if (this.getCopyTags() != null) {
data.set("copyTags", om.valueToTree(this.getCopyTags()));
}
if (this.getRetainRule() != null) {
data.set("retainRule", om.valueToTree(this.getRetainRule()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.CrossRegionCopyRuleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CrossRegionCopyRuleProperty.Jsii$Proxy that = (CrossRegionCopyRuleProperty.Jsii$Proxy) o;
if (!encrypted.equals(that.encrypted)) return false;
if (!targetRegion.equals(that.targetRegion)) return false;
if (this.cmkArn != null ? !this.cmkArn.equals(that.cmkArn) : that.cmkArn != null) return false;
if (this.copyTags != null ? !this.copyTags.equals(that.copyTags) : that.copyTags != null) return false;
return this.retainRule != null ? this.retainRule.equals(that.retainRule) : that.retainRule == null;
}
@Override
public int hashCode() {
int result = this.encrypted.hashCode();
result = 31 * result + (this.targetRegion.hashCode());
result = 31 * result + (this.cmkArn != null ? this.cmkArn.hashCode() : 0);
result = 31 * result + (this.copyTags != null ? this.copyTags.hashCode() : 0);
result = 31 * result + (this.retainRule != null ? this.retainRule.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.FastRestoreRuleProperty")
@software.amazon.jsii.Jsii.Proxy(FastRestoreRuleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface FastRestoreRuleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.FastRestoreRuleProperty.AvailabilityZones`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-availabilityzones
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getAvailabilityZones() {
return null;
}
/**
* `CfnLifecyclePolicy.FastRestoreRuleProperty.Count`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-count
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getCount() {
return null;
}
/**
* `CfnLifecyclePolicy.FastRestoreRuleProperty.Interval`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-interval
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getInterval() {
return null;
}
/**
* `CfnLifecyclePolicy.FastRestoreRuleProperty.IntervalUnit`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-intervalunit
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getIntervalUnit() {
return null;
}
/**
* @return a {@link Builder} of {@link FastRestoreRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link FastRestoreRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.util.List availabilityZones;
private java.lang.Number count;
private java.lang.Number interval;
private java.lang.String intervalUnit;
/**
* Sets the value of {@link FastRestoreRuleProperty#getAvailabilityZones}
* @param availabilityZones `CfnLifecyclePolicy.FastRestoreRuleProperty.AvailabilityZones`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder availabilityZones(java.util.List availabilityZones) {
this.availabilityZones = availabilityZones;
return this;
}
/**
* Sets the value of {@link FastRestoreRuleProperty#getCount}
* @param count `CfnLifecyclePolicy.FastRestoreRuleProperty.Count`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder count(java.lang.Number count) {
this.count = count;
return this;
}
/**
* Sets the value of {@link FastRestoreRuleProperty#getInterval}
* @param interval `CfnLifecyclePolicy.FastRestoreRuleProperty.Interval`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder interval(java.lang.Number interval) {
this.interval = interval;
return this;
}
/**
* Sets the value of {@link FastRestoreRuleProperty#getIntervalUnit}
* @param intervalUnit `CfnLifecyclePolicy.FastRestoreRuleProperty.IntervalUnit`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder intervalUnit(java.lang.String intervalUnit) {
this.intervalUnit = intervalUnit;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link FastRestoreRuleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public FastRestoreRuleProperty build() {
return new Jsii$Proxy(availabilityZones, count, interval, intervalUnit);
}
}
/**
* An implementation for {@link FastRestoreRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements FastRestoreRuleProperty {
private final java.util.List availabilityZones;
private final java.lang.Number count;
private final java.lang.Number interval;
private final java.lang.String intervalUnit;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.availabilityZones = this.jsiiGet("availabilityZones", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.count = this.jsiiGet("count", java.lang.Number.class);
this.interval = this.jsiiGet("interval", java.lang.Number.class);
this.intervalUnit = this.jsiiGet("intervalUnit", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.util.List availabilityZones, final java.lang.Number count, final java.lang.Number interval, final java.lang.String intervalUnit) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.availabilityZones = availabilityZones;
this.count = count;
this.interval = interval;
this.intervalUnit = intervalUnit;
}
@Override
public java.util.List getAvailabilityZones() {
return this.availabilityZones;
}
@Override
public java.lang.Number getCount() {
return this.count;
}
@Override
public java.lang.Number getInterval() {
return this.interval;
}
@Override
public java.lang.String getIntervalUnit() {
return this.intervalUnit;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getAvailabilityZones() != null) {
data.set("availabilityZones", om.valueToTree(this.getAvailabilityZones()));
}
if (this.getCount() != null) {
data.set("count", om.valueToTree(this.getCount()));
}
if (this.getInterval() != null) {
data.set("interval", om.valueToTree(this.getInterval()));
}
if (this.getIntervalUnit() != null) {
data.set("intervalUnit", om.valueToTree(this.getIntervalUnit()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.FastRestoreRuleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FastRestoreRuleProperty.Jsii$Proxy that = (FastRestoreRuleProperty.Jsii$Proxy) o;
if (this.availabilityZones != null ? !this.availabilityZones.equals(that.availabilityZones) : that.availabilityZones != null) return false;
if (this.count != null ? !this.count.equals(that.count) : that.count != null) return false;
if (this.interval != null ? !this.interval.equals(that.interval) : that.interval != null) return false;
return this.intervalUnit != null ? this.intervalUnit.equals(that.intervalUnit) : that.intervalUnit == null;
}
@Override
public int hashCode() {
int result = this.availabilityZones != null ? this.availabilityZones.hashCode() : 0;
result = 31 * result + (this.count != null ? this.count.hashCode() : 0);
result = 31 * result + (this.interval != null ? this.interval.hashCode() : 0);
result = 31 * result + (this.intervalUnit != null ? this.intervalUnit.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.ParametersProperty")
@software.amazon.jsii.Jsii.Proxy(ParametersProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface ParametersProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.ParametersProperty.ExcludeBootVolume`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludebootvolume
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getExcludeBootVolume() {
return null;
}
/**
* @return a {@link Builder} of {@link ParametersProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ParametersProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Object excludeBootVolume;
/**
* Sets the value of {@link ParametersProperty#getExcludeBootVolume}
* @param excludeBootVolume `CfnLifecyclePolicy.ParametersProperty.ExcludeBootVolume`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder excludeBootVolume(java.lang.Boolean excludeBootVolume) {
this.excludeBootVolume = excludeBootVolume;
return this;
}
/**
* Sets the value of {@link ParametersProperty#getExcludeBootVolume}
* @param excludeBootVolume `CfnLifecyclePolicy.ParametersProperty.ExcludeBootVolume`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder excludeBootVolume(software.amazon.awscdk.core.IResolvable excludeBootVolume) {
this.excludeBootVolume = excludeBootVolume;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ParametersProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public ParametersProperty build() {
return new Jsii$Proxy(excludeBootVolume);
}
}
/**
* An implementation for {@link ParametersProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ParametersProperty {
private final java.lang.Object excludeBootVolume;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.excludeBootVolume = this.jsiiGet("excludeBootVolume", java.lang.Object.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.Object excludeBootVolume) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.excludeBootVolume = excludeBootVolume;
}
@Override
public java.lang.Object getExcludeBootVolume() {
return this.excludeBootVolume;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getExcludeBootVolume() != null) {
data.set("excludeBootVolume", om.valueToTree(this.getExcludeBootVolume()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.ParametersProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ParametersProperty.Jsii$Proxy that = (ParametersProperty.Jsii$Proxy) o;
return this.excludeBootVolume != null ? this.excludeBootVolume.equals(that.excludeBootVolume) : that.excludeBootVolume == null;
}
@Override
public int hashCode() {
int result = this.excludeBootVolume != null ? this.excludeBootVolume.hashCode() : 0;
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.PolicyDetailsProperty")
@software.amazon.jsii.Jsii.Proxy(PolicyDetailsProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface PolicyDetailsProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.PolicyDetailsProperty.ResourceTypes`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.util.List getResourceTypes();
/**
* `CfnLifecyclePolicy.PolicyDetailsProperty.Schedules`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getSchedules();
/**
* `CfnLifecyclePolicy.PolicyDetailsProperty.TargetTags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-targettags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getTargetTags();
/**
* `CfnLifecyclePolicy.PolicyDetailsProperty.Parameters`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getParameters() {
return null;
}
/**
* `CfnLifecyclePolicy.PolicyDetailsProperty.PolicyType`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getPolicyType() {
return null;
}
/**
* @return a {@link Builder} of {@link PolicyDetailsProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link PolicyDetailsProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.util.List resourceTypes;
private java.lang.Object schedules;
private java.lang.Object targetTags;
private java.lang.Object parameters;
private java.lang.String policyType;
/**
* Sets the value of {@link PolicyDetailsProperty#getResourceTypes}
* @param resourceTypes `CfnLifecyclePolicy.PolicyDetailsProperty.ResourceTypes`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder resourceTypes(java.util.List resourceTypes) {
this.resourceTypes = resourceTypes;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getSchedules}
* @param schedules `CfnLifecyclePolicy.PolicyDetailsProperty.Schedules`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder schedules(software.amazon.awscdk.core.IResolvable schedules) {
this.schedules = schedules;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getSchedules}
* @param schedules `CfnLifecyclePolicy.PolicyDetailsProperty.Schedules`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder schedules(java.util.List schedules) {
this.schedules = schedules;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getTargetTags}
* @param targetTags `CfnLifecyclePolicy.PolicyDetailsProperty.TargetTags`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder targetTags(software.amazon.awscdk.core.IResolvable targetTags) {
this.targetTags = targetTags;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getTargetTags}
* @param targetTags `CfnLifecyclePolicy.PolicyDetailsProperty.TargetTags`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder targetTags(java.util.List targetTags) {
this.targetTags = targetTags;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getParameters}
* @param parameters `CfnLifecyclePolicy.PolicyDetailsProperty.Parameters`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder parameters(software.amazon.awscdk.core.IResolvable parameters) {
this.parameters = parameters;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getParameters}
* @param parameters `CfnLifecyclePolicy.PolicyDetailsProperty.Parameters`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder parameters(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.ParametersProperty parameters) {
this.parameters = parameters;
return this;
}
/**
* Sets the value of {@link PolicyDetailsProperty#getPolicyType}
* @param policyType `CfnLifecyclePolicy.PolicyDetailsProperty.PolicyType`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder policyType(java.lang.String policyType) {
this.policyType = policyType;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link PolicyDetailsProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public PolicyDetailsProperty build() {
return new Jsii$Proxy(resourceTypes, schedules, targetTags, parameters, policyType);
}
}
/**
* An implementation for {@link PolicyDetailsProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PolicyDetailsProperty {
private final java.util.List resourceTypes;
private final java.lang.Object schedules;
private final java.lang.Object targetTags;
private final java.lang.Object parameters;
private final java.lang.String policyType;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.resourceTypes = this.jsiiGet("resourceTypes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.schedules = this.jsiiGet("schedules", java.lang.Object.class);
this.targetTags = this.jsiiGet("targetTags", java.lang.Object.class);
this.parameters = this.jsiiGet("parameters", java.lang.Object.class);
this.policyType = this.jsiiGet("policyType", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.util.List resourceTypes, final java.lang.Object schedules, final java.lang.Object targetTags, final java.lang.Object parameters, final java.lang.String policyType) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.resourceTypes = java.util.Objects.requireNonNull(resourceTypes, "resourceTypes is required");
this.schedules = java.util.Objects.requireNonNull(schedules, "schedules is required");
this.targetTags = java.util.Objects.requireNonNull(targetTags, "targetTags is required");
this.parameters = parameters;
this.policyType = policyType;
}
@Override
public java.util.List getResourceTypes() {
return this.resourceTypes;
}
@Override
public java.lang.Object getSchedules() {
return this.schedules;
}
@Override
public java.lang.Object getTargetTags() {
return this.targetTags;
}
@Override
public java.lang.Object getParameters() {
return this.parameters;
}
@Override
public java.lang.String getPolicyType() {
return this.policyType;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("resourceTypes", om.valueToTree(this.getResourceTypes()));
data.set("schedules", om.valueToTree(this.getSchedules()));
data.set("targetTags", om.valueToTree(this.getTargetTags()));
if (this.getParameters() != null) {
data.set("parameters", om.valueToTree(this.getParameters()));
}
if (this.getPolicyType() != null) {
data.set("policyType", om.valueToTree(this.getPolicyType()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.PolicyDetailsProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PolicyDetailsProperty.Jsii$Proxy that = (PolicyDetailsProperty.Jsii$Proxy) o;
if (!resourceTypes.equals(that.resourceTypes)) return false;
if (!schedules.equals(that.schedules)) return false;
if (!targetTags.equals(that.targetTags)) return false;
if (this.parameters != null ? !this.parameters.equals(that.parameters) : that.parameters != null) return false;
return this.policyType != null ? this.policyType.equals(that.policyType) : that.policyType == null;
}
@Override
public int hashCode() {
int result = this.resourceTypes.hashCode();
result = 31 * result + (this.schedules.hashCode());
result = 31 * result + (this.targetTags.hashCode());
result = 31 * result + (this.parameters != null ? this.parameters.hashCode() : 0);
result = 31 * result + (this.policyType != null ? this.policyType.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.RetainRuleProperty")
@software.amazon.jsii.Jsii.Proxy(RetainRuleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface RetainRuleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.RetainRuleProperty.Count`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-count
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getCount() {
return null;
}
/**
* `CfnLifecyclePolicy.RetainRuleProperty.Interval`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-interval
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getInterval() {
return null;
}
/**
* `CfnLifecyclePolicy.RetainRuleProperty.IntervalUnit`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-intervalunit
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getIntervalUnit() {
return null;
}
/**
* @return a {@link Builder} of {@link RetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link RetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Number count;
private java.lang.Number interval;
private java.lang.String intervalUnit;
/**
* Sets the value of {@link RetainRuleProperty#getCount}
* @param count `CfnLifecyclePolicy.RetainRuleProperty.Count`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder count(java.lang.Number count) {
this.count = count;
return this;
}
/**
* Sets the value of {@link RetainRuleProperty#getInterval}
* @param interval `CfnLifecyclePolicy.RetainRuleProperty.Interval`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder interval(java.lang.Number interval) {
this.interval = interval;
return this;
}
/**
* Sets the value of {@link RetainRuleProperty#getIntervalUnit}
* @param intervalUnit `CfnLifecyclePolicy.RetainRuleProperty.IntervalUnit`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder intervalUnit(java.lang.String intervalUnit) {
this.intervalUnit = intervalUnit;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link RetainRuleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public RetainRuleProperty build() {
return new Jsii$Proxy(count, interval, intervalUnit);
}
}
/**
* An implementation for {@link RetainRuleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RetainRuleProperty {
private final java.lang.Number count;
private final java.lang.Number interval;
private final java.lang.String intervalUnit;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.count = this.jsiiGet("count", java.lang.Number.class);
this.interval = this.jsiiGet("interval", java.lang.Number.class);
this.intervalUnit = this.jsiiGet("intervalUnit", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.Number count, final java.lang.Number interval, final java.lang.String intervalUnit) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.count = count;
this.interval = interval;
this.intervalUnit = intervalUnit;
}
@Override
public java.lang.Number getCount() {
return this.count;
}
@Override
public java.lang.Number getInterval() {
return this.interval;
}
@Override
public java.lang.String getIntervalUnit() {
return this.intervalUnit;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getCount() != null) {
data.set("count", om.valueToTree(this.getCount()));
}
if (this.getInterval() != null) {
data.set("interval", om.valueToTree(this.getInterval()));
}
if (this.getIntervalUnit() != null) {
data.set("intervalUnit", om.valueToTree(this.getIntervalUnit()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.RetainRuleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RetainRuleProperty.Jsii$Proxy that = (RetainRuleProperty.Jsii$Proxy) o;
if (this.count != null ? !this.count.equals(that.count) : that.count != null) return false;
if (this.interval != null ? !this.interval.equals(that.interval) : that.interval != null) return false;
return this.intervalUnit != null ? this.intervalUnit.equals(that.intervalUnit) : that.intervalUnit == null;
}
@Override
public int hashCode() {
int result = this.count != null ? this.count.hashCode() : 0;
result = 31 * result + (this.interval != null ? this.interval.hashCode() : 0);
result = 31 * result + (this.intervalUnit != null ? this.intervalUnit.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dlm.$Module.class, fqn = "@aws-cdk/aws-dlm.CfnLifecyclePolicy.ScheduleProperty")
@software.amazon.jsii.Jsii.Proxy(ScheduleProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface ScheduleProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnLifecyclePolicy.ScheduleProperty.CopyTags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-copytags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getCopyTags() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.CreateRule`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-createrule
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getCreateRule() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.CrossRegionCopyRules`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getCrossRegionCopyRules() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.FastRestoreRule`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getFastRestoreRule() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.Name`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-name
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getName() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.RetainRule`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-retainrule
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getRetainRule() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.TagsToAdd`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-tagstoadd
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getTagsToAdd() {
return null;
}
/**
* `CfnLifecyclePolicy.ScheduleProperty.VariableTags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-variabletags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getVariableTags() {
return null;
}
/**
* @return a {@link Builder} of {@link ScheduleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ScheduleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Object copyTags;
private java.lang.Object createRule;
private java.lang.Object crossRegionCopyRules;
private java.lang.Object fastRestoreRule;
private java.lang.String name;
private java.lang.Object retainRule;
private java.lang.Object tagsToAdd;
private java.lang.Object variableTags;
/**
* Sets the value of {@link ScheduleProperty#getCopyTags}
* @param copyTags `CfnLifecyclePolicy.ScheduleProperty.CopyTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder copyTags(java.lang.Boolean copyTags) {
this.copyTags = copyTags;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getCopyTags}
* @param copyTags `CfnLifecyclePolicy.ScheduleProperty.CopyTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder copyTags(software.amazon.awscdk.core.IResolvable copyTags) {
this.copyTags = copyTags;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getCreateRule}
* @param createRule `CfnLifecyclePolicy.ScheduleProperty.CreateRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder createRule(software.amazon.awscdk.core.IResolvable createRule) {
this.createRule = createRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getCreateRule}
* @param createRule `CfnLifecyclePolicy.ScheduleProperty.CreateRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder createRule(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.CreateRuleProperty createRule) {
this.createRule = createRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getCrossRegionCopyRules}
* @param crossRegionCopyRules `CfnLifecyclePolicy.ScheduleProperty.CrossRegionCopyRules`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder crossRegionCopyRules(software.amazon.awscdk.core.IResolvable crossRegionCopyRules) {
this.crossRegionCopyRules = crossRegionCopyRules;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getCrossRegionCopyRules}
* @param crossRegionCopyRules `CfnLifecyclePolicy.ScheduleProperty.CrossRegionCopyRules`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder crossRegionCopyRules(java.util.List crossRegionCopyRules) {
this.crossRegionCopyRules = crossRegionCopyRules;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getFastRestoreRule}
* @param fastRestoreRule `CfnLifecyclePolicy.ScheduleProperty.FastRestoreRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder fastRestoreRule(software.amazon.awscdk.core.IResolvable fastRestoreRule) {
this.fastRestoreRule = fastRestoreRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getFastRestoreRule}
* @param fastRestoreRule `CfnLifecyclePolicy.ScheduleProperty.FastRestoreRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder fastRestoreRule(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.FastRestoreRuleProperty fastRestoreRule) {
this.fastRestoreRule = fastRestoreRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getName}
* @param name `CfnLifecyclePolicy.ScheduleProperty.Name`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getRetainRule}
* @param retainRule `CfnLifecyclePolicy.ScheduleProperty.RetainRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder retainRule(software.amazon.awscdk.core.IResolvable retainRule) {
this.retainRule = retainRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getRetainRule}
* @param retainRule `CfnLifecyclePolicy.ScheduleProperty.RetainRule`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder retainRule(software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.RetainRuleProperty retainRule) {
this.retainRule = retainRule;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getTagsToAdd}
* @param tagsToAdd `CfnLifecyclePolicy.ScheduleProperty.TagsToAdd`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder tagsToAdd(software.amazon.awscdk.core.IResolvable tagsToAdd) {
this.tagsToAdd = tagsToAdd;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getTagsToAdd}
* @param tagsToAdd `CfnLifecyclePolicy.ScheduleProperty.TagsToAdd`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder tagsToAdd(java.util.List tagsToAdd) {
this.tagsToAdd = tagsToAdd;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getVariableTags}
* @param variableTags `CfnLifecyclePolicy.ScheduleProperty.VariableTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder variableTags(software.amazon.awscdk.core.IResolvable variableTags) {
this.variableTags = variableTags;
return this;
}
/**
* Sets the value of {@link ScheduleProperty#getVariableTags}
* @param variableTags `CfnLifecyclePolicy.ScheduleProperty.VariableTags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder variableTags(java.util.List variableTags) {
this.variableTags = variableTags;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ScheduleProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public ScheduleProperty build() {
return new Jsii$Proxy(copyTags, createRule, crossRegionCopyRules, fastRestoreRule, name, retainRule, tagsToAdd, variableTags);
}
}
/**
* An implementation for {@link ScheduleProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ScheduleProperty {
private final java.lang.Object copyTags;
private final java.lang.Object createRule;
private final java.lang.Object crossRegionCopyRules;
private final java.lang.Object fastRestoreRule;
private final java.lang.String name;
private final java.lang.Object retainRule;
private final java.lang.Object tagsToAdd;
private final java.lang.Object variableTags;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.copyTags = this.jsiiGet("copyTags", java.lang.Object.class);
this.createRule = this.jsiiGet("createRule", java.lang.Object.class);
this.crossRegionCopyRules = this.jsiiGet("crossRegionCopyRules", java.lang.Object.class);
this.fastRestoreRule = this.jsiiGet("fastRestoreRule", java.lang.Object.class);
this.name = this.jsiiGet("name", java.lang.String.class);
this.retainRule = this.jsiiGet("retainRule", java.lang.Object.class);
this.tagsToAdd = this.jsiiGet("tagsToAdd", java.lang.Object.class);
this.variableTags = this.jsiiGet("variableTags", java.lang.Object.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.Object copyTags, final java.lang.Object createRule, final java.lang.Object crossRegionCopyRules, final java.lang.Object fastRestoreRule, final java.lang.String name, final java.lang.Object retainRule, final java.lang.Object tagsToAdd, final java.lang.Object variableTags) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.copyTags = copyTags;
this.createRule = createRule;
this.crossRegionCopyRules = crossRegionCopyRules;
this.fastRestoreRule = fastRestoreRule;
this.name = name;
this.retainRule = retainRule;
this.tagsToAdd = tagsToAdd;
this.variableTags = variableTags;
}
@Override
public java.lang.Object getCopyTags() {
return this.copyTags;
}
@Override
public java.lang.Object getCreateRule() {
return this.createRule;
}
@Override
public java.lang.Object getCrossRegionCopyRules() {
return this.crossRegionCopyRules;
}
@Override
public java.lang.Object getFastRestoreRule() {
return this.fastRestoreRule;
}
@Override
public java.lang.String getName() {
return this.name;
}
@Override
public java.lang.Object getRetainRule() {
return this.retainRule;
}
@Override
public java.lang.Object getTagsToAdd() {
return this.tagsToAdd;
}
@Override
public java.lang.Object getVariableTags() {
return this.variableTags;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getCopyTags() != null) {
data.set("copyTags", om.valueToTree(this.getCopyTags()));
}
if (this.getCreateRule() != null) {
data.set("createRule", om.valueToTree(this.getCreateRule()));
}
if (this.getCrossRegionCopyRules() != null) {
data.set("crossRegionCopyRules", om.valueToTree(this.getCrossRegionCopyRules()));
}
if (this.getFastRestoreRule() != null) {
data.set("fastRestoreRule", om.valueToTree(this.getFastRestoreRule()));
}
if (this.getName() != null) {
data.set("name", om.valueToTree(this.getName()));
}
if (this.getRetainRule() != null) {
data.set("retainRule", om.valueToTree(this.getRetainRule()));
}
if (this.getTagsToAdd() != null) {
data.set("tagsToAdd", om.valueToTree(this.getTagsToAdd()));
}
if (this.getVariableTags() != null) {
data.set("variableTags", om.valueToTree(this.getVariableTags()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-dlm.CfnLifecyclePolicy.ScheduleProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ScheduleProperty.Jsii$Proxy that = (ScheduleProperty.Jsii$Proxy) o;
if (this.copyTags != null ? !this.copyTags.equals(that.copyTags) : that.copyTags != null) return false;
if (this.createRule != null ? !this.createRule.equals(that.createRule) : that.createRule != null) return false;
if (this.crossRegionCopyRules != null ? !this.crossRegionCopyRules.equals(that.crossRegionCopyRules) : that.crossRegionCopyRules != null) return false;
if (this.fastRestoreRule != null ? !this.fastRestoreRule.equals(that.fastRestoreRule) : that.fastRestoreRule != null) return false;
if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false;
if (this.retainRule != null ? !this.retainRule.equals(that.retainRule) : that.retainRule != null) return false;
if (this.tagsToAdd != null ? !this.tagsToAdd.equals(that.tagsToAdd) : that.tagsToAdd != null) return false;
return this.variableTags != null ? this.variableTags.equals(that.variableTags) : that.variableTags == null;
}
@Override
public int hashCode() {
int result = this.copyTags != null ? this.copyTags.hashCode() : 0;
result = 31 * result + (this.createRule != null ? this.createRule.hashCode() : 0);
result = 31 * result + (this.crossRegionCopyRules != null ? this.crossRegionCopyRules.hashCode() : 0);
result = 31 * result + (this.fastRestoreRule != null ? this.fastRestoreRule.hashCode() : 0);
result = 31 * result + (this.name != null ? this.name.hashCode() : 0);
result = 31 * result + (this.retainRule != null ? this.retainRule.hashCode() : 0);
result = 31 * result + (this.tagsToAdd != null ? this.tagsToAdd.hashCode() : 0);
result = 31 * result + (this.variableTags != null ? this.variableTags.hashCode() : 0);
return result;
}
}
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.dlm.CfnLifecyclePolicy}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.amazon.awscdk.core.Construct scope;
private final java.lang.String id;
private software.amazon.awscdk.services.dlm.CfnLifecyclePolicyProps.Builder props;
private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
}
/**
* `AWS::DLM::LifecyclePolicy.Description`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description
* @param description `AWS::DLM::LifecyclePolicy.Description`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder description(final java.lang.String description) {
this.props().description(description);
return this;
}
/**
* `AWS::DLM::LifecyclePolicy.ExecutionRoleArn`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn
* @param executionRoleArn `AWS::DLM::LifecyclePolicy.ExecutionRoleArn`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder executionRoleArn(final java.lang.String executionRoleArn) {
this.props().executionRoleArn(executionRoleArn);
return this;
}
/**
* `AWS::DLM::LifecyclePolicy.PolicyDetails`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails
* @param policyDetails `AWS::DLM::LifecyclePolicy.PolicyDetails`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder policyDetails(final software.amazon.awscdk.services.dlm.CfnLifecyclePolicy.PolicyDetailsProperty policyDetails) {
this.props().policyDetails(policyDetails);
return this;
}
/**
* `AWS::DLM::LifecyclePolicy.PolicyDetails`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails
* @param policyDetails `AWS::DLM::LifecyclePolicy.PolicyDetails`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder policyDetails(final software.amazon.awscdk.core.IResolvable policyDetails) {
this.props().policyDetails(policyDetails);
return this;
}
/**
* `AWS::DLM::LifecyclePolicy.State`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state
* @param state `AWS::DLM::LifecyclePolicy.State`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder state(final java.lang.String state) {
this.props().state(state);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.dlm.CfnLifecyclePolicy}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.amazon.awscdk.services.dlm.CfnLifecyclePolicy build() {
return new software.amazon.awscdk.services.dlm.CfnLifecyclePolicy(
this.scope,
this.id,
this.props != null ? this.props.build() : null
);
}
private software.amazon.awscdk.services.dlm.CfnLifecyclePolicyProps.Builder props() {
if (this.props == null) {
this.props = new software.amazon.awscdk.services.dlm.CfnLifecyclePolicyProps.Builder();
}
return this.props;
}
}
}