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

software.amazon.awscdk.services.dynamodb.global.GlobalTableProps Maven / Gradle / Ivy

package software.amazon.awscdk.services.dynamodb.global;

/**
 * (deprecated) Properties for the multiple DynamoDB tables to mash together into a global table.
 * 

* Example: *

*

 * import software.amazon.awscdk.services.dynamodb.AttributeType;
 * import software.amazon.awscdk.services.dynamodb.global.GlobalTable;
 * import software.amazon.awscdk.core.App;
 * App app = new App();
 * GlobalTable.Builder.create(app, "globdynamodb")
 *         .partitionKey(Attribute.builder().name("hashKey").type(AttributeType.STRING).build())
 *         .tableName("GlobalTable")
 *         .regions(List.of("us-east-1", "us-east-2", "us-west-2"))
 *         .build();
 * app.synth();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.52.1 (build 5ccc8f6)", date = "2022-02-08T19:43:54.380Z") @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.dynamodb.global.$Module.class, fqn = "@aws-cdk/aws-dynamodb-global.GlobalTableProps") @software.amazon.jsii.Jsii.Proxy(GlobalTableProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public interface GlobalTableProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.core.StackProps, software.amazon.awscdk.services.dynamodb.TableOptions { /** * (deprecated) Array of environments to create DynamoDB tables in. *

* The tables will all be created in the same account. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated @org.jetbrains.annotations.NotNull java.util.List getRegions(); /** * (deprecated) Name of the DynamoDB table to use across all regional tables. *

* This is required for global tables. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated @org.jetbrains.annotations.NotNull java.lang.String getTableName(); /** * @return a {@link Builder} of {@link GlobalTableProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated static Builder builder() { return new Builder(); } /** * A builder for {@link GlobalTableProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public static final class Builder implements software.amazon.jsii.Builder { java.util.List regions; java.lang.String tableName; java.lang.Boolean analyticsReporting; java.lang.String description; software.amazon.awscdk.core.Environment env; java.lang.String stackName; software.amazon.awscdk.core.IStackSynthesizer synthesizer; java.util.Map tags; java.lang.Boolean terminationProtection; software.amazon.awscdk.services.dynamodb.BillingMode billingMode; java.lang.Boolean contributorInsightsEnabled; software.amazon.awscdk.services.dynamodb.TableEncryption encryption; software.amazon.awscdk.services.kms.IKey encryptionKey; java.lang.Boolean pointInTimeRecovery; java.lang.Number readCapacity; software.amazon.awscdk.core.RemovalPolicy removalPolicy; java.util.List replicationRegions; software.amazon.awscdk.core.Duration replicationTimeout; java.lang.Boolean serverSideEncryption; software.amazon.awscdk.services.dynamodb.StreamViewType stream; software.amazon.awscdk.services.dynamodb.TableClass tableClass; java.lang.String timeToLiveAttribute; java.lang.Boolean waitForReplicationToFinish; java.lang.Number writeCapacity; software.amazon.awscdk.services.dynamodb.Attribute partitionKey; software.amazon.awscdk.services.dynamodb.Attribute sortKey; /** * Sets the value of {@link GlobalTableProps#getRegions} * @param regions Array of environments to create DynamoDB tables in. This parameter is required. * The tables will all be created in the same account. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder regions(java.util.List regions) { this.regions = regions; return this; } /** * Sets the value of {@link GlobalTableProps#getTableName} * @param tableName Name of the DynamoDB table to use across all regional tables. This parameter is required. * This is required for global tables. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder tableName(java.lang.String tableName) { this.tableName = tableName; return this; } /** * Sets the value of {@link GlobalTableProps#getAnalyticsReporting} * @param analyticsReporting Include runtime versioning information in this Stack. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder analyticsReporting(java.lang.Boolean analyticsReporting) { this.analyticsReporting = analyticsReporting; return this; } /** * Sets the value of {@link GlobalTableProps#getDescription} * @param description A description of the stack. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link GlobalTableProps#getEnv} * @param env The AWS environment (account/region) where this stack will be deployed. * Set the region/account fields of env to either a concrete value to * select the indicated environment (recommended for production stacks), or to * the values of environment variables * CDK_DEFAULT_REGION/CDK_DEFAULT_ACCOUNT to let the target environment * depend on the AWS credentials/configuration that the CDK CLI is executed * under (recommended for development stacks). *

* If the Stack is instantiated inside a Stage, any undefined * region/account fields from env will default to the same field on the * encompassing Stage, if configured there. *

* If either region or account are not set nor inherited from Stage, the * Stack will be considered "environment-agnostic"". Environment-agnostic * stacks can be deployed to any environment but may not be able to take * advantage of all features of the CDK. For example, they will not be able to * use environmental context lookups such as ec2.Vpc.fromLookup and will not * automatically translate Service Principals to the right format based on the * environment's AWS partition, and other such enhancements. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder env(software.amazon.awscdk.core.Environment env) { this.env = env; return this; } /** * Sets the value of {@link GlobalTableProps#getStackName} * @param stackName Name to deploy the stack with. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder stackName(java.lang.String stackName) { this.stackName = stackName; return this; } /** * Sets the value of {@link GlobalTableProps#getSynthesizer} * @param synthesizer Synthesis method to use while deploying this stack. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder synthesizer(software.amazon.awscdk.core.IStackSynthesizer synthesizer) { this.synthesizer = synthesizer; return this; } /** * Sets the value of {@link GlobalTableProps#getTags} * @param tags Stack tags that will be applied to all the taggable resources and the stack itself. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tags(java.util.Map tags) { this.tags = tags; return this; } /** * Sets the value of {@link GlobalTableProps#getTerminationProtection} * @param terminationProtection Whether to enable termination protection for this stack. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder terminationProtection(java.lang.Boolean terminationProtection) { this.terminationProtection = terminationProtection; return this; } /** * Sets the value of {@link GlobalTableProps#getBillingMode} * @param billingMode Specify how you are charged for read and write throughput and how you manage capacity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder billingMode(software.amazon.awscdk.services.dynamodb.BillingMode billingMode) { this.billingMode = billingMode; return this; } /** * Sets the value of {@link GlobalTableProps#getContributorInsightsEnabled} * @param contributorInsightsEnabled Whether CloudWatch contributor insights is enabled. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder contributorInsightsEnabled(java.lang.Boolean contributorInsightsEnabled) { this.contributorInsightsEnabled = contributorInsightsEnabled; return this; } /** * Sets the value of {@link GlobalTableProps#getEncryption} * @param encryption Whether server-side encryption with an AWS managed customer master key is enabled. * This property cannot be set if serverSideEncryption is set. *

*

*

* NOTE: if you set this to CUSTOMER_MANAGED and encryptionKey is not * specified, the key that the Tablet generates for you will be created with * default permissions. If you are using CDKv2, these permissions will be * sufficient to enable the key for use with DynamoDB tables. If you are * using CDKv1, make sure the feature flag * @aws-cdk/aws-kms:defaultKeyPolicies is set to true in your cdk.json. *

*

* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder encryption(software.amazon.awscdk.services.dynamodb.TableEncryption encryption) { this.encryption = encryption; return this; } /** * Sets the value of {@link GlobalTableProps#getEncryptionKey} * @param encryptionKey External KMS key to use for table encryption. * This property can only be set if encryption is set to TableEncryption.CUSTOMER_MANAGED. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder encryptionKey(software.amazon.awscdk.services.kms.IKey encryptionKey) { this.encryptionKey = encryptionKey; return this; } /** * Sets the value of {@link GlobalTableProps#getPointInTimeRecovery} * @param pointInTimeRecovery Whether point-in-time recovery is enabled. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder pointInTimeRecovery(java.lang.Boolean pointInTimeRecovery) { this.pointInTimeRecovery = pointInTimeRecovery; return this; } /** * Sets the value of {@link GlobalTableProps#getReadCapacity} * @param readCapacity The read capacity for the table. * Careful if you add Global Secondary Indexes, as * those will share the table's provisioned throughput. *

* Can only be provided if billingMode is Provisioned. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder readCapacity(java.lang.Number readCapacity) { this.readCapacity = readCapacity; return this; } /** * Sets the value of {@link GlobalTableProps#getRemovalPolicy} * @param removalPolicy The removal policy to apply to the DynamoDB Table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder removalPolicy(software.amazon.awscdk.core.RemovalPolicy removalPolicy) { this.removalPolicy = removalPolicy; return this; } /** * Sets the value of {@link GlobalTableProps#getReplicationRegions} * @param replicationRegions Regions where replica tables will be created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder replicationRegions(java.util.List replicationRegions) { this.replicationRegions = replicationRegions; return this; } /** * Sets the value of {@link GlobalTableProps#getReplicationTimeout} * @param replicationTimeout The timeout for a table replication operation in a single region. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder replicationTimeout(software.amazon.awscdk.core.Duration replicationTimeout) { this.replicationTimeout = replicationTimeout; return this; } /** * Sets the value of {@link GlobalTableProps#getServerSideEncryption} * @param serverSideEncryption Whether server-side encryption with an AWS managed customer master key is enabled. * This property cannot be set if encryption and/or encryptionKey is set. * @return {@code this} * @deprecated This property is deprecated. In order to obtain the same behavior as enabling this, set the `encryption` property to `TableEncryption.AWS_MANAGED` instead. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder serverSideEncryption(java.lang.Boolean serverSideEncryption) { this.serverSideEncryption = serverSideEncryption; return this; } /** * Sets the value of {@link GlobalTableProps#getStream} * @param stream When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder stream(software.amazon.awscdk.services.dynamodb.StreamViewType stream) { this.stream = stream; return this; } /** * Sets the value of {@link GlobalTableProps#getTableClass} * @param tableClass Specify the table class. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tableClass(software.amazon.awscdk.services.dynamodb.TableClass tableClass) { this.tableClass = tableClass; return this; } /** * Sets the value of {@link GlobalTableProps#getTimeToLiveAttribute} * @param timeToLiveAttribute The name of TTL attribute. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder timeToLiveAttribute(java.lang.String timeToLiveAttribute) { this.timeToLiveAttribute = timeToLiveAttribute; return this; } /** * Sets the value of {@link GlobalTableProps#getWaitForReplicationToFinish} * @param waitForReplicationToFinish Indicates whether CloudFormation stack waits for replication to finish. * If set to false, the CloudFormation resource will mark the resource as * created and replication will be completed asynchronously. This property is * ignored if replicationRegions property is not set. *

* DO NOT UNSET this property if adding/removing multiple replicationRegions * in one deployment, as CloudFormation only supports one region replication * at a time. CDK overcomes this limitation by waiting for replication to * finish before starting new replicationRegion. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder waitForReplicationToFinish(java.lang.Boolean waitForReplicationToFinish) { this.waitForReplicationToFinish = waitForReplicationToFinish; return this; } /** * Sets the value of {@link GlobalTableProps#getWriteCapacity} * @param writeCapacity The write capacity for the table. * Careful if you add Global Secondary Indexes, as * those will share the table's provisioned throughput. *

* Can only be provided if billingMode is Provisioned. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder writeCapacity(java.lang.Number writeCapacity) { this.writeCapacity = writeCapacity; return this; } /** * Sets the value of {@link GlobalTableProps#getPartitionKey} * @param partitionKey Partition key attribute definition. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder partitionKey(software.amazon.awscdk.services.dynamodb.Attribute partitionKey) { this.partitionKey = partitionKey; return this; } /** * Sets the value of {@link GlobalTableProps#getSortKey} * @param sortKey Sort key attribute definition. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sortKey(software.amazon.awscdk.services.dynamodb.Attribute sortKey) { this.sortKey = sortKey; return this; } /** * Builds the configured instance. * @return a new instance of {@link GlobalTableProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated @Override public GlobalTableProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link GlobalTableProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements GlobalTableProps { private final java.util.List regions; private final java.lang.String tableName; private final java.lang.Boolean analyticsReporting; private final java.lang.String description; private final software.amazon.awscdk.core.Environment env; private final java.lang.String stackName; private final software.amazon.awscdk.core.IStackSynthesizer synthesizer; private final java.util.Map tags; private final java.lang.Boolean terminationProtection; private final software.amazon.awscdk.services.dynamodb.BillingMode billingMode; private final java.lang.Boolean contributorInsightsEnabled; private final software.amazon.awscdk.services.dynamodb.TableEncryption encryption; private final software.amazon.awscdk.services.kms.IKey encryptionKey; private final java.lang.Boolean pointInTimeRecovery; private final java.lang.Number readCapacity; private final software.amazon.awscdk.core.RemovalPolicy removalPolicy; private final java.util.List replicationRegions; private final software.amazon.awscdk.core.Duration replicationTimeout; private final java.lang.Boolean serverSideEncryption; private final software.amazon.awscdk.services.dynamodb.StreamViewType stream; private final software.amazon.awscdk.services.dynamodb.TableClass tableClass; private final java.lang.String timeToLiveAttribute; private final java.lang.Boolean waitForReplicationToFinish; private final java.lang.Number writeCapacity; private final software.amazon.awscdk.services.dynamodb.Attribute partitionKey; private final software.amazon.awscdk.services.dynamodb.Attribute sortKey; /** * 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.regions = software.amazon.jsii.Kernel.get(this, "regions", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.tableName = software.amazon.jsii.Kernel.get(this, "tableName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.analyticsReporting = software.amazon.jsii.Kernel.get(this, "analyticsReporting", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.env = software.amazon.jsii.Kernel.get(this, "env", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Environment.class)); this.stackName = software.amazon.jsii.Kernel.get(this, "stackName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.synthesizer = software.amazon.jsii.Kernel.get(this, "synthesizer", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.IStackSynthesizer.class)); this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.terminationProtection = software.amazon.jsii.Kernel.get(this, "terminationProtection", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.billingMode = software.amazon.jsii.Kernel.get(this, "billingMode", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.BillingMode.class)); this.contributorInsightsEnabled = software.amazon.jsii.Kernel.get(this, "contributorInsightsEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.encryption = software.amazon.jsii.Kernel.get(this, "encryption", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.TableEncryption.class)); this.encryptionKey = software.amazon.jsii.Kernel.get(this, "encryptionKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); this.pointInTimeRecovery = software.amazon.jsii.Kernel.get(this, "pointInTimeRecovery", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.readCapacity = software.amazon.jsii.Kernel.get(this, "readCapacity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.removalPolicy = software.amazon.jsii.Kernel.get(this, "removalPolicy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.RemovalPolicy.class)); this.replicationRegions = software.amazon.jsii.Kernel.get(this, "replicationRegions", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.replicationTimeout = software.amazon.jsii.Kernel.get(this, "replicationTimeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Duration.class)); this.serverSideEncryption = software.amazon.jsii.Kernel.get(this, "serverSideEncryption", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.stream = software.amazon.jsii.Kernel.get(this, "stream", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.StreamViewType.class)); this.tableClass = software.amazon.jsii.Kernel.get(this, "tableClass", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.TableClass.class)); this.timeToLiveAttribute = software.amazon.jsii.Kernel.get(this, "timeToLiveAttribute", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.waitForReplicationToFinish = software.amazon.jsii.Kernel.get(this, "waitForReplicationToFinish", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.writeCapacity = software.amazon.jsii.Kernel.get(this, "writeCapacity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.partitionKey = software.amazon.jsii.Kernel.get(this, "partitionKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.Attribute.class)); this.sortKey = software.amazon.jsii.Kernel.get(this, "sortKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.dynamodb.Attribute.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.regions = java.util.Objects.requireNonNull(builder.regions, "regions is required"); this.tableName = java.util.Objects.requireNonNull(builder.tableName, "tableName is required"); this.analyticsReporting = builder.analyticsReporting; this.description = builder.description; this.env = builder.env; this.stackName = builder.stackName; this.synthesizer = builder.synthesizer; this.tags = builder.tags; this.terminationProtection = builder.terminationProtection; this.billingMode = builder.billingMode; this.contributorInsightsEnabled = builder.contributorInsightsEnabled; this.encryption = builder.encryption; this.encryptionKey = builder.encryptionKey; this.pointInTimeRecovery = builder.pointInTimeRecovery; this.readCapacity = builder.readCapacity; this.removalPolicy = builder.removalPolicy; this.replicationRegions = builder.replicationRegions; this.replicationTimeout = builder.replicationTimeout; this.serverSideEncryption = builder.serverSideEncryption; this.stream = builder.stream; this.tableClass = builder.tableClass; this.timeToLiveAttribute = builder.timeToLiveAttribute; this.waitForReplicationToFinish = builder.waitForReplicationToFinish; this.writeCapacity = builder.writeCapacity; this.partitionKey = java.util.Objects.requireNonNull(builder.partitionKey, "partitionKey is required"); this.sortKey = builder.sortKey; } @Override public final java.util.List getRegions() { return this.regions; } @Override public final java.lang.String getTableName() { return this.tableName; } @Override public final java.lang.Boolean getAnalyticsReporting() { return this.analyticsReporting; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final software.amazon.awscdk.core.Environment getEnv() { return this.env; } @Override public final java.lang.String getStackName() { return this.stackName; } @Override public final software.amazon.awscdk.core.IStackSynthesizer getSynthesizer() { return this.synthesizer; } @Override public final java.util.Map getTags() { return this.tags; } @Override public final java.lang.Boolean getTerminationProtection() { return this.terminationProtection; } @Override public final software.amazon.awscdk.services.dynamodb.BillingMode getBillingMode() { return this.billingMode; } @Override public final java.lang.Boolean getContributorInsightsEnabled() { return this.contributorInsightsEnabled; } @Override public final software.amazon.awscdk.services.dynamodb.TableEncryption getEncryption() { return this.encryption; } @Override public final software.amazon.awscdk.services.kms.IKey getEncryptionKey() { return this.encryptionKey; } @Override public final java.lang.Boolean getPointInTimeRecovery() { return this.pointInTimeRecovery; } @Override public final java.lang.Number getReadCapacity() { return this.readCapacity; } @Override public final software.amazon.awscdk.core.RemovalPolicy getRemovalPolicy() { return this.removalPolicy; } @Override public final java.util.List getReplicationRegions() { return this.replicationRegions; } @Override public final software.amazon.awscdk.core.Duration getReplicationTimeout() { return this.replicationTimeout; } @Override public final java.lang.Boolean getServerSideEncryption() { return this.serverSideEncryption; } @Override public final software.amazon.awscdk.services.dynamodb.StreamViewType getStream() { return this.stream; } @Override public final software.amazon.awscdk.services.dynamodb.TableClass getTableClass() { return this.tableClass; } @Override public final java.lang.String getTimeToLiveAttribute() { return this.timeToLiveAttribute; } @Override public final java.lang.Boolean getWaitForReplicationToFinish() { return this.waitForReplicationToFinish; } @Override public final java.lang.Number getWriteCapacity() { return this.writeCapacity; } @Override public final software.amazon.awscdk.services.dynamodb.Attribute getPartitionKey() { return this.partitionKey; } @Override public final software.amazon.awscdk.services.dynamodb.Attribute getSortKey() { return this.sortKey; } @Override @software.amazon.jsii.Internal 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("regions", om.valueToTree(this.getRegions())); data.set("tableName", om.valueToTree(this.getTableName())); if (this.getAnalyticsReporting() != null) { data.set("analyticsReporting", om.valueToTree(this.getAnalyticsReporting())); } if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getEnv() != null) { data.set("env", om.valueToTree(this.getEnv())); } if (this.getStackName() != null) { data.set("stackName", om.valueToTree(this.getStackName())); } if (this.getSynthesizer() != null) { data.set("synthesizer", om.valueToTree(this.getSynthesizer())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } if (this.getTerminationProtection() != null) { data.set("terminationProtection", om.valueToTree(this.getTerminationProtection())); } if (this.getBillingMode() != null) { data.set("billingMode", om.valueToTree(this.getBillingMode())); } if (this.getContributorInsightsEnabled() != null) { data.set("contributorInsightsEnabled", om.valueToTree(this.getContributorInsightsEnabled())); } if (this.getEncryption() != null) { data.set("encryption", om.valueToTree(this.getEncryption())); } if (this.getEncryptionKey() != null) { data.set("encryptionKey", om.valueToTree(this.getEncryptionKey())); } if (this.getPointInTimeRecovery() != null) { data.set("pointInTimeRecovery", om.valueToTree(this.getPointInTimeRecovery())); } if (this.getReadCapacity() != null) { data.set("readCapacity", om.valueToTree(this.getReadCapacity())); } if (this.getRemovalPolicy() != null) { data.set("removalPolicy", om.valueToTree(this.getRemovalPolicy())); } if (this.getReplicationRegions() != null) { data.set("replicationRegions", om.valueToTree(this.getReplicationRegions())); } if (this.getReplicationTimeout() != null) { data.set("replicationTimeout", om.valueToTree(this.getReplicationTimeout())); } if (this.getServerSideEncryption() != null) { data.set("serverSideEncryption", om.valueToTree(this.getServerSideEncryption())); } if (this.getStream() != null) { data.set("stream", om.valueToTree(this.getStream())); } if (this.getTableClass() != null) { data.set("tableClass", om.valueToTree(this.getTableClass())); } if (this.getTimeToLiveAttribute() != null) { data.set("timeToLiveAttribute", om.valueToTree(this.getTimeToLiveAttribute())); } if (this.getWaitForReplicationToFinish() != null) { data.set("waitForReplicationToFinish", om.valueToTree(this.getWaitForReplicationToFinish())); } if (this.getWriteCapacity() != null) { data.set("writeCapacity", om.valueToTree(this.getWriteCapacity())); } data.set("partitionKey", om.valueToTree(this.getPartitionKey())); if (this.getSortKey() != null) { data.set("sortKey", om.valueToTree(this.getSortKey())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-dynamodb-global.GlobalTableProps")); 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 final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; GlobalTableProps.Jsii$Proxy that = (GlobalTableProps.Jsii$Proxy) o; if (!regions.equals(that.regions)) return false; if (!tableName.equals(that.tableName)) return false; if (this.analyticsReporting != null ? !this.analyticsReporting.equals(that.analyticsReporting) : that.analyticsReporting != null) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.env != null ? !this.env.equals(that.env) : that.env != null) return false; if (this.stackName != null ? !this.stackName.equals(that.stackName) : that.stackName != null) return false; if (this.synthesizer != null ? !this.synthesizer.equals(that.synthesizer) : that.synthesizer != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; if (this.terminationProtection != null ? !this.terminationProtection.equals(that.terminationProtection) : that.terminationProtection != null) return false; if (this.billingMode != null ? !this.billingMode.equals(that.billingMode) : that.billingMode != null) return false; if (this.contributorInsightsEnabled != null ? !this.contributorInsightsEnabled.equals(that.contributorInsightsEnabled) : that.contributorInsightsEnabled != null) return false; if (this.encryption != null ? !this.encryption.equals(that.encryption) : that.encryption != null) return false; if (this.encryptionKey != null ? !this.encryptionKey.equals(that.encryptionKey) : that.encryptionKey != null) return false; if (this.pointInTimeRecovery != null ? !this.pointInTimeRecovery.equals(that.pointInTimeRecovery) : that.pointInTimeRecovery != null) return false; if (this.readCapacity != null ? !this.readCapacity.equals(that.readCapacity) : that.readCapacity != null) return false; if (this.removalPolicy != null ? !this.removalPolicy.equals(that.removalPolicy) : that.removalPolicy != null) return false; if (this.replicationRegions != null ? !this.replicationRegions.equals(that.replicationRegions) : that.replicationRegions != null) return false; if (this.replicationTimeout != null ? !this.replicationTimeout.equals(that.replicationTimeout) : that.replicationTimeout != null) return false; if (this.serverSideEncryption != null ? !this.serverSideEncryption.equals(that.serverSideEncryption) : that.serverSideEncryption != null) return false; if (this.stream != null ? !this.stream.equals(that.stream) : that.stream != null) return false; if (this.tableClass != null ? !this.tableClass.equals(that.tableClass) : that.tableClass != null) return false; if (this.timeToLiveAttribute != null ? !this.timeToLiveAttribute.equals(that.timeToLiveAttribute) : that.timeToLiveAttribute != null) return false; if (this.waitForReplicationToFinish != null ? !this.waitForReplicationToFinish.equals(that.waitForReplicationToFinish) : that.waitForReplicationToFinish != null) return false; if (this.writeCapacity != null ? !this.writeCapacity.equals(that.writeCapacity) : that.writeCapacity != null) return false; if (!partitionKey.equals(that.partitionKey)) return false; return this.sortKey != null ? this.sortKey.equals(that.sortKey) : that.sortKey == null; } @Override public final int hashCode() { int result = this.regions.hashCode(); result = 31 * result + (this.tableName.hashCode()); result = 31 * result + (this.analyticsReporting != null ? this.analyticsReporting.hashCode() : 0); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.env != null ? this.env.hashCode() : 0); result = 31 * result + (this.stackName != null ? this.stackName.hashCode() : 0); result = 31 * result + (this.synthesizer != null ? this.synthesizer.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.terminationProtection != null ? this.terminationProtection.hashCode() : 0); result = 31 * result + (this.billingMode != null ? this.billingMode.hashCode() : 0); result = 31 * result + (this.contributorInsightsEnabled != null ? this.contributorInsightsEnabled.hashCode() : 0); result = 31 * result + (this.encryption != null ? this.encryption.hashCode() : 0); result = 31 * result + (this.encryptionKey != null ? this.encryptionKey.hashCode() : 0); result = 31 * result + (this.pointInTimeRecovery != null ? this.pointInTimeRecovery.hashCode() : 0); result = 31 * result + (this.readCapacity != null ? this.readCapacity.hashCode() : 0); result = 31 * result + (this.removalPolicy != null ? this.removalPolicy.hashCode() : 0); result = 31 * result + (this.replicationRegions != null ? this.replicationRegions.hashCode() : 0); result = 31 * result + (this.replicationTimeout != null ? this.replicationTimeout.hashCode() : 0); result = 31 * result + (this.serverSideEncryption != null ? this.serverSideEncryption.hashCode() : 0); result = 31 * result + (this.stream != null ? this.stream.hashCode() : 0); result = 31 * result + (this.tableClass != null ? this.tableClass.hashCode() : 0); result = 31 * result + (this.timeToLiveAttribute != null ? this.timeToLiveAttribute.hashCode() : 0); result = 31 * result + (this.waitForReplicationToFinish != null ? this.waitForReplicationToFinish.hashCode() : 0); result = 31 * result + (this.writeCapacity != null ? this.writeCapacity.hashCode() : 0); result = 31 * result + (this.partitionKey.hashCode()); result = 31 * result + (this.sortKey != null ? this.sortKey.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy