/* * 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 utils.resources.tables; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; import software.amazon.awssdk.services.dynamodb.model.KeyType; import software.amazon.awssdk.services.dynamodb.model.ProvisionedThroughput; import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; import utils.test.resources.DynamoDBTableResource; import utils.test.util.DynamoDBTestBase; /** * DynamoDB table used by {@link ProvisionedThroughputThrottlingIntegrationTest} */ public class BasicTempTableWithLowThroughput extends DynamoDBTableResource { public static final String TEMP_TABLE_NAME = "java-sdk-low-throughput-" + System.currentTimeMillis(); public static final String HASH_KEY_NAME = "hash"; public static final Long READ_CAPACITY = 1L; public static final Long WRITE_CAPACITY = 1L; public static final ProvisionedThroughput DEFAULT_PROVISIONED_THROUGHPUT = ProvisionedThroughput.builder().readCapacityUnits(READ_CAPACITY).writeCapacityUnits(WRITE_CAPACITY).build(); @Override protected DynamoDbClient getClient() { return DynamoDBTestBase.getClient(); } @Override protected CreateTableRequest getCreateTableRequest() { CreateTableRequest request = CreateTableRequest.builder() .tableName(TEMP_TABLE_NAME) .keySchema( KeySchemaElement.builder().attributeName(HASH_KEY_NAME) .keyType(KeyType.HASH).build()) .attributeDefinitions( AttributeDefinition.builder().attributeName( HASH_KEY_NAME).attributeType( ScalarAttributeType.S).build()) .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) .build(); return request; } }