diff --git a/VERSION b/VERSION index b18d52b07f9..804f4bbf944 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.244 \ No newline at end of file +1.11.245 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h index 71cf1f11fe7..37d82117040 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/model/UpdateTableRequest.h @@ -402,49 +402,49 @@ namespace Model /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline const StreamSpecification& GetStreamSpecification() const{ return m_streamSpecification; } /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; } /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline void SetStreamSpecification(const StreamSpecification& value) { m_streamSpecificationHasBeenSet = true; m_streamSpecification = value; } /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline void SetStreamSpecification(StreamSpecification&& value) { m_streamSpecificationHasBeenSet = true; m_streamSpecification = std::move(value); } /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline UpdateTableRequest& WithStreamSpecification(const StreamSpecification& value) { SetStreamSpecification(value); return *this;} /** *

Represents the DynamoDB Streams configuration for the table.

- *

You receive a ResourceInUseException if you try to enable a - * stream on a table that already has a stream, or if you try to disable a stream - * on a table that doesn't have a stream.

+ *

You receive a ValidationException if you try to enable a stream + * on a table that already has a stream, or if you try to disable a stream on a + * table that doesn't have a stream.

*/ inline UpdateTableRequest& WithStreamSpecification(StreamSpecification&& value) { SetStreamSpecification(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h index 94c90482035..076c3cc9bbc 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h @@ -279,6 +279,39 @@ namespace Keyspaces return SubmitAsync(&KeyspacesClient::GetTable, request, handler, context); } + /** + *

Returns auto scaling related settings of the specified table in JSON format. + * If the table is a multi-Region table, the Amazon Web Services Region specific + * auto scaling settings of the table are included.

Amazon Keyspaces auto + * scaling helps you provision throughput capacity for variable workloads + * efficiently by increasing and decreasing your table's read and write capacity + * automatically in response to application traffic. For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetTableAutoScalingSettingsOutcome GetTableAutoScalingSettings(const Model::GetTableAutoScalingSettingsRequest& request) const; + + /** + * A Callable wrapper for GetTableAutoScalingSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTableAutoScalingSettingsOutcomeCallable GetTableAutoScalingSettingsCallable(const GetTableAutoScalingSettingsRequestT& request) const + { + return SubmitCallable(&KeyspacesClient::GetTableAutoScalingSettings, request); + } + + /** + * An Async wrapper for GetTableAutoScalingSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTableAutoScalingSettingsAsync(const GetTableAutoScalingSettingsRequestT& request, const GetTableAutoScalingSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&KeyspacesClient::GetTableAutoScalingSettings, request, handler, context); + } + /** *

Returns a list of keyspaces.

See Also:

AWS @@ -357,7 +390,7 @@ namespace Keyspaces } /** - *

Restores the specified table to the specified point in time within the + *

Restores the table to the specified point in time within the * earliest_restorable_timestamp and the current time. For more * information about restore points, see @@ -368,22 +401,22 @@ namespace Keyspaces * the state based on the selected timestamp (day:hour:minute:second) * to a new table. The Time to Live (TTL) settings are also restored to the state * based on the selected timestamp.

In addition to the table's schema, data, - * and TTL settings, RestoreTable restores the capacity mode, - * encryption, and point-in-time recovery settings from the source table. Unlike - * the table's schema data and TTL settings, which are restored based on the - * selected timestamp, these settings are always restored based on the table's - * settings as of the current time or when the table was deleted.

You can - * also overwrite these settings during restore:

  • Read/write - * capacity mode

  • Provisioned throughput capacity settings

    - *
  • Point-in-time (PITR) settings

  • Tags

  • - *

For more information, see RestoreTable restores the capacity mode, auto + * scaling settings, encryption settings, and point-in-time recovery settings from + * the source table. Unlike the table's schema data and TTL settings, which are + * restored based on the selected timestamp, these settings are always restored + * based on the table's settings as of the current time or when the table was + * deleted.

You can also overwrite these settings during restore:

    + *
  • Read/write capacity mode

  • Provisioned throughput + * capacity units

  • Auto scaling settings

  • + *

    Point-in-time (PITR) settings

  • Tags

For + * more information, see PITR * restore settings in the Amazon Keyspaces Developer Guide.

Note * that the following settings are not restored, and you must configure them - * manually for the new table:

  • Automatic scaling policies (for - * tables that use provisioned capacity mode)

  • Identity and Access - * Management (IAM) policies

  • Amazon CloudWatch metrics and - * alarms

See Also:

  • Identity and Access Management + * (IAM) policies

  • Amazon CloudWatch metrics and alarms

  • + *

See Also:

AWS * API Reference

*/ @@ -469,8 +502,8 @@ namespace Keyspaces /** *

Adds new columns to the table or updates one of the table's settings, for - * example capacity mode, encryption, point-in-time recovery, or ttl settings. Note - * that you can only update one specific table setting per update + * example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl + * settings. Note that you can only update one specific table setting per update * operation.

See Also:

AWS * API Reference

diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h index 5ba65cbf0fd..6f623883c03 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,7 @@ namespace Aws class DeleteTableRequest; class GetKeyspaceRequest; class GetTableRequest; + class GetTableAutoScalingSettingsRequest; class ListKeyspacesRequest; class ListTablesRequest; class ListTagsForResourceRequest; @@ -93,6 +95,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteTableOutcome; typedef Aws::Utils::Outcome GetKeyspaceOutcome; typedef Aws::Utils::Outcome GetTableOutcome; + typedef Aws::Utils::Outcome GetTableAutoScalingSettingsOutcome; typedef Aws::Utils::Outcome ListKeyspacesOutcome; typedef Aws::Utils::Outcome ListTablesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; @@ -109,6 +112,7 @@ namespace Aws typedef std::future DeleteTableOutcomeCallable; typedef std::future GetKeyspaceOutcomeCallable; typedef std::future GetTableOutcomeCallable; + typedef std::future GetTableAutoScalingSettingsOutcomeCallable; typedef std::future ListKeyspacesOutcomeCallable; typedef std::future ListTablesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; @@ -128,6 +132,7 @@ namespace Aws typedef std::function&) > DeleteTableResponseReceivedHandler; typedef std::function&) > GetKeyspaceResponseReceivedHandler; typedef std::function&) > GetTableResponseReceivedHandler; + typedef std::function&) > GetTableAutoScalingSettingsResponseReceivedHandler; typedef std::function&) > ListKeyspacesResponseReceivedHandler; typedef std::function&) > ListTablesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingPolicy.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingPolicy.h new file mode 100644 index 00000000000..64f9e9b8628 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingPolicy.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and + * 90.

See Also:

AWS + * API Reference

+ */ + class AutoScalingPolicy + { + public: + AWS_KEYSPACES_API AutoScalingPolicy(); + AWS_KEYSPACES_API AutoScalingPolicy(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API AutoScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline const TargetTrackingScalingPolicyConfiguration& GetTargetTrackingScalingPolicyConfiguration() const{ return m_targetTrackingScalingPolicyConfiguration; } + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; } + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline void SetTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = value; } + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = std::move(value); } + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline AutoScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { SetTargetTrackingScalingPolicyConfiguration(value); return *this;} + + /** + *

Auto scaling scales up capacity automatically when traffic exceeds this + * target utilization rate, and then back down when it falls below the target. A + * double between 20 and 90.

+ */ + inline AutoScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { SetTargetTrackingScalingPolicyConfiguration(std::move(value)); return *this;} + + private: + + TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration; + bool m_targetTrackingScalingPolicyConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSettings.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSettings.h new file mode 100644 index 00000000000..1ce525fc274 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSettings.h @@ -0,0 +1,223 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The optional auto scaling settings for a table with provisioned throughput + * capacity.

To turn on auto scaling for a table in + * throughputMode:PROVISIONED, you must specify the following + * parameters.

Configure the minimum and maximum units for write and read + * capacity. The auto scaling policy ensures that capacity never goes below the + * minimum or above the maximum range.

  • minimumUnits: + * The minimum level of throughput the table should always be ready to support. The + * value must be between 1 and the max throughput per second quota for your account + * (40,000 by default).

  • maximumUnits: The maximum + * level of throughput the table should always be ready to support. The value must + * be between 1 and the max throughput per second quota for your account (40,000 by + * default).

  • scalingPolicy: Amazon Keyspaces + * supports the target tracking scaling policy. The auto scaling + * target is the provisioned read and write capacity of the table.

    • + *

      targetTrackingScalingPolicyConfiguration: To define the target + * tracking policy, you must define the target value.

      • + * targetValue: The target utilization rate of the table. Amazon + * Keyspaces auto scaling ensures that the ratio of consumed capacity to + * provisioned capacity stays at or near this value. You define + * targetValue as a percentage. A double between 20 and + * 90. (Required)

      • disableScaleIn: A + * boolean that specifies if scale-in is disabled or + * enabled for the table. This parameter is disabled by default. To turn on + * scale-in, set the boolean value to FALSE. + * This means that capacity for a table can be automatically scaled down on your + * behalf. (Optional)

      • scaleInCooldown: A cooldown + * period in seconds between scaling activities that lets the table stabilize + * before another scale in activity starts. If no value is provided, the default is + * 0. (Optional)

      • scaleOutCooldown: A cooldown + * period in seconds between scaling activities that lets the table stabilize + * before another scale out activity starts. If no value is provided, the default + * is 0. (Optional)

For more + * information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

See Also:

AWS + * API Reference

+ */ + class AutoScalingSettings + { + public: + AWS_KEYSPACES_API AutoScalingSettings(); + AWS_KEYSPACES_API AutoScalingSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API AutoScalingSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

This optional parameter enables auto scaling for the table if set to + * false.

+ */ + inline bool GetAutoScalingDisabled() const{ return m_autoScalingDisabled; } + + /** + *

This optional parameter enables auto scaling for the table if set to + * false.

+ */ + inline bool AutoScalingDisabledHasBeenSet() const { return m_autoScalingDisabledHasBeenSet; } + + /** + *

This optional parameter enables auto scaling for the table if set to + * false.

+ */ + inline void SetAutoScalingDisabled(bool value) { m_autoScalingDisabledHasBeenSet = true; m_autoScalingDisabled = value; } + + /** + *

This optional parameter enables auto scaling for the table if set to + * false.

+ */ + inline AutoScalingSettings& WithAutoScalingDisabled(bool value) { SetAutoScalingDisabled(value); return *this;} + + + /** + *

The minimum level of throughput the table should always be ready to support. + * The value must be between 1 and the max throughput per second quota for your + * account (40,000 by default).

+ */ + inline long long GetMinimumUnits() const{ return m_minimumUnits; } + + /** + *

The minimum level of throughput the table should always be ready to support. + * The value must be between 1 and the max throughput per second quota for your + * account (40,000 by default).

+ */ + inline bool MinimumUnitsHasBeenSet() const { return m_minimumUnitsHasBeenSet; } + + /** + *

The minimum level of throughput the table should always be ready to support. + * The value must be between 1 and the max throughput per second quota for your + * account (40,000 by default).

+ */ + inline void SetMinimumUnits(long long value) { m_minimumUnitsHasBeenSet = true; m_minimumUnits = value; } + + /** + *

The minimum level of throughput the table should always be ready to support. + * The value must be between 1 and the max throughput per second quota for your + * account (40,000 by default).

+ */ + inline AutoScalingSettings& WithMinimumUnits(long long value) { SetMinimumUnits(value); return *this;} + + + /** + *

Manage costs by specifying the maximum amount of throughput to provision. The + * value must be between 1 and the max throughput per second quota for your account + * (40,000 by default).

+ */ + inline long long GetMaximumUnits() const{ return m_maximumUnits; } + + /** + *

Manage costs by specifying the maximum amount of throughput to provision. The + * value must be between 1 and the max throughput per second quota for your account + * (40,000 by default).

+ */ + inline bool MaximumUnitsHasBeenSet() const { return m_maximumUnitsHasBeenSet; } + + /** + *

Manage costs by specifying the maximum amount of throughput to provision. The + * value must be between 1 and the max throughput per second quota for your account + * (40,000 by default).

+ */ + inline void SetMaximumUnits(long long value) { m_maximumUnitsHasBeenSet = true; m_maximumUnits = value; } + + /** + *

Manage costs by specifying the maximum amount of throughput to provision. The + * value must be between 1 and the max throughput per second quota for your account + * (40,000 by default).

+ */ + inline AutoScalingSettings& WithMaximumUnits(long long value) { SetMaximumUnits(value); return *this;} + + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline const AutoScalingPolicy& GetScalingPolicy() const{ return m_scalingPolicy; } + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline bool ScalingPolicyHasBeenSet() const { return m_scalingPolicyHasBeenSet; } + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline void SetScalingPolicy(const AutoScalingPolicy& value) { m_scalingPolicyHasBeenSet = true; m_scalingPolicy = value; } + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline void SetScalingPolicy(AutoScalingPolicy&& value) { m_scalingPolicyHasBeenSet = true; m_scalingPolicy = std::move(value); } + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline AutoScalingSettings& WithScalingPolicy(const AutoScalingPolicy& value) { SetScalingPolicy(value); return *this;} + + /** + *

Amazon Keyspaces supports the target tracking auto scaling + * policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's + * ratio of consumed to provisioned capacity stays at or near the target value that + * you specify. You define the target value as a percentage between 20 and 90.

+ */ + inline AutoScalingSettings& WithScalingPolicy(AutoScalingPolicy&& value) { SetScalingPolicy(std::move(value)); return *this;} + + private: + + bool m_autoScalingDisabled; + bool m_autoScalingDisabledHasBeenSet = false; + + long long m_minimumUnits; + bool m_minimumUnitsHasBeenSet = false; + + long long m_maximumUnits; + bool m_maximumUnitsHasBeenSet = false; + + AutoScalingPolicy m_scalingPolicy; + bool m_scalingPolicyHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSpecification.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSpecification.h new file mode 100644 index 00000000000..dbe3486d8bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/AutoScalingSpecification.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The optional auto scaling settings for read and write capacity of a table in + * provisioned capacity mode.

See Also:

AWS + * API Reference

+ */ + class AutoScalingSpecification + { + public: + AWS_KEYSPACES_API AutoScalingSpecification(); + AWS_KEYSPACES_API AutoScalingSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API AutoScalingSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline const AutoScalingSettings& GetWriteCapacityAutoScaling() const{ return m_writeCapacityAutoScaling; } + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline bool WriteCapacityAutoScalingHasBeenSet() const { return m_writeCapacityAutoScalingHasBeenSet; } + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline void SetWriteCapacityAutoScaling(const AutoScalingSettings& value) { m_writeCapacityAutoScalingHasBeenSet = true; m_writeCapacityAutoScaling = value; } + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline void SetWriteCapacityAutoScaling(AutoScalingSettings&& value) { m_writeCapacityAutoScalingHasBeenSet = true; m_writeCapacityAutoScaling = std::move(value); } + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline AutoScalingSpecification& WithWriteCapacityAutoScaling(const AutoScalingSettings& value) { SetWriteCapacityAutoScaling(value); return *this;} + + /** + *

The auto scaling settings for the table's write capacity.

+ */ + inline AutoScalingSpecification& WithWriteCapacityAutoScaling(AutoScalingSettings&& value) { SetWriteCapacityAutoScaling(std::move(value)); return *this;} + + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline const AutoScalingSettings& GetReadCapacityAutoScaling() const{ return m_readCapacityAutoScaling; } + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline bool ReadCapacityAutoScalingHasBeenSet() const { return m_readCapacityAutoScalingHasBeenSet; } + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline void SetReadCapacityAutoScaling(const AutoScalingSettings& value) { m_readCapacityAutoScalingHasBeenSet = true; m_readCapacityAutoScaling = value; } + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline void SetReadCapacityAutoScaling(AutoScalingSettings&& value) { m_readCapacityAutoScalingHasBeenSet = true; m_readCapacityAutoScaling = std::move(value); } + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline AutoScalingSpecification& WithReadCapacityAutoScaling(const AutoScalingSettings& value) { SetReadCapacityAutoScaling(value); return *this;} + + /** + *

The auto scaling settings for the table's read capacity.

+ */ + inline AutoScalingSpecification& WithReadCapacityAutoScaling(AutoScalingSettings&& value) { SetReadCapacityAutoScaling(std::move(value)); return *this;} + + private: + + AutoScalingSettings m_writeCapacityAutoScaling; + bool m_writeCapacityAutoScalingHasBeenSet = false; + + AutoScalingSettings m_readCapacityAutoScaling; + bool m_readCapacityAutoScalingHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTableRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTableRequest.h index 36a92e8df99..baecf8ae943 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTableRequest.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTableRequest.h @@ -15,7 +15,9 @@ #include #include #include +#include #include +#include #include namespace Aws @@ -769,6 +771,220 @@ namespace Model */ inline CreateTableRequest& WithClientSideTimestamps(ClientSideTimestamps&& value) { SetClientSideTimestamps(std::move(value)); return *this;} + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline const AutoScalingSpecification& GetAutoScalingSpecification() const{ return m_autoScalingSpecification; } + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline bool AutoScalingSpecificationHasBeenSet() const { return m_autoScalingSpecificationHasBeenSet; } + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline void SetAutoScalingSpecification(const AutoScalingSpecification& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = value; } + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline void SetAutoScalingSpecification(AutoScalingSpecification&& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = std::move(value); } + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline CreateTableRequest& WithAutoScalingSpecification(const AutoScalingSpecification& value) { SetAutoScalingSpecification(value); return *this;} + + /** + *

The optional auto scaling settings for a table in provisioned capacity mode. + * Specifies if the service can manage throughput capacity automatically on your + * behalf.

Auto scaling helps you provision throughput capacity for variable + * workloads efficiently by increasing and decreasing your table's read and write + * capacity automatically in response to application traffic. For more information, + * see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

By default, auto scaling is + * disabled for a table.

+ */ + inline CreateTableRequest& WithAutoScalingSpecification(AutoScalingSpecification&& value) { SetAutoScalingSpecification(std::move(value)); return *this;} + + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline const Aws::Vector& GetReplicaSpecifications() const{ return m_replicaSpecifications; } + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline bool ReplicaSpecificationsHasBeenSet() const { return m_replicaSpecificationsHasBeenSet; } + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline void SetReplicaSpecifications(const Aws::Vector& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = value; } + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline void SetReplicaSpecifications(Aws::Vector&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = std::move(value); } + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline CreateTableRequest& WithReplicaSpecifications(const Aws::Vector& value) { SetReplicaSpecifications(value); return *this;} + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline CreateTableRequest& WithReplicaSpecifications(Aws::Vector&& value) { SetReplicaSpecifications(std::move(value)); return *this;} + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline CreateTableRequest& AddReplicaSpecifications(const ReplicaSpecification& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(value); return *this; } + + /** + *

The optional Amazon Web Services Region specific settings of a multi-Region + * table. These settings overwrite the general settings of the table for the + * specified Region.

For a multi-Region table in provisioned capacity mode, + * you can configure the table's read capacity differently for each Region's + * replica. The write capacity, however, remains synchronized between all replicas + * to ensure that there's enough capacity to replicate writes across all Regions. + * To define the read capacity for a table replica in a specific Region, you can do + * so by configuring the following parameters.

  • + * region: The Region where these settings are applied. (Required)

    + *
  • readCapacityUnits: The provisioned read capacity + * units. (Optional)

  • readCapacityAutoScaling: The + * read capacity auto scaling settings for the table. (Optional)

+ */ + inline CreateTableRequest& AddReplicaSpecifications(ReplicaSpecification&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(std::move(value)); return *this; } + private: Aws::String m_keyspaceName; @@ -803,6 +1019,12 @@ namespace Model ClientSideTimestamps m_clientSideTimestamps; bool m_clientSideTimestampsHasBeenSet = false; + + AutoScalingSpecification m_autoScalingSpecification; + bool m_autoScalingSpecificationHasBeenSet = false; + + Aws::Vector m_replicaSpecifications; + bool m_replicaSpecificationsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsRequest.h new file mode 100644 index 00000000000..ccdc581e82c --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsRequest.h @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + + /** + */ + class GetTableAutoScalingSettingsRequest : public KeyspacesRequest + { + public: + AWS_KEYSPACES_API GetTableAutoScalingSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetTableAutoScalingSettings"; } + + AWS_KEYSPACES_API Aws::String SerializePayload() const override; + + AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The name of the keyspace.

+ */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + + /** + *

The name of the keyspace.

+ */ + inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + + /** + *

The name of the table.

+ */ + inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsRequest& WithTableName(const char* value) { SetTableName(value); return *this;} + + private: + + Aws::String m_keyspaceName; + bool m_keyspaceNameHasBeenSet = false; + + Aws::String m_tableName; + bool m_tableNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsResult.h new file mode 100644 index 00000000000..bca3e3396ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableAutoScalingSettingsResult.h @@ -0,0 +1,253 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + class GetTableAutoScalingSettingsResult + { + public: + AWS_KEYSPACES_API GetTableAutoScalingSettingsResult(); + AWS_KEYSPACES_API GetTableAutoScalingSettingsResult(const Aws::AmazonWebServiceResult& result); + AWS_KEYSPACES_API GetTableAutoScalingSettingsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The name of the keyspace.

+ */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceName = value; } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceName = std::move(value); } + + /** + *

The name of the keyspace.

+ */ + inline void SetKeyspaceName(const char* value) { m_keyspaceName.assign(value); } + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsResult& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsResult& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + + /** + *

The name of the keyspace.

+ */ + inline GetTableAutoScalingSettingsResult& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const Aws::String& value) { m_tableName = value; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(Aws::String&& value) { m_tableName = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const char* value) { m_tableName.assign(value); } + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithTableName(const char* value) { SetTableName(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

The auto scaling settings of the table.

+ */ + inline const AutoScalingSpecification& GetAutoScalingSpecification() const{ return m_autoScalingSpecification; } + + /** + *

The auto scaling settings of the table.

+ */ + inline void SetAutoScalingSpecification(const AutoScalingSpecification& value) { m_autoScalingSpecification = value; } + + /** + *

The auto scaling settings of the table.

+ */ + inline void SetAutoScalingSpecification(AutoScalingSpecification&& value) { m_autoScalingSpecification = std::move(value); } + + /** + *

The auto scaling settings of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithAutoScalingSpecification(const AutoScalingSpecification& value) { SetAutoScalingSpecification(value); return *this;} + + /** + *

The auto scaling settings of the table.

+ */ + inline GetTableAutoScalingSettingsResult& WithAutoScalingSpecification(AutoScalingSpecification&& value) { SetAutoScalingSpecification(std::move(value)); return *this;} + + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline const Aws::Vector& GetReplicaSpecifications() const{ return m_replicaSpecifications; } + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline void SetReplicaSpecifications(const Aws::Vector& value) { m_replicaSpecifications = value; } + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline void SetReplicaSpecifications(Aws::Vector&& value) { m_replicaSpecifications = std::move(value); } + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline GetTableAutoScalingSettingsResult& WithReplicaSpecifications(const Aws::Vector& value) { SetReplicaSpecifications(value); return *this;} + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline GetTableAutoScalingSettingsResult& WithReplicaSpecifications(Aws::Vector&& value) { SetReplicaSpecifications(std::move(value)); return *this;} + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline GetTableAutoScalingSettingsResult& AddReplicaSpecifications(const ReplicaAutoScalingSpecification& value) { m_replicaSpecifications.push_back(value); return *this; } + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table. + * Returns the settings for all Regions the table is replicated in.

+ */ + inline GetTableAutoScalingSettingsResult& AddReplicaSpecifications(ReplicaAutoScalingSpecification&& value) { m_replicaSpecifications.push_back(std::move(value)); return *this; } + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline GetTableAutoScalingSettingsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetTableAutoScalingSettingsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetTableAutoScalingSettingsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_keyspaceName; + + Aws::String m_tableName; + + Aws::String m_resourceArn; + + AutoScalingSpecification m_autoScalingSpecification; + + Aws::Vector m_replicaSpecifications; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableResult.h index 19c81ee827f..76e7730e5a6 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableResult.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTableResult.h @@ -15,6 +15,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -409,6 +411,49 @@ namespace Model inline GetTableResult& WithClientSideTimestamps(ClientSideTimestamps&& value) { SetClientSideTimestamps(std::move(value)); return *this;} + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline const Aws::Vector& GetReplicaSpecifications() const{ return m_replicaSpecifications; } + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline void SetReplicaSpecifications(const Aws::Vector& value) { m_replicaSpecifications = value; } + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline void SetReplicaSpecifications(Aws::Vector&& value) { m_replicaSpecifications = std::move(value); } + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline GetTableResult& WithReplicaSpecifications(const Aws::Vector& value) { SetReplicaSpecifications(value); return *this;} + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline GetTableResult& WithReplicaSpecifications(Aws::Vector&& value) { SetReplicaSpecifications(std::move(value)); return *this;} + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline GetTableResult& AddReplicaSpecifications(const ReplicaSpecificationSummary& value) { m_replicaSpecifications.push_back(value); return *this; } + + /** + *

Returns the Amazon Web Services Region specific settings of all Regions a + * multi-Region table is replicated in.

+ */ + inline GetTableResult& AddReplicaSpecifications(ReplicaSpecificationSummary&& value) { m_replicaSpecifications.push_back(std::move(value)); return *this; } + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -458,6 +503,8 @@ namespace Model ClientSideTimestamps m_clientSideTimestamps; + Aws::Vector m_replicaSpecifications; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaAutoScalingSpecification.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaAutoScalingSpecification.h new file mode 100644 index 00000000000..ae7f045ee0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaAutoScalingSpecification.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The auto scaling settings of a multi-Region table in the specified Amazon Web + * Services Region.

See Also:

AWS + * API Reference

+ */ + class ReplicaAutoScalingSpecification + { + public: + AWS_KEYSPACES_API ReplicaAutoScalingSpecification(); + AWS_KEYSPACES_API ReplicaAutoScalingSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API ReplicaAutoScalingSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

The Amazon Web Services Region.

+ */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

The Amazon Web Services Region.

+ */ + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaAutoScalingSpecification& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaAutoScalingSpecification& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaAutoScalingSpecification& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline const AutoScalingSpecification& GetAutoScalingSpecification() const{ return m_autoScalingSpecification; } + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline bool AutoScalingSpecificationHasBeenSet() const { return m_autoScalingSpecificationHasBeenSet; } + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline void SetAutoScalingSpecification(const AutoScalingSpecification& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = value; } + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline void SetAutoScalingSpecification(AutoScalingSpecification&& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = std::move(value); } + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline ReplicaAutoScalingSpecification& WithAutoScalingSpecification(const AutoScalingSpecification& value) { SetAutoScalingSpecification(value); return *this;} + + /** + *

The auto scaling settings for a multi-Region table in the specified Amazon + * Web Services Region.

+ */ + inline ReplicaAutoScalingSpecification& WithAutoScalingSpecification(AutoScalingSpecification&& value) { SetAutoScalingSpecification(std::move(value)); return *this;} + + private: + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + AutoScalingSpecification m_autoScalingSpecification; + bool m_autoScalingSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecification.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecification.h new file mode 100644 index 00000000000..5fead442318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecification.h @@ -0,0 +1,165 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The Amazon Web Services Region specific settings of a multi-Region table.

+ *

For a multi-Region table, you can configure the table's read capacity + * differently per Amazon Web Services Region. You can do this by configuring the + * following parameters.

  • region: The Region where + * these settings are applied. (Required)

  • + * readCapacityUnits: The provisioned read capacity units. + * (Optional)

  • readCapacityAutoScaling: The read + * capacity auto scaling settings for the table. (Optional)

  • + *

See Also:

AWS + * API Reference

+ */ + class ReplicaSpecification + { + public: + AWS_KEYSPACES_API ReplicaSpecification(); + AWS_KEYSPACES_API ReplicaSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API ReplicaSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

The Amazon Web Services Region.

+ */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

The Amazon Web Services Region.

+ */ + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

The provisioned read capacity units for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline long long GetReadCapacityUnits() const{ return m_readCapacityUnits; } + + /** + *

The provisioned read capacity units for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline bool ReadCapacityUnitsHasBeenSet() const { return m_readCapacityUnitsHasBeenSet; } + + /** + *

The provisioned read capacity units for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline void SetReadCapacityUnits(long long value) { m_readCapacityUnitsHasBeenSet = true; m_readCapacityUnits = value; } + + /** + *

The provisioned read capacity units for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithReadCapacityUnits(long long value) { SetReadCapacityUnits(value); return *this;} + + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline const AutoScalingSettings& GetReadCapacityAutoScaling() const{ return m_readCapacityAutoScaling; } + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline bool ReadCapacityAutoScalingHasBeenSet() const { return m_readCapacityAutoScalingHasBeenSet; } + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline void SetReadCapacityAutoScaling(const AutoScalingSettings& value) { m_readCapacityAutoScalingHasBeenSet = true; m_readCapacityAutoScaling = value; } + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline void SetReadCapacityAutoScaling(AutoScalingSettings&& value) { m_readCapacityAutoScalingHasBeenSet = true; m_readCapacityAutoScaling = std::move(value); } + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithReadCapacityAutoScaling(const AutoScalingSettings& value) { SetReadCapacityAutoScaling(value); return *this;} + + /** + *

The read capacity auto scaling settings for the multi-Region table in the + * specified Amazon Web Services Region.

+ */ + inline ReplicaSpecification& WithReadCapacityAutoScaling(AutoScalingSettings&& value) { SetReadCapacityAutoScaling(std::move(value)); return *this;} + + private: + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + long long m_readCapacityUnits; + bool m_readCapacityUnitsHasBeenSet = false; + + AutoScalingSettings m_readCapacityAutoScaling; + bool m_readCapacityAutoScalingHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecificationSummary.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecificationSummary.h new file mode 100644 index 00000000000..bd880b48771 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ReplicaSpecificationSummary.h @@ -0,0 +1,159 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The Region-specific settings of a multi-Region table in the specified Amazon + * Web Services Region.

If the multi-Region table is using provisioned + * capacity and has optional auto scaling policies configured, note that the Region + * specific summary returns both read and write capacity settings. But only Region + * specific read capacity settings can be configured for a multi-Region table. In a + * multi-Region table, your write capacity units will be synced across all Amazon + * Web Services Regions to ensure that there is enough capacity to replicate write + * events across Regions.

See Also:

AWS + * API Reference

+ */ + class ReplicaSpecificationSummary + { + public: + AWS_KEYSPACES_API ReplicaSpecificationSummary(); + AWS_KEYSPACES_API ReplicaSpecificationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API ReplicaSpecificationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

The Amazon Web Services Region.

+ */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

The Amazon Web Services Region.

+ */ + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecificationSummary& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecificationSummary& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

The Amazon Web Services Region.

+ */ + inline ReplicaSpecificationSummary& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline const TableStatus& GetStatus() const{ return m_status; } + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline void SetStatus(const TableStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline void SetStatus(TableStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline ReplicaSpecificationSummary& WithStatus(const TableStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of the multi-Region table in the specified Amazon Web Services + * Region.

+ */ + inline ReplicaSpecificationSummary& WithStatus(TableStatus&& value) { SetStatus(std::move(value)); return *this;} + + + + inline const CapacitySpecificationSummary& GetCapacitySpecification() const{ return m_capacitySpecification; } + + + inline bool CapacitySpecificationHasBeenSet() const { return m_capacitySpecificationHasBeenSet; } + + + inline void SetCapacitySpecification(const CapacitySpecificationSummary& value) { m_capacitySpecificationHasBeenSet = true; m_capacitySpecification = value; } + + + inline void SetCapacitySpecification(CapacitySpecificationSummary&& value) { m_capacitySpecificationHasBeenSet = true; m_capacitySpecification = std::move(value); } + + + inline ReplicaSpecificationSummary& WithCapacitySpecification(const CapacitySpecificationSummary& value) { SetCapacitySpecification(value); return *this;} + + + inline ReplicaSpecificationSummary& WithCapacitySpecification(CapacitySpecificationSummary&& value) { SetCapacitySpecification(std::move(value)); return *this;} + + private: + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + TableStatus m_status; + bool m_statusHasBeenSet = false; + + CapacitySpecificationSummary m_capacitySpecification; + bool m_capacitySpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h index 556f97f098f..ddf459f4cb3 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h @@ -39,28 +39,44 @@ namespace Model AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; - + /** + *

Description of the error.

+ */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

Description of the error.

+ */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

Description of the error.

+ */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

Description of the error.

+ */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

Description of the error.

+ */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

Description of the error.

+ */ inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

Description of the error.

+ */ inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

Description of the error.

+ */ inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/RestoreTableRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/RestoreTableRequest.h index 21ef18df81b..cfd849b904f 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/RestoreTableRequest.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/RestoreTableRequest.h @@ -12,7 +12,9 @@ #include #include #include +#include #include +#include #include namespace Aws @@ -532,6 +534,126 @@ namespace Model */ inline RestoreTableRequest& AddTagsOverride(Tag&& value) { m_tagsOverrideHasBeenSet = true; m_tagsOverride.push_back(std::move(value)); return *this; } + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline const AutoScalingSpecification& GetAutoScalingSpecification() const{ return m_autoScalingSpecification; } + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline bool AutoScalingSpecificationHasBeenSet() const { return m_autoScalingSpecificationHasBeenSet; } + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline void SetAutoScalingSpecification(const AutoScalingSpecification& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = value; } + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline void SetAutoScalingSpecification(AutoScalingSpecification&& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = std::move(value); } + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline RestoreTableRequest& WithAutoScalingSpecification(const AutoScalingSpecification& value) { SetAutoScalingSpecification(value); return *this;} + + /** + *

The optional auto scaling settings for the restored table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

For more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline RestoreTableRequest& WithAutoScalingSpecification(AutoScalingSpecification&& value) { SetAutoScalingSpecification(std::move(value)); return *this;} + + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline const Aws::Vector& GetReplicaSpecifications() const{ return m_replicaSpecifications; } + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline bool ReplicaSpecificationsHasBeenSet() const { return m_replicaSpecificationsHasBeenSet; } + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline void SetReplicaSpecifications(const Aws::Vector& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = value; } + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline void SetReplicaSpecifications(Aws::Vector&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = std::move(value); } + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline RestoreTableRequest& WithReplicaSpecifications(const Aws::Vector& value) { SetReplicaSpecifications(value); return *this;} + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline RestoreTableRequest& WithReplicaSpecifications(Aws::Vector&& value) { SetReplicaSpecifications(std::move(value)); return *this;} + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline RestoreTableRequest& AddReplicaSpecifications(const ReplicaSpecification& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(value); return *this; } + + /** + *

The optional Region specific settings of a multi-Regional table.

+ */ + inline RestoreTableRequest& AddReplicaSpecifications(ReplicaSpecification&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(std::move(value)); return *this; } + private: Aws::String m_sourceKeyspaceName; @@ -560,6 +682,12 @@ namespace Model Aws::Vector m_tagsOverride; bool m_tagsOverrideHasBeenSet = false; + + AutoScalingSpecification m_autoScalingSpecification; + bool m_autoScalingSpecificationHasBeenSet = false; + + Aws::Vector m_replicaSpecifications; + bool m_replicaSpecificationsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TargetTrackingScalingPolicyConfiguration.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TargetTrackingScalingPolicyConfiguration.h new file mode 100644 index 00000000000..96197fe5e37 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TargetTrackingScalingPolicyConfiguration.h @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

The auto scaling policy that scales a table based on the ratio of consumed to + * provisioned capacity.

See Also:

AWS + * API Reference

+ */ + class TargetTrackingScalingPolicyConfiguration + { + public: + AWS_KEYSPACES_API TargetTrackingScalingPolicyConfiguration(); + AWS_KEYSPACES_API TargetTrackingScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API TargetTrackingScalingPolicyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

Specifies if scale-in is enabled.

When auto scaling + * automatically decreases capacity for a table, the table scales in. When + * scaling policies are set, they can't scale in the table lower than its minimum + * capacity.

+ */ + inline bool GetDisableScaleIn() const{ return m_disableScaleIn; } + + /** + *

Specifies if scale-in is enabled.

When auto scaling + * automatically decreases capacity for a table, the table scales in. When + * scaling policies are set, they can't scale in the table lower than its minimum + * capacity.

+ */ + inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; } + + /** + *

Specifies if scale-in is enabled.

When auto scaling + * automatically decreases capacity for a table, the table scales in. When + * scaling policies are set, they can't scale in the table lower than its minimum + * capacity.

+ */ + inline void SetDisableScaleIn(bool value) { m_disableScaleInHasBeenSet = true; m_disableScaleIn = value; } + + /** + *

Specifies if scale-in is enabled.

When auto scaling + * automatically decreases capacity for a table, the table scales in. When + * scaling policies are set, they can't scale in the table lower than its minimum + * capacity.

+ */ + inline TargetTrackingScalingPolicyConfiguration& WithDisableScaleIn(bool value) { SetDisableScaleIn(value); return *this;} + + + /** + *

Specifies a scale-in cool down period.

A cooldown period + * in seconds between scaling activities that lets the table stabilize before + * another scaling activity starts.

+ */ + inline int GetScaleInCooldown() const{ return m_scaleInCooldown; } + + /** + *

Specifies a scale-in cool down period.

A cooldown period + * in seconds between scaling activities that lets the table stabilize before + * another scaling activity starts.

+ */ + inline bool ScaleInCooldownHasBeenSet() const { return m_scaleInCooldownHasBeenSet; } + + /** + *

Specifies a scale-in cool down period.

A cooldown period + * in seconds between scaling activities that lets the table stabilize before + * another scaling activity starts.

+ */ + inline void SetScaleInCooldown(int value) { m_scaleInCooldownHasBeenSet = true; m_scaleInCooldown = value; } + + /** + *

Specifies a scale-in cool down period.

A cooldown period + * in seconds between scaling activities that lets the table stabilize before + * another scaling activity starts.

+ */ + inline TargetTrackingScalingPolicyConfiguration& WithScaleInCooldown(int value) { SetScaleInCooldown(value); return *this;} + + + /** + *

Specifies a scale out cool down period.

A cooldown period in seconds + * between scaling activities that lets the table stabilize before another scaling + * activity starts.

+ */ + inline int GetScaleOutCooldown() const{ return m_scaleOutCooldown; } + + /** + *

Specifies a scale out cool down period.

A cooldown period in seconds + * between scaling activities that lets the table stabilize before another scaling + * activity starts.

+ */ + inline bool ScaleOutCooldownHasBeenSet() const { return m_scaleOutCooldownHasBeenSet; } + + /** + *

Specifies a scale out cool down period.

A cooldown period in seconds + * between scaling activities that lets the table stabilize before another scaling + * activity starts.

+ */ + inline void SetScaleOutCooldown(int value) { m_scaleOutCooldownHasBeenSet = true; m_scaleOutCooldown = value; } + + /** + *

Specifies a scale out cool down period.

A cooldown period in seconds + * between scaling activities that lets the table stabilize before another scaling + * activity starts.

+ */ + inline TargetTrackingScalingPolicyConfiguration& WithScaleOutCooldown(int value) { SetScaleOutCooldown(value); return *this;} + + + /** + *

Specifies the target value for the target tracking auto scaling policy.

+ *

Amazon Keyspaces auto scaling scales up capacity automatically when traffic + * exceeds this target utilization rate, and then back down when it falls below the + * target. This ensures that the ratio of consumed capacity to provisioned capacity + * stays at or near this value. You define targetValue as a + * percentage. A double between 20 and 90.

+ */ + inline double GetTargetValue() const{ return m_targetValue; } + + /** + *

Specifies the target value for the target tracking auto scaling policy.

+ *

Amazon Keyspaces auto scaling scales up capacity automatically when traffic + * exceeds this target utilization rate, and then back down when it falls below the + * target. This ensures that the ratio of consumed capacity to provisioned capacity + * stays at or near this value. You define targetValue as a + * percentage. A double between 20 and 90.

+ */ + inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; } + + /** + *

Specifies the target value for the target tracking auto scaling policy.

+ *

Amazon Keyspaces auto scaling scales up capacity automatically when traffic + * exceeds this target utilization rate, and then back down when it falls below the + * target. This ensures that the ratio of consumed capacity to provisioned capacity + * stays at or near this value. You define targetValue as a + * percentage. A double between 20 and 90.

+ */ + inline void SetTargetValue(double value) { m_targetValueHasBeenSet = true; m_targetValue = value; } + + /** + *

Specifies the target value for the target tracking auto scaling policy.

+ *

Amazon Keyspaces auto scaling scales up capacity automatically when traffic + * exceeds this target utilization rate, and then back down when it falls below the + * target. This ensures that the ratio of consumed capacity to provisioned capacity + * stays at or near this value. You define targetValue as a + * percentage. A double between 20 and 90.

+ */ + inline TargetTrackingScalingPolicyConfiguration& WithTargetValue(double value) { SetTargetValue(value); return *this;} + + private: + + bool m_disableScaleIn; + bool m_disableScaleInHasBeenSet = false; + + int m_scaleInCooldown; + bool m_scaleInCooldownHasBeenSet = false; + + int m_scaleOutCooldown; + bool m_scaleOutCooldownHasBeenSet = false; + + double m_targetValue; + bool m_targetValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/UpdateTableRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/UpdateTableRequest.h index 8c61d54840c..711f4339ac3 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/UpdateTableRequest.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/UpdateTableRequest.h @@ -13,7 +13,9 @@ #include #include #include +#include #include +#include #include namespace Aws @@ -585,6 +587,144 @@ namespace Model */ inline UpdateTableRequest& WithClientSideTimestamps(ClientSideTimestamps&& value) { SetClientSideTimestamps(std::move(value)); return *this;} + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline const AutoScalingSpecification& GetAutoScalingSpecification() const{ return m_autoScalingSpecification; } + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline bool AutoScalingSpecificationHasBeenSet() const { return m_autoScalingSpecificationHasBeenSet; } + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline void SetAutoScalingSpecification(const AutoScalingSpecification& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = value; } + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline void SetAutoScalingSpecification(AutoScalingSpecification&& value) { m_autoScalingSpecificationHasBeenSet = true; m_autoScalingSpecification = std::move(value); } + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline UpdateTableRequest& WithAutoScalingSpecification(const AutoScalingSpecification& value) { SetAutoScalingSpecification(value); return *this;} + + /** + *

The optional auto scaling settings to update for a table in provisioned + * capacity mode. Specifies if the service can manage throughput capacity of a + * provisioned table automatically on your behalf. Amazon Keyspaces auto scaling + * helps you provision throughput capacity for variable workloads efficiently by + * increasing and decreasing your table's read and write capacity automatically in + * response to application traffic.

If auto scaling is already enabled for + * the table, you can use UpdateTable to update the minimum and + * maximum values or the auto scaling policy settings independently.

For + * more information, see Managing + * throughput capacity automatically with Amazon Keyspaces auto scaling in the + * Amazon Keyspaces Developer Guide.

+ */ + inline UpdateTableRequest& WithAutoScalingSpecification(AutoScalingSpecification&& value) { SetAutoScalingSpecification(std::move(value)); return *this;} + + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline const Aws::Vector& GetReplicaSpecifications() const{ return m_replicaSpecifications; } + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline bool ReplicaSpecificationsHasBeenSet() const { return m_replicaSpecificationsHasBeenSet; } + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline void SetReplicaSpecifications(const Aws::Vector& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = value; } + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline void SetReplicaSpecifications(Aws::Vector&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications = std::move(value); } + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline UpdateTableRequest& WithReplicaSpecifications(const Aws::Vector& value) { SetReplicaSpecifications(value); return *this;} + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline UpdateTableRequest& WithReplicaSpecifications(Aws::Vector&& value) { SetReplicaSpecifications(std::move(value)); return *this;} + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline UpdateTableRequest& AddReplicaSpecifications(const ReplicaSpecification& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(value); return *this; } + + /** + *

The Region specific settings of a multi-Regional table.

+ */ + inline UpdateTableRequest& AddReplicaSpecifications(ReplicaSpecification&& value) { m_replicaSpecificationsHasBeenSet = true; m_replicaSpecifications.push_back(std::move(value)); return *this; } + private: Aws::String m_keyspaceName; @@ -613,6 +753,12 @@ namespace Model ClientSideTimestamps m_clientSideTimestamps; bool m_clientSideTimestampsHasBeenSet = false; + + AutoScalingSpecification m_autoScalingSpecification; + bool m_autoScalingSpecificationHasBeenSet = false; + + Aws::Vector m_replicaSpecifications; + bool m_replicaSpecificationsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp index 6d1d8abfa4f..1590251cf2c 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -323,6 +324,32 @@ GetTableOutcome KeyspacesClient::GetTable(const GetTableRequest& request) const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetTableAutoScalingSettingsOutcome KeyspacesClient::GetTableAutoScalingSettings(const GetTableAutoScalingSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(GetTableAutoScalingSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetTableAutoScalingSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetTableAutoScalingSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetTableAutoScalingSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetTableAutoScalingSettings", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetTableAutoScalingSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetTableAutoScalingSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetTableAutoScalingSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListKeyspacesOutcome KeyspacesClient::ListKeyspaces(const ListKeyspacesRequest& request) const { AWS_OPERATION_GUARD(ListKeyspaces); diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointRules.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointRules.cpp index 1d4eb037a42..70ff1b758ad 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointRules.cpp @@ -51,116 +51,116 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r','a','-', +'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n', +'d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ', +'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s', +'-','g','o','v','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r','a','.','{','R','e','g', +'i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r','a','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', +'"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r','a','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', +'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b', +'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','c','a','s','s','a','n','d','r','a','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s', -'a','n','d','r','a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t', -'a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s', -' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r', -'u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','"','a','w','s','-','u','s','-','g','o', -'v','"',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r', -'a','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n', -'d','r','a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', -'I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', -'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','a','s','s','a','n','d','r','a', -'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ', -'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', -'u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','c','a','s','s','a','n','d','r','a','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', 'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t', 'i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p', 'e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingPolicy.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingPolicy.cpp new file mode 100644 index 00000000000..063910eed58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingPolicy.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +AutoScalingPolicy::AutoScalingPolicy() : + m_targetTrackingScalingPolicyConfigurationHasBeenSet(false) +{ +} + +AutoScalingPolicy::AutoScalingPolicy(JsonView jsonValue) : + m_targetTrackingScalingPolicyConfigurationHasBeenSet(false) +{ + *this = jsonValue; +} + +AutoScalingPolicy& AutoScalingPolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("targetTrackingScalingPolicyConfiguration")) + { + m_targetTrackingScalingPolicyConfiguration = jsonValue.GetObject("targetTrackingScalingPolicyConfiguration"); + + m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue AutoScalingPolicy::Jsonize() const +{ + JsonValue payload; + + if(m_targetTrackingScalingPolicyConfigurationHasBeenSet) + { + payload.WithObject("targetTrackingScalingPolicyConfiguration", m_targetTrackingScalingPolicyConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSettings.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSettings.cpp new file mode 100644 index 00000000000..883fc6663ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSettings.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +AutoScalingSettings::AutoScalingSettings() : + m_autoScalingDisabled(false), + m_autoScalingDisabledHasBeenSet(false), + m_minimumUnits(0), + m_minimumUnitsHasBeenSet(false), + m_maximumUnits(0), + m_maximumUnitsHasBeenSet(false), + m_scalingPolicyHasBeenSet(false) +{ +} + +AutoScalingSettings::AutoScalingSettings(JsonView jsonValue) : + m_autoScalingDisabled(false), + m_autoScalingDisabledHasBeenSet(false), + m_minimumUnits(0), + m_minimumUnitsHasBeenSet(false), + m_maximumUnits(0), + m_maximumUnitsHasBeenSet(false), + m_scalingPolicyHasBeenSet(false) +{ + *this = jsonValue; +} + +AutoScalingSettings& AutoScalingSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("autoScalingDisabled")) + { + m_autoScalingDisabled = jsonValue.GetBool("autoScalingDisabled"); + + m_autoScalingDisabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("minimumUnits")) + { + m_minimumUnits = jsonValue.GetInt64("minimumUnits"); + + m_minimumUnitsHasBeenSet = true; + } + + if(jsonValue.ValueExists("maximumUnits")) + { + m_maximumUnits = jsonValue.GetInt64("maximumUnits"); + + m_maximumUnitsHasBeenSet = true; + } + + if(jsonValue.ValueExists("scalingPolicy")) + { + m_scalingPolicy = jsonValue.GetObject("scalingPolicy"); + + m_scalingPolicyHasBeenSet = true; + } + + return *this; +} + +JsonValue AutoScalingSettings::Jsonize() const +{ + JsonValue payload; + + if(m_autoScalingDisabledHasBeenSet) + { + payload.WithBool("autoScalingDisabled", m_autoScalingDisabled); + + } + + if(m_minimumUnitsHasBeenSet) + { + payload.WithInt64("minimumUnits", m_minimumUnits); + + } + + if(m_maximumUnitsHasBeenSet) + { + payload.WithInt64("maximumUnits", m_maximumUnits); + + } + + if(m_scalingPolicyHasBeenSet) + { + payload.WithObject("scalingPolicy", m_scalingPolicy.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSpecification.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSpecification.cpp new file mode 100644 index 00000000000..42ab4241312 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/AutoScalingSpecification.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +AutoScalingSpecification::AutoScalingSpecification() : + m_writeCapacityAutoScalingHasBeenSet(false), + m_readCapacityAutoScalingHasBeenSet(false) +{ +} + +AutoScalingSpecification::AutoScalingSpecification(JsonView jsonValue) : + m_writeCapacityAutoScalingHasBeenSet(false), + m_readCapacityAutoScalingHasBeenSet(false) +{ + *this = jsonValue; +} + +AutoScalingSpecification& AutoScalingSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("writeCapacityAutoScaling")) + { + m_writeCapacityAutoScaling = jsonValue.GetObject("writeCapacityAutoScaling"); + + m_writeCapacityAutoScalingHasBeenSet = true; + } + + if(jsonValue.ValueExists("readCapacityAutoScaling")) + { + m_readCapacityAutoScaling = jsonValue.GetObject("readCapacityAutoScaling"); + + m_readCapacityAutoScalingHasBeenSet = true; + } + + return *this; +} + +JsonValue AutoScalingSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_writeCapacityAutoScalingHasBeenSet) + { + payload.WithObject("writeCapacityAutoScaling", m_writeCapacityAutoScaling.Jsonize()); + + } + + if(m_readCapacityAutoScalingHasBeenSet) + { + payload.WithObject("readCapacityAutoScaling", m_readCapacityAutoScaling.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTableRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTableRequest.cpp index 6ebde843a33..38d0bb3101b 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTableRequest.cpp @@ -24,7 +24,9 @@ CreateTableRequest::CreateTableRequest() : m_defaultTimeToLive(0), m_defaultTimeToLiveHasBeenSet(false), m_tagsHasBeenSet(false), - m_clientSideTimestampsHasBeenSet(false) + m_clientSideTimestampsHasBeenSet(false), + m_autoScalingSpecificationHasBeenSet(false), + m_replicaSpecificationsHasBeenSet(false) { } @@ -103,6 +105,23 @@ Aws::String CreateTableRequest::SerializePayload() const } + if(m_autoScalingSpecificationHasBeenSet) + { + payload.WithObject("autoScalingSpecification", m_autoScalingSpecification.Jsonize()); + + } + + if(m_replicaSpecificationsHasBeenSet) + { + Aws::Utils::Array replicaSpecificationsJsonList(m_replicaSpecifications.size()); + for(unsigned replicaSpecificationsIndex = 0; replicaSpecificationsIndex < replicaSpecificationsJsonList.GetLength(); ++replicaSpecificationsIndex) + { + replicaSpecificationsJsonList[replicaSpecificationsIndex].AsObject(m_replicaSpecifications[replicaSpecificationsIndex].Jsonize()); + } + payload.WithArray("replicaSpecifications", std::move(replicaSpecificationsJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsRequest.cpp new file mode 100644 index 00000000000..67901d20521 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetTableAutoScalingSettingsRequest::GetTableAutoScalingSettingsRequest() : + m_keyspaceNameHasBeenSet(false), + m_tableNameHasBeenSet(false) +{ +} + +Aws::String GetTableAutoScalingSettingsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyspaceNameHasBeenSet) + { + payload.WithString("keyspaceName", m_keyspaceName); + + } + + if(m_tableNameHasBeenSet) + { + payload.WithString("tableName", m_tableName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetTableAutoScalingSettingsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "KeyspacesService.GetTableAutoScalingSettings")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsResult.cpp new file mode 100644 index 00000000000..99996b9103d --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableAutoScalingSettingsResult.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetTableAutoScalingSettingsResult::GetTableAutoScalingSettingsResult() +{ +} + +GetTableAutoScalingSettingsResult::GetTableAutoScalingSettingsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetTableAutoScalingSettingsResult& GetTableAutoScalingSettingsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("keyspaceName")) + { + m_keyspaceName = jsonValue.GetString("keyspaceName"); + + } + + if(jsonValue.ValueExists("tableName")) + { + m_tableName = jsonValue.GetString("tableName"); + + } + + if(jsonValue.ValueExists("resourceArn")) + { + m_resourceArn = jsonValue.GetString("resourceArn"); + + } + + if(jsonValue.ValueExists("autoScalingSpecification")) + { + m_autoScalingSpecification = jsonValue.GetObject("autoScalingSpecification"); + + } + + if(jsonValue.ValueExists("replicaSpecifications")) + { + Aws::Utils::Array replicaSpecificationsJsonList = jsonValue.GetArray("replicaSpecifications"); + for(unsigned replicaSpecificationsIndex = 0; replicaSpecificationsIndex < replicaSpecificationsJsonList.GetLength(); ++replicaSpecificationsIndex) + { + m_replicaSpecifications.push_back(replicaSpecificationsJsonList[replicaSpecificationsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableResult.cpp index c4728902fda..4d93447c3eb 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableResult.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTableResult.cpp @@ -111,6 +111,15 @@ GetTableResult& GetTableResult::operator =(const Aws::AmazonWebServiceResult replicaSpecificationsJsonList = jsonValue.GetArray("replicaSpecifications"); + for(unsigned replicaSpecificationsIndex = 0; replicaSpecificationsIndex < replicaSpecificationsJsonList.GetLength(); ++replicaSpecificationsIndex) + { + m_replicaSpecifications.push_back(replicaSpecificationsJsonList[replicaSpecificationsIndex].AsObject()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaAutoScalingSpecification.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaAutoScalingSpecification.cpp new file mode 100644 index 00000000000..07c99826ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaAutoScalingSpecification.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +ReplicaAutoScalingSpecification::ReplicaAutoScalingSpecification() : + m_regionHasBeenSet(false), + m_autoScalingSpecificationHasBeenSet(false) +{ +} + +ReplicaAutoScalingSpecification::ReplicaAutoScalingSpecification(JsonView jsonValue) : + m_regionHasBeenSet(false), + m_autoScalingSpecificationHasBeenSet(false) +{ + *this = jsonValue; +} + +ReplicaAutoScalingSpecification& ReplicaAutoScalingSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("autoScalingSpecification")) + { + m_autoScalingSpecification = jsonValue.GetObject("autoScalingSpecification"); + + m_autoScalingSpecificationHasBeenSet = true; + } + + return *this; +} + +JsonValue ReplicaAutoScalingSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_autoScalingSpecificationHasBeenSet) + { + payload.WithObject("autoScalingSpecification", m_autoScalingSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecification.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecification.cpp new file mode 100644 index 00000000000..726844fb829 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecification.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +ReplicaSpecification::ReplicaSpecification() : + m_regionHasBeenSet(false), + m_readCapacityUnits(0), + m_readCapacityUnitsHasBeenSet(false), + m_readCapacityAutoScalingHasBeenSet(false) +{ +} + +ReplicaSpecification::ReplicaSpecification(JsonView jsonValue) : + m_regionHasBeenSet(false), + m_readCapacityUnits(0), + m_readCapacityUnitsHasBeenSet(false), + m_readCapacityAutoScalingHasBeenSet(false) +{ + *this = jsonValue; +} + +ReplicaSpecification& ReplicaSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("readCapacityUnits")) + { + m_readCapacityUnits = jsonValue.GetInt64("readCapacityUnits"); + + m_readCapacityUnitsHasBeenSet = true; + } + + if(jsonValue.ValueExists("readCapacityAutoScaling")) + { + m_readCapacityAutoScaling = jsonValue.GetObject("readCapacityAutoScaling"); + + m_readCapacityAutoScalingHasBeenSet = true; + } + + return *this; +} + +JsonValue ReplicaSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_readCapacityUnitsHasBeenSet) + { + payload.WithInt64("readCapacityUnits", m_readCapacityUnits); + + } + + if(m_readCapacityAutoScalingHasBeenSet) + { + payload.WithObject("readCapacityAutoScaling", m_readCapacityAutoScaling.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecificationSummary.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecificationSummary.cpp new file mode 100644 index 00000000000..fbe555a3109 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/ReplicaSpecificationSummary.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +ReplicaSpecificationSummary::ReplicaSpecificationSummary() : + m_regionHasBeenSet(false), + m_status(TableStatus::NOT_SET), + m_statusHasBeenSet(false), + m_capacitySpecificationHasBeenSet(false) +{ +} + +ReplicaSpecificationSummary::ReplicaSpecificationSummary(JsonView jsonValue) : + m_regionHasBeenSet(false), + m_status(TableStatus::NOT_SET), + m_statusHasBeenSet(false), + m_capacitySpecificationHasBeenSet(false) +{ + *this = jsonValue; +} + +ReplicaSpecificationSummary& ReplicaSpecificationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = TableStatusMapper::GetTableStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("capacitySpecification")) + { + m_capacitySpecification = jsonValue.GetObject("capacitySpecification"); + + m_capacitySpecificationHasBeenSet = true; + } + + return *this; +} + +JsonValue ReplicaSpecificationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", TableStatusMapper::GetNameForTableStatus(m_status)); + } + + if(m_capacitySpecificationHasBeenSet) + { + payload.WithObject("capacitySpecification", m_capacitySpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/RestoreTableRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/RestoreTableRequest.cpp index 0994740aa47..062825aa55c 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/model/RestoreTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/RestoreTableRequest.cpp @@ -21,7 +21,9 @@ RestoreTableRequest::RestoreTableRequest() : m_capacitySpecificationOverrideHasBeenSet(false), m_encryptionSpecificationOverrideHasBeenSet(false), m_pointInTimeRecoveryOverrideHasBeenSet(false), - m_tagsOverrideHasBeenSet(false) + m_tagsOverrideHasBeenSet(false), + m_autoScalingSpecificationHasBeenSet(false), + m_replicaSpecificationsHasBeenSet(false) { } @@ -87,6 +89,23 @@ Aws::String RestoreTableRequest::SerializePayload() const } + if(m_autoScalingSpecificationHasBeenSet) + { + payload.WithObject("autoScalingSpecification", m_autoScalingSpecification.Jsonize()); + + } + + if(m_replicaSpecificationsHasBeenSet) + { + Aws::Utils::Array replicaSpecificationsJsonList(m_replicaSpecifications.size()); + for(unsigned replicaSpecificationsIndex = 0; replicaSpecificationsIndex < replicaSpecificationsJsonList.GetLength(); ++replicaSpecificationsIndex) + { + replicaSpecificationsJsonList[replicaSpecificationsIndex].AsObject(m_replicaSpecifications[replicaSpecificationsIndex].Jsonize()); + } + payload.WithArray("replicaSpecifications", std::move(replicaSpecificationsJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/TargetTrackingScalingPolicyConfiguration.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/TargetTrackingScalingPolicyConfiguration.cpp new file mode 100644 index 00000000000..21701f6bbd6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/TargetTrackingScalingPolicyConfiguration.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +TargetTrackingScalingPolicyConfiguration::TargetTrackingScalingPolicyConfiguration() : + m_disableScaleIn(false), + m_disableScaleInHasBeenSet(false), + m_scaleInCooldown(0), + m_scaleInCooldownHasBeenSet(false), + m_scaleOutCooldown(0), + m_scaleOutCooldownHasBeenSet(false), + m_targetValue(0.0), + m_targetValueHasBeenSet(false) +{ +} + +TargetTrackingScalingPolicyConfiguration::TargetTrackingScalingPolicyConfiguration(JsonView jsonValue) : + m_disableScaleIn(false), + m_disableScaleInHasBeenSet(false), + m_scaleInCooldown(0), + m_scaleInCooldownHasBeenSet(false), + m_scaleOutCooldown(0), + m_scaleOutCooldownHasBeenSet(false), + m_targetValue(0.0), + m_targetValueHasBeenSet(false) +{ + *this = jsonValue; +} + +TargetTrackingScalingPolicyConfiguration& TargetTrackingScalingPolicyConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("disableScaleIn")) + { + m_disableScaleIn = jsonValue.GetBool("disableScaleIn"); + + m_disableScaleInHasBeenSet = true; + } + + if(jsonValue.ValueExists("scaleInCooldown")) + { + m_scaleInCooldown = jsonValue.GetInteger("scaleInCooldown"); + + m_scaleInCooldownHasBeenSet = true; + } + + if(jsonValue.ValueExists("scaleOutCooldown")) + { + m_scaleOutCooldown = jsonValue.GetInteger("scaleOutCooldown"); + + m_scaleOutCooldownHasBeenSet = true; + } + + if(jsonValue.ValueExists("targetValue")) + { + m_targetValue = jsonValue.GetDouble("targetValue"); + + m_targetValueHasBeenSet = true; + } + + return *this; +} + +JsonValue TargetTrackingScalingPolicyConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_disableScaleInHasBeenSet) + { + payload.WithBool("disableScaleIn", m_disableScaleIn); + + } + + if(m_scaleInCooldownHasBeenSet) + { + payload.WithInteger("scaleInCooldown", m_scaleInCooldown); + + } + + if(m_scaleOutCooldownHasBeenSet) + { + payload.WithInteger("scaleOutCooldown", m_scaleOutCooldown); + + } + + if(m_targetValueHasBeenSet) + { + payload.WithDouble("targetValue", m_targetValue); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/UpdateTableRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/UpdateTableRequest.cpp index 144d84e9dc4..96c7436e319 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/model/UpdateTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/UpdateTableRequest.cpp @@ -22,7 +22,9 @@ UpdateTableRequest::UpdateTableRequest() : m_ttlHasBeenSet(false), m_defaultTimeToLive(0), m_defaultTimeToLiveHasBeenSet(false), - m_clientSideTimestampsHasBeenSet(false) + m_clientSideTimestampsHasBeenSet(false), + m_autoScalingSpecificationHasBeenSet(false), + m_replicaSpecificationsHasBeenSet(false) { } @@ -89,6 +91,23 @@ Aws::String UpdateTableRequest::SerializePayload() const } + if(m_autoScalingSpecificationHasBeenSet) + { + payload.WithObject("autoScalingSpecification", m_autoScalingSpecification.Jsonize()); + + } + + if(m_replicaSpecificationsHasBeenSet) + { + Aws::Utils::Array replicaSpecificationsJsonList(m_replicaSpecifications.size()); + for(unsigned replicaSpecificationsIndex = 0; replicaSpecificationsIndex < replicaSpecificationsJsonList.GetLength(); ++replicaSpecificationsIndex) + { + replicaSpecificationsJsonList[replicaSpecificationsIndex].AsObject(m_replicaSpecifications[replicaSpecificationsIndex].Jsonize()); + } + payload.WithArray("replicaSpecifications", std::move(replicaSpecificationsJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 9df469d93bc..be6ee90289c 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.244" +#define AWS_SDK_VERSION_STRING "1.11.245" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 244 +#define AWS_SDK_VERSION_PATCH 245 diff --git a/tools/code-generation/api-descriptions/dynamodb-2012-08-10.normal.json b/tools/code-generation/api-descriptions/dynamodb-2012-08-10.normal.json index eb9d7596b59..33107d1b87d 100644 --- a/tools/code-generation/api-descriptions/dynamodb-2012-08-10.normal.json +++ b/tools/code-generation/api-descriptions/dynamodb-2012-08-10.normal.json @@ -6279,7 +6279,7 @@ }, "StreamSpecification":{ "shape":"StreamSpecification", - "documentation":"

Represents the DynamoDB Streams configuration for the table.

You receive a ResourceInUseException if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.

" + "documentation":"

Represents the DynamoDB Streams configuration for the table.

You receive a ValidationException if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.

" }, "SSESpecification":{ "shape":"SSESpecification", diff --git a/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json b/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json index 1127adc7cc2..d5d1903d7b0 100644 --- a/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json +++ b/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json @@ -118,6 +118,23 @@ ], "documentation":"

Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

To read table metadata using GetTable, Select action permissions for the table and system tables are required to complete the operation.

" }, + "GetTableAutoScalingSettings":{ + "name":"GetTableAutoScalingSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableAutoScalingSettingsRequest"}, + "output":{"shape":"GetTableAutoScalingSettingsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.

Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

" + }, "ListKeyspaces":{ "name":"ListKeyspaces", "http":{ @@ -185,7 +202,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Restores the specified table to the specified point in time within the earliest_restorable_timestamp and the current time. For more information about restore points, see Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide.

Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, Amazon Keyspaces restores your source table's schema and data to the state based on the selected timestamp (day:hour:minute:second) to a new table. The Time to Live (TTL) settings are also restored to the state based on the selected timestamp.

In addition to the table's schema, data, and TTL settings, RestoreTable restores the capacity mode, encryption, and point-in-time recovery settings from the source table. Unlike the table's schema data and TTL settings, which are restored based on the selected timestamp, these settings are always restored based on the table's settings as of the current time or when the table was deleted.

You can also overwrite these settings during restore:

  • Read/write capacity mode

  • Provisioned throughput capacity settings

  • Point-in-time (PITR) settings

  • Tags

For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.

Note that the following settings are not restored, and you must configure them manually for the new table:

  • Automatic scaling policies (for tables that use provisioned capacity mode)

  • Identity and Access Management (IAM) policies

  • Amazon CloudWatch metrics and alarms

" + "documentation":"

Restores the table to the specified point in time within the earliest_restorable_timestamp and the current time. For more information about restore points, see Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide.

Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, Amazon Keyspaces restores your source table's schema and data to the state based on the selected timestamp (day:hour:minute:second) to a new table. The Time to Live (TTL) settings are also restored to the state based on the selected timestamp.

In addition to the table's schema, data, and TTL settings, RestoreTable restores the capacity mode, auto scaling settings, encryption settings, and point-in-time recovery settings from the source table. Unlike the table's schema data and TTL settings, which are restored based on the selected timestamp, these settings are always restored based on the table's settings as of the current time or when the table was deleted.

You can also overwrite these settings during restore:

  • Read/write capacity mode

  • Provisioned throughput capacity units

  • Auto scaling settings

  • Point-in-time (PITR) settings

  • Tags

For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.

Note that the following settings are not restored, and you must configure them manually for the new table:

  • Identity and Access Management (IAM) policies

  • Amazon CloudWatch metrics and alarms

" }, "TagResource":{ "name":"TagResource", @@ -238,7 +255,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Adds new columns to the table or updates one of the table's settings, for example capacity mode, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.

" + "documentation":"

Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.

" } }, "shapes":{ @@ -251,11 +268,61 @@ "AccessDeniedException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + } }, - "documentation":"

You do not have sufficient access to perform this action.

", + "documentation":"

You don't have sufficient access permissions to perform this action.

", "exception":true }, + "AutoScalingPolicy":{ + "type":"structure", + "members":{ + "targetTrackingScalingPolicyConfiguration":{ + "shape":"TargetTrackingScalingPolicyConfiguration", + "documentation":"

Auto scaling scales up capacity automatically when traffic exceeds this target utilization rate, and then back down when it falls below the target. A double between 20 and 90.

" + } + }, + "documentation":"

Amazon Keyspaces supports the target tracking auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.

" + }, + "AutoScalingSettings":{ + "type":"structure", + "members":{ + "autoScalingDisabled":{ + "shape":"BooleanObject", + "documentation":"

This optional parameter enables auto scaling for the table if set to false.

" + }, + "minimumUnits":{ + "shape":"CapacityUnits", + "documentation":"

The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).

" + }, + "maximumUnits":{ + "shape":"CapacityUnits", + "documentation":"

Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).

" + }, + "scalingPolicy":{ + "shape":"AutoScalingPolicy", + "documentation":"

Amazon Keyspaces supports the target tracking auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.

" + } + }, + "documentation":"

The optional auto scaling settings for a table with provisioned throughput capacity.

To turn on auto scaling for a table in throughputMode:PROVISIONED, you must specify the following parameters.

Configure the minimum and maximum units for write and read capacity. The auto scaling policy ensures that capacity never goes below the minimum or above the maximum range.

  • minimumUnits: The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).

  • maximumUnits: The maximum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).

  • scalingPolicy: Amazon Keyspaces supports the target tracking scaling policy. The auto scaling target is the provisioned read and write capacity of the table.

    • targetTrackingScalingPolicyConfiguration: To define the target tracking policy, you must define the target value.

      • targetValue: The target utilization rate of the table. Amazon Keyspaces auto scaling ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define targetValue as a percentage. A double between 20 and 90. (Required)

      • disableScaleIn: A boolean that specifies if scale-in is disabled or enabled for the table. This parameter is disabled by default. To turn on scale-in, set the boolean value to FALSE. This means that capacity for a table can be automatically scaled down on your behalf. (Optional)

      • scaleInCooldown: A cooldown period in seconds between scaling activities that lets the table stabilize before another scale in activity starts. If no value is provided, the default is 0. (Optional)

      • scaleOutCooldown: A cooldown period in seconds between scaling activities that lets the table stabilize before another scale out activity starts. If no value is provided, the default is 0. (Optional)

For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

" + }, + "AutoScalingSpecification":{ + "type":"structure", + "members":{ + "writeCapacityAutoScaling":{ + "shape":"AutoScalingSettings", + "documentation":"

The auto scaling settings for the table's write capacity.

" + }, + "readCapacityAutoScaling":{ + "shape":"AutoScalingSettings", + "documentation":"

The auto scaling settings for the table's read capacity.

" + } + }, + "documentation":"

The optional auto scaling settings for read and write capacity of a table in provisioned capacity mode.

" + }, + "BooleanObject":{"type":"boolean"}, "CapacitySpecification":{ "type":"structure", "required":["throughputMode"], @@ -377,9 +444,12 @@ "ConflictException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + } }, - "documentation":"

Amazon Keyspaces could not complete the requested action. This error may occur if you try to perform an action and the same or a different action is already in progress, or if you try to create a resource that already exists.

", + "documentation":"

Amazon Keyspaces couldn't complete the requested action. This error may occur if you try to perform an action and the same or a different action is already in progress, or if you try to create a resource that already exists.

", "exception":true }, "CreateKeyspaceRequest":{ @@ -461,6 +531,14 @@ "clientSideTimestamps":{ "shape":"ClientSideTimestamps", "documentation":"

Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option:

  • status: \"enabled\"

Once client-side timestamps are enabled for a table, this setting cannot be disabled.

" + }, + "autoScalingSpecification":{ + "shape":"AutoScalingSpecification", + "documentation":"

The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.

Auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

By default, auto scaling is disabled for a table.

" + }, + "replicaSpecifications":{ + "shape":"ReplicaSpecificationList", + "documentation":"

The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.

For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.

  • region: The Region where these settings are applied. (Required)

  • readCapacityUnits: The provisioned read capacity units. (Optional)

  • readCapacityAutoScaling: The read capacity auto scaling settings for the table. (Optional)

" } } }, @@ -478,7 +556,7 @@ "type":"integer", "box":true, "max":630720000, - "min":1 + "min":0 }, "DeleteKeyspaceRequest":{ "type":"structure", @@ -517,6 +595,7 @@ "members":{ } }, + "DoubleObject":{"type":"double"}, "EncryptionSpecification":{ "type":"structure", "required":["type"], @@ -576,6 +655,53 @@ } } }, + "GetTableAutoScalingSettingsRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

The name of the keyspace.

" + }, + "tableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + } + } + }, + "GetTableAutoScalingSettingsResponse":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName", + "resourceArn" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

The name of the keyspace.

" + }, + "tableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "resourceArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the table.

" + }, + "autoScalingSpecification":{ + "shape":"AutoScalingSpecification", + "documentation":"

The auto scaling settings of the table.

" + }, + "replicaSpecifications":{ + "shape":"ReplicaAutoScalingSpecificationList", + "documentation":"

The Amazon Web Services Region specific settings of a multi-Region table. Returns the settings for all Regions the table is replicated in.

" + } + } + }, "GetTableRequest":{ "type":"structure", "required":[ @@ -652,13 +778,21 @@ "clientSideTimestamps":{ "shape":"ClientSideTimestamps", "documentation":"

The client-side timestamps setting of the table.

" + }, + "replicaSpecifications":{ + "shape":"ReplicaSpecificationSummaryList", + "documentation":"

Returns the Amazon Web Services Region specific settings of all Regions a multi-Region table is replicated in.

" } } }, + "IntegerObject":{"type":"integer"}, "InternalServerException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + } }, "documentation":"

Amazon Keyspaces was unable to fully process this request because of an internal server error.

", "exception":true, @@ -856,6 +990,69 @@ "max":6, "min":2 }, + "ReplicaAutoScalingSpecification":{ + "type":"structure", + "members":{ + "region":{ + "shape":"region", + "documentation":"

The Amazon Web Services Region.

" + }, + "autoScalingSpecification":{ + "shape":"AutoScalingSpecification", + "documentation":"

The auto scaling settings for a multi-Region table in the specified Amazon Web Services Region.

" + } + }, + "documentation":"

The auto scaling settings of a multi-Region table in the specified Amazon Web Services Region.

" + }, + "ReplicaAutoScalingSpecificationList":{ + "type":"list", + "member":{"shape":"ReplicaAutoScalingSpecification"}, + "min":0 + }, + "ReplicaSpecification":{ + "type":"structure", + "required":["region"], + "members":{ + "region":{ + "shape":"region", + "documentation":"

The Amazon Web Services Region.

" + }, + "readCapacityUnits":{ + "shape":"CapacityUnits", + "documentation":"

The provisioned read capacity units for the multi-Region table in the specified Amazon Web Services Region.

" + }, + "readCapacityAutoScaling":{ + "shape":"AutoScalingSettings", + "documentation":"

The read capacity auto scaling settings for the multi-Region table in the specified Amazon Web Services Region.

" + } + }, + "documentation":"

The Amazon Web Services Region specific settings of a multi-Region table.

For a multi-Region table, you can configure the table's read capacity differently per Amazon Web Services Region. You can do this by configuring the following parameters.

  • region: The Region where these settings are applied. (Required)

  • readCapacityUnits: The provisioned read capacity units. (Optional)

  • readCapacityAutoScaling: The read capacity auto scaling settings for the table. (Optional)

" + }, + "ReplicaSpecificationList":{ + "type":"list", + "member":{"shape":"ReplicaSpecification"}, + "min":1 + }, + "ReplicaSpecificationSummary":{ + "type":"structure", + "members":{ + "region":{ + "shape":"region", + "documentation":"

The Amazon Web Services Region.

" + }, + "status":{ + "shape":"TableStatus", + "documentation":"

The status of the multi-Region table in the specified Amazon Web Services Region.

" + }, + "capacitySpecification":{"shape":"CapacitySpecificationSummary"} + }, + "documentation":"

The Region-specific settings of a multi-Region table in the specified Amazon Web Services Region.

If the multi-Region table is using provisioned capacity and has optional auto scaling policies configured, note that the Region specific summary returns both read and write capacity settings. But only Region specific read capacity settings can be configured for a multi-Region table. In a multi-Region table, your write capacity units will be synced across all Amazon Web Services Regions to ensure that there is enough capacity to replicate write events across Regions.

" + }, + "ReplicaSpecificationSummaryList":{ + "type":"list", + "member":{"shape":"ReplicaSpecificationSummary"}, + "min":0 + }, "ReplicationSpecification":{ "type":"structure", "required":["replicationStrategy"], @@ -874,7 +1071,10 @@ "ResourceNotFoundException":{ "type":"structure", "members":{ - "message":{"shape":"String"}, + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + }, "resourceArn":{ "shape":"ARN", "documentation":"

The unique identifier in the format of Amazon Resource Name (ARN), for the resource not found.

" @@ -927,6 +1127,14 @@ "tagsOverride":{ "shape":"TagList", "documentation":"

A list of key-value pair tags to be attached to the restored table.

For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.

" + }, + "autoScalingSpecification":{ + "shape":"AutoScalingSpecification", + "documentation":"

The optional auto scaling settings for the restored table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.

For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

" + }, + "replicaSpecifications":{ + "shape":"ReplicaSpecificationList", + "documentation":"

The optional Region specific settings of a multi-Regional table.

" } } }, @@ -969,7 +1177,10 @@ "ServiceQuotaExceededException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + } }, "documentation":"

The operation exceeded the service quota for this resource. For more information on service quotas, see Quotas in the Amazon Keyspaces Developer Guide.

", "exception":true @@ -1098,6 +1309,29 @@ "max":256, "min":1 }, + "TargetTrackingScalingPolicyConfiguration":{ + "type":"structure", + "required":["targetValue"], + "members":{ + "disableScaleIn":{ + "shape":"BooleanObject", + "documentation":"

Specifies if scale-in is enabled.

When auto scaling automatically decreases capacity for a table, the table scales in. When scaling policies are set, they can't scale in the table lower than its minimum capacity.

" + }, + "scaleInCooldown":{ + "shape":"IntegerObject", + "documentation":"

Specifies a scale-in cool down period.

A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.

" + }, + "scaleOutCooldown":{ + "shape":"IntegerObject", + "documentation":"

Specifies a scale out cool down period.

A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.

" + }, + "targetValue":{ + "shape":"DoubleObject", + "documentation":"

Specifies the target value for the target tracking auto scaling policy.

Amazon Keyspaces auto scaling scales up capacity automatically when traffic exceeds this target utilization rate, and then back down when it falls below the target. This ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define targetValue as a percentage. A double between 20 and 90.

" + } + }, + "documentation":"

The auto scaling policy that scales a table based on the ratio of consumed to provisioned capacity.

" + }, "ThroughputMode":{ "type":"string", "enum":[ @@ -1185,6 +1419,14 @@ "clientSideTimestamps":{ "shape":"ClientSideTimestamps", "documentation":"

Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option:

  • status: \"enabled\"

Once client-side timestamps are enabled for a table, this setting cannot be disabled.

" + }, + "autoScalingSpecification":{ + "shape":"AutoScalingSpecification", + "documentation":"

The optional auto scaling settings to update for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.

If auto scaling is already enabled for the table, you can use UpdateTable to update the minimum and maximum values or the auto scaling policy settings independently.

For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

" + }, + "replicaSpecifications":{ + "shape":"ReplicaSpecificationList", + "documentation":"

The Region specific settings of a multi-Regional table.

" } } }, @@ -1201,7 +1443,10 @@ "ValidationException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

Description of the error.

" + } }, "documentation":"

The operation failed due to an invalid or malformed request.

", "exception":true diff --git a/tools/code-generation/endpoints/keyspaces-2022-02-10.endpoint-rule-set.json b/tools/code-generation/endpoints/keyspaces-2022-02-10.endpoint-rule-set.json index 4a6c3df7792..578f4345fa2 100644 --- a/tools/code-generation/endpoints/keyspaces-2022-02-10.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/keyspaces-2022-02-10.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [],