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

software.amazon.awssdk.services.securityhub.model.AwsDynamoDbTableDetails Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.securityhub.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Provides details about a DynamoDB table. *

*/ @Generated("software.amazon.awssdk:codegen") public final class AwsDynamoDbTableDetails implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField> ATTRIBUTE_DEFINITIONS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("AttributeDefinitions") .getter(getter(AwsDynamoDbTableDetails::attributeDefinitions)) .setter(setter(Builder::attributeDefinitions)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AttributeDefinitions").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDynamoDbTableAttributeDefinition::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField BILLING_MODE_SUMMARY_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("BillingModeSummary") .getter(getter(AwsDynamoDbTableDetails::billingModeSummary)).setter(setter(Builder::billingModeSummary)) .constructor(AwsDynamoDbTableBillingModeSummary::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("BillingModeSummary").build()) .build(); private static final SdkField CREATION_DATE_TIME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("CreationDateTime").getter(getter(AwsDynamoDbTableDetails::creationDateTime)) .setter(setter(Builder::creationDateTime)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreationDateTime").build()).build(); private static final SdkField> GLOBAL_SECONDARY_INDEXES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("GlobalSecondaryIndexes") .getter(getter(AwsDynamoDbTableDetails::globalSecondaryIndexes)) .setter(setter(Builder::globalSecondaryIndexes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("GlobalSecondaryIndexes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDynamoDbTableGlobalSecondaryIndex::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField GLOBAL_TABLE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("GlobalTableVersion").getter(getter(AwsDynamoDbTableDetails::globalTableVersion)) .setter(setter(Builder::globalTableVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("GlobalTableVersion").build()) .build(); private static final SdkField ITEM_COUNT_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("ItemCount").getter(getter(AwsDynamoDbTableDetails::itemCount)).setter(setter(Builder::itemCount)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ItemCount").build()).build(); private static final SdkField> KEY_SCHEMA_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("KeySchema") .getter(getter(AwsDynamoDbTableDetails::keySchema)) .setter(setter(Builder::keySchema)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KeySchema").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDynamoDbTableKeySchema::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField LATEST_STREAM_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("LatestStreamArn").getter(getter(AwsDynamoDbTableDetails::latestStreamArn)) .setter(setter(Builder::latestStreamArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LatestStreamArn").build()).build(); private static final SdkField LATEST_STREAM_LABEL_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("LatestStreamLabel").getter(getter(AwsDynamoDbTableDetails::latestStreamLabel)) .setter(setter(Builder::latestStreamLabel)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LatestStreamLabel").build()).build(); private static final SdkField> LOCAL_SECONDARY_INDEXES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("LocalSecondaryIndexes") .getter(getter(AwsDynamoDbTableDetails::localSecondaryIndexes)) .setter(setter(Builder::localSecondaryIndexes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LocalSecondaryIndexes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDynamoDbTableLocalSecondaryIndex::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField PROVISIONED_THROUGHPUT_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("ProvisionedThroughput") .getter(getter(AwsDynamoDbTableDetails::provisionedThroughput)).setter(setter(Builder::provisionedThroughput)) .constructor(AwsDynamoDbTableProvisionedThroughput::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ProvisionedThroughput").build()) .build(); private static final SdkField> REPLICAS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("Replicas") .getter(getter(AwsDynamoDbTableDetails::replicas)) .setter(setter(Builder::replicas)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Replicas").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDynamoDbTableReplica::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField RESTORE_SUMMARY_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("RestoreSummary") .getter(getter(AwsDynamoDbTableDetails::restoreSummary)).setter(setter(Builder::restoreSummary)) .constructor(AwsDynamoDbTableRestoreSummary::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RestoreSummary").build()).build(); private static final SdkField SSE_DESCRIPTION_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("SseDescription") .getter(getter(AwsDynamoDbTableDetails::sseDescription)).setter(setter(Builder::sseDescription)) .constructor(AwsDynamoDbTableSseDescription::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SseDescription").build()).build(); private static final SdkField STREAM_SPECIFICATION_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("StreamSpecification") .getter(getter(AwsDynamoDbTableDetails::streamSpecification)).setter(setter(Builder::streamSpecification)) .constructor(AwsDynamoDbTableStreamSpecification::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StreamSpecification").build()) .build(); private static final SdkField TABLE_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("TableId").getter(getter(AwsDynamoDbTableDetails::tableId)).setter(setter(Builder::tableId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TableId").build()).build(); private static final SdkField TABLE_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("TableName").getter(getter(AwsDynamoDbTableDetails::tableName)).setter(setter(Builder::tableName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TableName").build()).build(); private static final SdkField TABLE_SIZE_BYTES_FIELD = SdkField. builder(MarshallingType.LONG) .memberName("TableSizeBytes").getter(getter(AwsDynamoDbTableDetails::tableSizeBytes)) .setter(setter(Builder::tableSizeBytes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TableSizeBytes").build()).build(); private static final SdkField TABLE_STATUS_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("TableStatus").getter(getter(AwsDynamoDbTableDetails::tableStatus)).setter(setter(Builder::tableStatus)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TableStatus").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ATTRIBUTE_DEFINITIONS_FIELD, BILLING_MODE_SUMMARY_FIELD, CREATION_DATE_TIME_FIELD, GLOBAL_SECONDARY_INDEXES_FIELD, GLOBAL_TABLE_VERSION_FIELD, ITEM_COUNT_FIELD, KEY_SCHEMA_FIELD, LATEST_STREAM_ARN_FIELD, LATEST_STREAM_LABEL_FIELD, LOCAL_SECONDARY_INDEXES_FIELD, PROVISIONED_THROUGHPUT_FIELD, REPLICAS_FIELD, RESTORE_SUMMARY_FIELD, SSE_DESCRIPTION_FIELD, STREAM_SPECIFICATION_FIELD, TABLE_ID_FIELD, TABLE_NAME_FIELD, TABLE_SIZE_BYTES_FIELD, TABLE_STATUS_FIELD)); private static final long serialVersionUID = 1L; private final List attributeDefinitions; private final AwsDynamoDbTableBillingModeSummary billingModeSummary; private final String creationDateTime; private final List globalSecondaryIndexes; private final String globalTableVersion; private final Integer itemCount; private final List keySchema; private final String latestStreamArn; private final String latestStreamLabel; private final List localSecondaryIndexes; private final AwsDynamoDbTableProvisionedThroughput provisionedThroughput; private final List replicas; private final AwsDynamoDbTableRestoreSummary restoreSummary; private final AwsDynamoDbTableSseDescription sseDescription; private final AwsDynamoDbTableStreamSpecification streamSpecification; private final String tableId; private final String tableName; private final Long tableSizeBytes; private final String tableStatus; private AwsDynamoDbTableDetails(BuilderImpl builder) { this.attributeDefinitions = builder.attributeDefinitions; this.billingModeSummary = builder.billingModeSummary; this.creationDateTime = builder.creationDateTime; this.globalSecondaryIndexes = builder.globalSecondaryIndexes; this.globalTableVersion = builder.globalTableVersion; this.itemCount = builder.itemCount; this.keySchema = builder.keySchema; this.latestStreamArn = builder.latestStreamArn; this.latestStreamLabel = builder.latestStreamLabel; this.localSecondaryIndexes = builder.localSecondaryIndexes; this.provisionedThroughput = builder.provisionedThroughput; this.replicas = builder.replicas; this.restoreSummary = builder.restoreSummary; this.sseDescription = builder.sseDescription; this.streamSpecification = builder.streamSpecification; this.tableId = builder.tableId; this.tableName = builder.tableName; this.tableSizeBytes = builder.tableSizeBytes; this.tableStatus = builder.tableStatus; } /** * Returns true if the AttributeDefinitions property was specified by the sender (it may be empty), or false if the * sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS * service. */ public final boolean hasAttributeDefinitions() { return attributeDefinitions != null && !(attributeDefinitions instanceof SdkAutoConstructList); } /** *

* A list of attribute definitions for the table. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* You can use {@link #hasAttributeDefinitions()} to see if a value was sent in this field. *

* * @return A list of attribute definitions for the table. */ public final List attributeDefinitions() { return attributeDefinitions; } /** *

* Information about the billing for read/write capacity on the table. *

* * @return Information about the billing for read/write capacity on the table. */ public final AwsDynamoDbTableBillingModeSummary billingModeSummary() { return billingModeSummary; } /** *

* Indicates when the table was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

* * @return Indicates when the table was created.

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public final String creationDateTime() { return creationDateTime; } /** * Returns true if the GlobalSecondaryIndexes property was specified by the sender (it may be empty), or false if * the sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS * service. */ public final boolean hasGlobalSecondaryIndexes() { return globalSecondaryIndexes != null && !(globalSecondaryIndexes instanceof SdkAutoConstructList); } /** *

* List of global secondary indexes for the table. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* You can use {@link #hasGlobalSecondaryIndexes()} to see if a value was sent in this field. *

* * @return List of global secondary indexes for the table. */ public final List globalSecondaryIndexes() { return globalSecondaryIndexes; } /** *

* The version of global tables being used. *

* * @return The version of global tables being used. */ public final String globalTableVersion() { return globalTableVersion; } /** *

* The number of items in the table. *

* * @return The number of items in the table. */ public final Integer itemCount() { return itemCount; } /** * Returns true if the KeySchema property was specified by the sender (it may be empty), or false if the sender did * not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service. */ public final boolean hasKeySchema() { return keySchema != null && !(keySchema instanceof SdkAutoConstructList); } /** *

* The primary key structure for the table. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* You can use {@link #hasKeySchema()} to see if a value was sent in this field. *

* * @return The primary key structure for the table. */ public final List keySchema() { return keySchema; } /** *

* The ARN of the latest stream for the table. *

* * @return The ARN of the latest stream for the table. */ public final String latestStreamArn() { return latestStreamArn; } /** *

* The label of the latest stream. The label is not a unique identifier. *

* * @return The label of the latest stream. The label is not a unique identifier. */ public final String latestStreamLabel() { return latestStreamLabel; } /** * Returns true if the LocalSecondaryIndexes property was specified by the sender (it may be empty), or false if the * sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS * service. */ public final boolean hasLocalSecondaryIndexes() { return localSecondaryIndexes != null && !(localSecondaryIndexes instanceof SdkAutoConstructList); } /** *

* The list of local secondary indexes for the table. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* You can use {@link #hasLocalSecondaryIndexes()} to see if a value was sent in this field. *

* * @return The list of local secondary indexes for the table. */ public final List localSecondaryIndexes() { return localSecondaryIndexes; } /** *

* Information about the provisioned throughput for the table. *

* * @return Information about the provisioned throughput for the table. */ public final AwsDynamoDbTableProvisionedThroughput provisionedThroughput() { return provisionedThroughput; } /** * Returns true if the Replicas property was specified by the sender (it may be empty), or false if the sender did * not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service. */ public final boolean hasReplicas() { return replicas != null && !(replicas instanceof SdkAutoConstructList); } /** *

* The list of replicas of this table. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* You can use {@link #hasReplicas()} to see if a value was sent in this field. *

* * @return The list of replicas of this table. */ public final List replicas() { return replicas; } /** *

* Information about the restore for the table. *

* * @return Information about the restore for the table. */ public final AwsDynamoDbTableRestoreSummary restoreSummary() { return restoreSummary; } /** *

* Information about the server-side encryption for the table. *

* * @return Information about the server-side encryption for the table. */ public final AwsDynamoDbTableSseDescription sseDescription() { return sseDescription; } /** *

* The current DynamoDB Streams configuration for the table. *

* * @return The current DynamoDB Streams configuration for the table. */ public final AwsDynamoDbTableStreamSpecification streamSpecification() { return streamSpecification; } /** *

* The identifier of the table. *

* * @return The identifier of the table. */ public final String tableId() { return tableId; } /** *

* The name of the table. *

* * @return The name of the table. */ public final String tableName() { return tableName; } /** *

* The total size of the table in bytes. *

* * @return The total size of the table in bytes. */ public final Long tableSizeBytes() { return tableSizeBytes; } /** *

* The current status of the table. *

* * @return The current status of the table. */ public final String tableStatus() { return tableStatus; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(hasAttributeDefinitions() ? attributeDefinitions() : null); hashCode = 31 * hashCode + Objects.hashCode(billingModeSummary()); hashCode = 31 * hashCode + Objects.hashCode(creationDateTime()); hashCode = 31 * hashCode + Objects.hashCode(hasGlobalSecondaryIndexes() ? globalSecondaryIndexes() : null); hashCode = 31 * hashCode + Objects.hashCode(globalTableVersion()); hashCode = 31 * hashCode + Objects.hashCode(itemCount()); hashCode = 31 * hashCode + Objects.hashCode(hasKeySchema() ? keySchema() : null); hashCode = 31 * hashCode + Objects.hashCode(latestStreamArn()); hashCode = 31 * hashCode + Objects.hashCode(latestStreamLabel()); hashCode = 31 * hashCode + Objects.hashCode(hasLocalSecondaryIndexes() ? localSecondaryIndexes() : null); hashCode = 31 * hashCode + Objects.hashCode(provisionedThroughput()); hashCode = 31 * hashCode + Objects.hashCode(hasReplicas() ? replicas() : null); hashCode = 31 * hashCode + Objects.hashCode(restoreSummary()); hashCode = 31 * hashCode + Objects.hashCode(sseDescription()); hashCode = 31 * hashCode + Objects.hashCode(streamSpecification()); hashCode = 31 * hashCode + Objects.hashCode(tableId()); hashCode = 31 * hashCode + Objects.hashCode(tableName()); hashCode = 31 * hashCode + Objects.hashCode(tableSizeBytes()); hashCode = 31 * hashCode + Objects.hashCode(tableStatus()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof AwsDynamoDbTableDetails)) { return false; } AwsDynamoDbTableDetails other = (AwsDynamoDbTableDetails) obj; return hasAttributeDefinitions() == other.hasAttributeDefinitions() && Objects.equals(attributeDefinitions(), other.attributeDefinitions()) && Objects.equals(billingModeSummary(), other.billingModeSummary()) && Objects.equals(creationDateTime(), other.creationDateTime()) && hasGlobalSecondaryIndexes() == other.hasGlobalSecondaryIndexes() && Objects.equals(globalSecondaryIndexes(), other.globalSecondaryIndexes()) && Objects.equals(globalTableVersion(), other.globalTableVersion()) && Objects.equals(itemCount(), other.itemCount()) && hasKeySchema() == other.hasKeySchema() && Objects.equals(keySchema(), other.keySchema()) && Objects.equals(latestStreamArn(), other.latestStreamArn()) && Objects.equals(latestStreamLabel(), other.latestStreamLabel()) && hasLocalSecondaryIndexes() == other.hasLocalSecondaryIndexes() && Objects.equals(localSecondaryIndexes(), other.localSecondaryIndexes()) && Objects.equals(provisionedThroughput(), other.provisionedThroughput()) && hasReplicas() == other.hasReplicas() && Objects.equals(replicas(), other.replicas()) && Objects.equals(restoreSummary(), other.restoreSummary()) && Objects.equals(sseDescription(), other.sseDescription()) && Objects.equals(streamSpecification(), other.streamSpecification()) && Objects.equals(tableId(), other.tableId()) && Objects.equals(tableName(), other.tableName()) && Objects.equals(tableSizeBytes(), other.tableSizeBytes()) && Objects.equals(tableStatus(), other.tableStatus()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("AwsDynamoDbTableDetails") .add("AttributeDefinitions", hasAttributeDefinitions() ? attributeDefinitions() : null) .add("BillingModeSummary", billingModeSummary()).add("CreationDateTime", creationDateTime()) .add("GlobalSecondaryIndexes", hasGlobalSecondaryIndexes() ? globalSecondaryIndexes() : null) .add("GlobalTableVersion", globalTableVersion()).add("ItemCount", itemCount()) .add("KeySchema", hasKeySchema() ? keySchema() : null).add("LatestStreamArn", latestStreamArn()) .add("LatestStreamLabel", latestStreamLabel()) .add("LocalSecondaryIndexes", hasLocalSecondaryIndexes() ? localSecondaryIndexes() : null) .add("ProvisionedThroughput", provisionedThroughput()).add("Replicas", hasReplicas() ? replicas() : null) .add("RestoreSummary", restoreSummary()).add("SseDescription", sseDescription()) .add("StreamSpecification", streamSpecification()).add("TableId", tableId()).add("TableName", tableName()) .add("TableSizeBytes", tableSizeBytes()).add("TableStatus", tableStatus()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "AttributeDefinitions": return Optional.ofNullable(clazz.cast(attributeDefinitions())); case "BillingModeSummary": return Optional.ofNullable(clazz.cast(billingModeSummary())); case "CreationDateTime": return Optional.ofNullable(clazz.cast(creationDateTime())); case "GlobalSecondaryIndexes": return Optional.ofNullable(clazz.cast(globalSecondaryIndexes())); case "GlobalTableVersion": return Optional.ofNullable(clazz.cast(globalTableVersion())); case "ItemCount": return Optional.ofNullable(clazz.cast(itemCount())); case "KeySchema": return Optional.ofNullable(clazz.cast(keySchema())); case "LatestStreamArn": return Optional.ofNullable(clazz.cast(latestStreamArn())); case "LatestStreamLabel": return Optional.ofNullable(clazz.cast(latestStreamLabel())); case "LocalSecondaryIndexes": return Optional.ofNullable(clazz.cast(localSecondaryIndexes())); case "ProvisionedThroughput": return Optional.ofNullable(clazz.cast(provisionedThroughput())); case "Replicas": return Optional.ofNullable(clazz.cast(replicas())); case "RestoreSummary": return Optional.ofNullable(clazz.cast(restoreSummary())); case "SseDescription": return Optional.ofNullable(clazz.cast(sseDescription())); case "StreamSpecification": return Optional.ofNullable(clazz.cast(streamSpecification())); case "TableId": return Optional.ofNullable(clazz.cast(tableId())); case "TableName": return Optional.ofNullable(clazz.cast(tableName())); case "TableSizeBytes": return Optional.ofNullable(clazz.cast(tableSizeBytes())); case "TableStatus": return Optional.ofNullable(clazz.cast(tableStatus())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((AwsDynamoDbTableDetails) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* A list of attribute definitions for the table. *

* * @param attributeDefinitions * A list of attribute definitions for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder attributeDefinitions(Collection attributeDefinitions); /** *

* A list of attribute definitions for the table. *

* * @param attributeDefinitions * A list of attribute definitions for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder attributeDefinitions(AwsDynamoDbTableAttributeDefinition... attributeDefinitions); /** *

* A list of attribute definitions for the table. *

* This is a convenience that creates an instance of the {@link List * .Builder} avoiding the need to create one manually via {@link List * #builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is * called immediately and its result is passed to {@link * #attributeDefinitions(List)}. * * @param attributeDefinitions * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #attributeDefinitions(List) */ Builder attributeDefinitions(Consumer... attributeDefinitions); /** *

* Information about the billing for read/write capacity on the table. *

* * @param billingModeSummary * Information about the billing for read/write capacity on the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder billingModeSummary(AwsDynamoDbTableBillingModeSummary billingModeSummary); /** *

* Information about the billing for read/write capacity on the table. *

* This is a convenience that creates an instance of the {@link AwsDynamoDbTableBillingModeSummary.Builder} * avoiding the need to create one manually via {@link AwsDynamoDbTableBillingModeSummary#builder()}. * * When the {@link Consumer} completes, {@link AwsDynamoDbTableBillingModeSummary.Builder#build()} is called * immediately and its result is passed to {@link #billingModeSummary(AwsDynamoDbTableBillingModeSummary)}. * * @param billingModeSummary * a consumer that will call methods on {@link AwsDynamoDbTableBillingModeSummary.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #billingModeSummary(AwsDynamoDbTableBillingModeSummary) */ default Builder billingModeSummary(Consumer billingModeSummary) { return billingModeSummary(AwsDynamoDbTableBillingModeSummary.builder().applyMutation(billingModeSummary).build()); } /** *

* Indicates when the table was created. *

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. * The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. *

* * @param creationDateTime * Indicates when the table was created.

*

* Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. * @return Returns a reference to this object so that method calls can be chained together. */ Builder creationDateTime(String creationDateTime); /** *

* List of global secondary indexes for the table. *

* * @param globalSecondaryIndexes * List of global secondary indexes for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder globalSecondaryIndexes(Collection globalSecondaryIndexes); /** *

* List of global secondary indexes for the table. *

* * @param globalSecondaryIndexes * List of global secondary indexes for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder globalSecondaryIndexes(AwsDynamoDbTableGlobalSecondaryIndex... globalSecondaryIndexes); /** *

* List of global secondary indexes for the table. *

* This is a convenience that creates an instance of the {@link List * .Builder} avoiding the need to create one manually via {@link List * #builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is * called immediately and its result is passed to {@link * #globalSecondaryIndexes(List)}. * * @param globalSecondaryIndexes * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #globalSecondaryIndexes(List) */ Builder globalSecondaryIndexes(Consumer... globalSecondaryIndexes); /** *

* The version of global tables being used. *

* * @param globalTableVersion * The version of global tables being used. * @return Returns a reference to this object so that method calls can be chained together. */ Builder globalTableVersion(String globalTableVersion); /** *

* The number of items in the table. *

* * @param itemCount * The number of items in the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder itemCount(Integer itemCount); /** *

* The primary key structure for the table. *

* * @param keySchema * The primary key structure for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder keySchema(Collection keySchema); /** *

* The primary key structure for the table. *

* * @param keySchema * The primary key structure for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder keySchema(AwsDynamoDbTableKeySchema... keySchema); /** *

* The primary key structure for the table. *

* This is a convenience that creates an instance of the {@link List.Builder} * avoiding the need to create one manually via {@link List#builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is called * immediately and its result is passed to {@link #keySchema(List)}. * * @param keySchema * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #keySchema(List) */ Builder keySchema(Consumer... keySchema); /** *

* The ARN of the latest stream for the table. *

* * @param latestStreamArn * The ARN of the latest stream for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder latestStreamArn(String latestStreamArn); /** *

* The label of the latest stream. The label is not a unique identifier. *

* * @param latestStreamLabel * The label of the latest stream. The label is not a unique identifier. * @return Returns a reference to this object so that method calls can be chained together. */ Builder latestStreamLabel(String latestStreamLabel); /** *

* The list of local secondary indexes for the table. *

* * @param localSecondaryIndexes * The list of local secondary indexes for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder localSecondaryIndexes(Collection localSecondaryIndexes); /** *

* The list of local secondary indexes for the table. *

* * @param localSecondaryIndexes * The list of local secondary indexes for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder localSecondaryIndexes(AwsDynamoDbTableLocalSecondaryIndex... localSecondaryIndexes); /** *

* The list of local secondary indexes for the table. *

* This is a convenience that creates an instance of the {@link List * .Builder} avoiding the need to create one manually via {@link List * #builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is * called immediately and its result is passed to {@link * #localSecondaryIndexes(List)}. * * @param localSecondaryIndexes * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #localSecondaryIndexes(List) */ Builder localSecondaryIndexes(Consumer... localSecondaryIndexes); /** *

* Information about the provisioned throughput for the table. *

* * @param provisionedThroughput * Information about the provisioned throughput for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder provisionedThroughput(AwsDynamoDbTableProvisionedThroughput provisionedThroughput); /** *

* Information about the provisioned throughput for the table. *

* This is a convenience that creates an instance of the {@link AwsDynamoDbTableProvisionedThroughput.Builder} * avoiding the need to create one manually via {@link AwsDynamoDbTableProvisionedThroughput#builder()}. * * When the {@link Consumer} completes, {@link AwsDynamoDbTableProvisionedThroughput.Builder#build()} is called * immediately and its result is passed to {@link #provisionedThroughput(AwsDynamoDbTableProvisionedThroughput)} * . * * @param provisionedThroughput * a consumer that will call methods on {@link AwsDynamoDbTableProvisionedThroughput.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #provisionedThroughput(AwsDynamoDbTableProvisionedThroughput) */ default Builder provisionedThroughput(Consumer provisionedThroughput) { return provisionedThroughput(AwsDynamoDbTableProvisionedThroughput.builder().applyMutation(provisionedThroughput) .build()); } /** *

* The list of replicas of this table. *

* * @param replicas * The list of replicas of this table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicas(Collection replicas); /** *

* The list of replicas of this table. *

* * @param replicas * The list of replicas of this table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicas(AwsDynamoDbTableReplica... replicas); /** *

* The list of replicas of this table. *

* This is a convenience that creates an instance of the {@link List.Builder} avoiding * the need to create one manually via {@link List#builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is called * immediately and its result is passed to {@link #replicas(List)}. * * @param replicas * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #replicas(List) */ Builder replicas(Consumer... replicas); /** *

* Information about the restore for the table. *

* * @param restoreSummary * Information about the restore for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder restoreSummary(AwsDynamoDbTableRestoreSummary restoreSummary); /** *

* Information about the restore for the table. *

* This is a convenience that creates an instance of the {@link AwsDynamoDbTableRestoreSummary.Builder} avoiding * the need to create one manually via {@link AwsDynamoDbTableRestoreSummary#builder()}. * * When the {@link Consumer} completes, {@link AwsDynamoDbTableRestoreSummary.Builder#build()} is called * immediately and its result is passed to {@link #restoreSummary(AwsDynamoDbTableRestoreSummary)}. * * @param restoreSummary * a consumer that will call methods on {@link AwsDynamoDbTableRestoreSummary.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #restoreSummary(AwsDynamoDbTableRestoreSummary) */ default Builder restoreSummary(Consumer restoreSummary) { return restoreSummary(AwsDynamoDbTableRestoreSummary.builder().applyMutation(restoreSummary).build()); } /** *

* Information about the server-side encryption for the table. *

* * @param sseDescription * Information about the server-side encryption for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sseDescription(AwsDynamoDbTableSseDescription sseDescription); /** *

* Information about the server-side encryption for the table. *

* This is a convenience that creates an instance of the {@link AwsDynamoDbTableSseDescription.Builder} avoiding * the need to create one manually via {@link AwsDynamoDbTableSseDescription#builder()}. * * When the {@link Consumer} completes, {@link AwsDynamoDbTableSseDescription.Builder#build()} is called * immediately and its result is passed to {@link #sseDescription(AwsDynamoDbTableSseDescription)}. * * @param sseDescription * a consumer that will call methods on {@link AwsDynamoDbTableSseDescription.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #sseDescription(AwsDynamoDbTableSseDescription) */ default Builder sseDescription(Consumer sseDescription) { return sseDescription(AwsDynamoDbTableSseDescription.builder().applyMutation(sseDescription).build()); } /** *

* The current DynamoDB Streams configuration for the table. *

* * @param streamSpecification * The current DynamoDB Streams configuration for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder streamSpecification(AwsDynamoDbTableStreamSpecification streamSpecification); /** *

* The current DynamoDB Streams configuration for the table. *

* This is a convenience that creates an instance of the {@link AwsDynamoDbTableStreamSpecification.Builder} * avoiding the need to create one manually via {@link AwsDynamoDbTableStreamSpecification#builder()}. * * When the {@link Consumer} completes, {@link AwsDynamoDbTableStreamSpecification.Builder#build()} is called * immediately and its result is passed to {@link #streamSpecification(AwsDynamoDbTableStreamSpecification)}. * * @param streamSpecification * a consumer that will call methods on {@link AwsDynamoDbTableStreamSpecification.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #streamSpecification(AwsDynamoDbTableStreamSpecification) */ default Builder streamSpecification(Consumer streamSpecification) { return streamSpecification(AwsDynamoDbTableStreamSpecification.builder().applyMutation(streamSpecification).build()); } /** *

* The identifier of the table. *

* * @param tableId * The identifier of the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tableId(String tableId); /** *

* The name of the table. *

* * @param tableName * The name of the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tableName(String tableName); /** *

* The total size of the table in bytes. *

* * @param tableSizeBytes * The total size of the table in bytes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tableSizeBytes(Long tableSizeBytes); /** *

* The current status of the table. *

* * @param tableStatus * The current status of the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tableStatus(String tableStatus); } static final class BuilderImpl implements Builder { private List attributeDefinitions = DefaultSdkAutoConstructList.getInstance(); private AwsDynamoDbTableBillingModeSummary billingModeSummary; private String creationDateTime; private List globalSecondaryIndexes = DefaultSdkAutoConstructList.getInstance(); private String globalTableVersion; private Integer itemCount; private List keySchema = DefaultSdkAutoConstructList.getInstance(); private String latestStreamArn; private String latestStreamLabel; private List localSecondaryIndexes = DefaultSdkAutoConstructList.getInstance(); private AwsDynamoDbTableProvisionedThroughput provisionedThroughput; private List replicas = DefaultSdkAutoConstructList.getInstance(); private AwsDynamoDbTableRestoreSummary restoreSummary; private AwsDynamoDbTableSseDescription sseDescription; private AwsDynamoDbTableStreamSpecification streamSpecification; private String tableId; private String tableName; private Long tableSizeBytes; private String tableStatus; private BuilderImpl() { } private BuilderImpl(AwsDynamoDbTableDetails model) { attributeDefinitions(model.attributeDefinitions); billingModeSummary(model.billingModeSummary); creationDateTime(model.creationDateTime); globalSecondaryIndexes(model.globalSecondaryIndexes); globalTableVersion(model.globalTableVersion); itemCount(model.itemCount); keySchema(model.keySchema); latestStreamArn(model.latestStreamArn); latestStreamLabel(model.latestStreamLabel); localSecondaryIndexes(model.localSecondaryIndexes); provisionedThroughput(model.provisionedThroughput); replicas(model.replicas); restoreSummary(model.restoreSummary); sseDescription(model.sseDescription); streamSpecification(model.streamSpecification); tableId(model.tableId); tableName(model.tableName); tableSizeBytes(model.tableSizeBytes); tableStatus(model.tableStatus); } public final Collection getAttributeDefinitions() { if (attributeDefinitions instanceof SdkAutoConstructList) { return null; } return attributeDefinitions != null ? attributeDefinitions.stream() .map(AwsDynamoDbTableAttributeDefinition::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder attributeDefinitions(Collection attributeDefinitions) { this.attributeDefinitions = AwsDynamoDbTableAttributeDefinitionListCopier.copy(attributeDefinitions); return this; } @Override @SafeVarargs public final Builder attributeDefinitions(AwsDynamoDbTableAttributeDefinition... attributeDefinitions) { attributeDefinitions(Arrays.asList(attributeDefinitions)); return this; } @Override @SafeVarargs public final Builder attributeDefinitions(Consumer... attributeDefinitions) { attributeDefinitions(Stream.of(attributeDefinitions) .map(c -> AwsDynamoDbTableAttributeDefinition.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final void setAttributeDefinitions(Collection attributeDefinitions) { this.attributeDefinitions = AwsDynamoDbTableAttributeDefinitionListCopier.copyFromBuilder(attributeDefinitions); } public final AwsDynamoDbTableBillingModeSummary.Builder getBillingModeSummary() { return billingModeSummary != null ? billingModeSummary.toBuilder() : null; } @Override public final Builder billingModeSummary(AwsDynamoDbTableBillingModeSummary billingModeSummary) { this.billingModeSummary = billingModeSummary; return this; } public final void setBillingModeSummary(AwsDynamoDbTableBillingModeSummary.BuilderImpl billingModeSummary) { this.billingModeSummary = billingModeSummary != null ? billingModeSummary.build() : null; } public final String getCreationDateTime() { return creationDateTime; } @Override public final Builder creationDateTime(String creationDateTime) { this.creationDateTime = creationDateTime; return this; } public final void setCreationDateTime(String creationDateTime) { this.creationDateTime = creationDateTime; } public final Collection getGlobalSecondaryIndexes() { if (globalSecondaryIndexes instanceof SdkAutoConstructList) { return null; } return globalSecondaryIndexes != null ? globalSecondaryIndexes.stream() .map(AwsDynamoDbTableGlobalSecondaryIndex::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder globalSecondaryIndexes(Collection globalSecondaryIndexes) { this.globalSecondaryIndexes = AwsDynamoDbTableGlobalSecondaryIndexListCopier.copy(globalSecondaryIndexes); return this; } @Override @SafeVarargs public final Builder globalSecondaryIndexes(AwsDynamoDbTableGlobalSecondaryIndex... globalSecondaryIndexes) { globalSecondaryIndexes(Arrays.asList(globalSecondaryIndexes)); return this; } @Override @SafeVarargs public final Builder globalSecondaryIndexes( Consumer... globalSecondaryIndexes) { globalSecondaryIndexes(Stream.of(globalSecondaryIndexes) .map(c -> AwsDynamoDbTableGlobalSecondaryIndex.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final void setGlobalSecondaryIndexes( Collection globalSecondaryIndexes) { this.globalSecondaryIndexes = AwsDynamoDbTableGlobalSecondaryIndexListCopier.copyFromBuilder(globalSecondaryIndexes); } public final String getGlobalTableVersion() { return globalTableVersion; } @Override public final Builder globalTableVersion(String globalTableVersion) { this.globalTableVersion = globalTableVersion; return this; } public final void setGlobalTableVersion(String globalTableVersion) { this.globalTableVersion = globalTableVersion; } public final Integer getItemCount() { return itemCount; } @Override public final Builder itemCount(Integer itemCount) { this.itemCount = itemCount; return this; } public final void setItemCount(Integer itemCount) { this.itemCount = itemCount; } public final Collection getKeySchema() { if (keySchema instanceof SdkAutoConstructList) { return null; } return keySchema != null ? keySchema.stream().map(AwsDynamoDbTableKeySchema::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder keySchema(Collection keySchema) { this.keySchema = AwsDynamoDbTableKeySchemaListCopier.copy(keySchema); return this; } @Override @SafeVarargs public final Builder keySchema(AwsDynamoDbTableKeySchema... keySchema) { keySchema(Arrays.asList(keySchema)); return this; } @Override @SafeVarargs public final Builder keySchema(Consumer... keySchema) { keySchema(Stream.of(keySchema).map(c -> AwsDynamoDbTableKeySchema.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final void setKeySchema(Collection keySchema) { this.keySchema = AwsDynamoDbTableKeySchemaListCopier.copyFromBuilder(keySchema); } public final String getLatestStreamArn() { return latestStreamArn; } @Override public final Builder latestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; return this; } public final void setLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; } public final String getLatestStreamLabel() { return latestStreamLabel; } @Override public final Builder latestStreamLabel(String latestStreamLabel) { this.latestStreamLabel = latestStreamLabel; return this; } public final void setLatestStreamLabel(String latestStreamLabel) { this.latestStreamLabel = latestStreamLabel; } public final Collection getLocalSecondaryIndexes() { if (localSecondaryIndexes instanceof SdkAutoConstructList) { return null; } return localSecondaryIndexes != null ? localSecondaryIndexes.stream() .map(AwsDynamoDbTableLocalSecondaryIndex::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder localSecondaryIndexes(Collection localSecondaryIndexes) { this.localSecondaryIndexes = AwsDynamoDbTableLocalSecondaryIndexListCopier.copy(localSecondaryIndexes); return this; } @Override @SafeVarargs public final Builder localSecondaryIndexes(AwsDynamoDbTableLocalSecondaryIndex... localSecondaryIndexes) { localSecondaryIndexes(Arrays.asList(localSecondaryIndexes)); return this; } @Override @SafeVarargs public final Builder localSecondaryIndexes(Consumer... localSecondaryIndexes) { localSecondaryIndexes(Stream.of(localSecondaryIndexes) .map(c -> AwsDynamoDbTableLocalSecondaryIndex.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final void setLocalSecondaryIndexes( Collection localSecondaryIndexes) { this.localSecondaryIndexes = AwsDynamoDbTableLocalSecondaryIndexListCopier.copyFromBuilder(localSecondaryIndexes); } public final AwsDynamoDbTableProvisionedThroughput.Builder getProvisionedThroughput() { return provisionedThroughput != null ? provisionedThroughput.toBuilder() : null; } @Override public final Builder provisionedThroughput(AwsDynamoDbTableProvisionedThroughput provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; return this; } public final void setProvisionedThroughput(AwsDynamoDbTableProvisionedThroughput.BuilderImpl provisionedThroughput) { this.provisionedThroughput = provisionedThroughput != null ? provisionedThroughput.build() : null; } public final Collection getReplicas() { if (replicas instanceof SdkAutoConstructList) { return null; } return replicas != null ? replicas.stream().map(AwsDynamoDbTableReplica::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder replicas(Collection replicas) { this.replicas = AwsDynamoDbTableReplicaListCopier.copy(replicas); return this; } @Override @SafeVarargs public final Builder replicas(AwsDynamoDbTableReplica... replicas) { replicas(Arrays.asList(replicas)); return this; } @Override @SafeVarargs public final Builder replicas(Consumer... replicas) { replicas(Stream.of(replicas).map(c -> AwsDynamoDbTableReplica.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final void setReplicas(Collection replicas) { this.replicas = AwsDynamoDbTableReplicaListCopier.copyFromBuilder(replicas); } public final AwsDynamoDbTableRestoreSummary.Builder getRestoreSummary() { return restoreSummary != null ? restoreSummary.toBuilder() : null; } @Override public final Builder restoreSummary(AwsDynamoDbTableRestoreSummary restoreSummary) { this.restoreSummary = restoreSummary; return this; } public final void setRestoreSummary(AwsDynamoDbTableRestoreSummary.BuilderImpl restoreSummary) { this.restoreSummary = restoreSummary != null ? restoreSummary.build() : null; } public final AwsDynamoDbTableSseDescription.Builder getSseDescription() { return sseDescription != null ? sseDescription.toBuilder() : null; } @Override public final Builder sseDescription(AwsDynamoDbTableSseDescription sseDescription) { this.sseDescription = sseDescription; return this; } public final void setSseDescription(AwsDynamoDbTableSseDescription.BuilderImpl sseDescription) { this.sseDescription = sseDescription != null ? sseDescription.build() : null; } public final AwsDynamoDbTableStreamSpecification.Builder getStreamSpecification() { return streamSpecification != null ? streamSpecification.toBuilder() : null; } @Override public final Builder streamSpecification(AwsDynamoDbTableStreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; return this; } public final void setStreamSpecification(AwsDynamoDbTableStreamSpecification.BuilderImpl streamSpecification) { this.streamSpecification = streamSpecification != null ? streamSpecification.build() : null; } public final String getTableId() { return tableId; } @Override public final Builder tableId(String tableId) { this.tableId = tableId; return this; } public final void setTableId(String tableId) { this.tableId = tableId; } public final String getTableName() { return tableName; } @Override public final Builder tableName(String tableName) { this.tableName = tableName; return this; } public final void setTableName(String tableName) { this.tableName = tableName; } public final Long getTableSizeBytes() { return tableSizeBytes; } @Override public final Builder tableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; return this; } public final void setTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; } public final String getTableStatus() { return tableStatus; } @Override public final Builder tableStatus(String tableStatus) { this.tableStatus = tableStatus; return this; } public final void setTableStatus(String tableStatus) { this.tableStatus = tableStatus; } @Override public AwsDynamoDbTableDetails build() { return new AwsDynamoDbTableDetails(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy