All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.dlm.CfnLifecyclePolicy Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
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; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy