From 9bbc424e13c3f3868a9a86c5f21b72f0c2d614e4 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Fri, 20 Sep 2024 18:15:20 +0000 Subject: [PATCH] Generate account endpoint for DynamoDB requests when the account ID is available This release introduces support for the SageMaker Metrics BatchGetMetrics API. Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages Add v2 smoke tests and smithy smokeTests trait for SDK testing. --- VERSION | 2 +- .../dynamodb/DynamoDBClientConfiguration.h | 8 + .../source/DynamoDBClientConfiguration.cpp | 9 + .../source/DynamoDBEndpointProvider.cpp | 6 + .../source/DynamoDBEndpointRules.cpp | 375 +++++--- .../SageMakerMetricsClient.h | 29 +- .../SageMakerMetricsServiceClientModel.h | 5 + .../model/BatchGetMetricsRequest.h | 57 ++ .../model/BatchGetMetricsResult.h | 69 ++ .../model/BatchPutMetricsRequest.h | 3 +- .../aws/sagemaker-metrics/model/MetricQuery.h | 153 ++++ .../model/MetricQueryResult.h | 111 +++ .../model/MetricQueryResultStatus.h | 33 + .../sagemaker-metrics/model/MetricStatistic.h | 35 + .../aws/sagemaker-metrics/model/Period.h | 33 + .../aws/sagemaker-metrics/model/XAxisType.h | 31 + .../source/SageMakerMetricsClient.cpp | 28 + .../source/SageMakerMetricsEndpointRules.cpp | 216 ++--- .../source/model/BatchGetMetricsRequest.cpp | 40 + .../source/model/BatchGetMetricsResult.cpp | 51 ++ .../source/model/MetricQuery.cpp | 145 +++ .../source/model/MetricQueryResult.cpp | 117 +++ .../source/model/MetricQueryResultStatus.cpp | 86 ++ .../source/model/MetricStatistic.cpp | 100 +++ .../source/model/Period.cpp | 86 ++ .../source/model/XAxisType.cpp | 72 ++ .../aws/sagemaker/model/S3ModelDataSource.h | 18 + .../source/model/S3ModelDataSource.cpp | 16 +- .../model/WorkspaceImageErrorDetailCode.h | 5 +- .../model/WorkspaceImageErrorDetailCode.cpp | 21 + .../DynamoDBEndpointProviderTests.cpp | 350 +++++++- .../NeptuneEndpointProviderTests.cpp | 8 +- .../include/aws/core/VersionConfig.h | 4 +- .../neptune-2014-10-31.normal.json | 4 +- .../sagemaker-2017-07-24.normal.json | 4 + .../sagemaker-metrics-2022-09-30.normal.json | 178 +++- .../workspaces-2015-04-08.normal.json | 5 +- ...dynamodb-2011-12-05.endpoint-rule-set.json | 391 +++++++- .../dynamodb-2011-12-05.endpoint-tests.json | 837 ++++++++++++++++++ ...dynamodb-2012-08-10.endpoint-rule-set.json | 391 +++++++- .../dynamodb-2012-08-10.endpoint-tests.json | 837 ++++++++++++++++++ .../neptune-2014-10-31.endpoint-tests.json | 11 - ...-metrics-2022-09-30.endpoint-rule-set.json | 64 +- 43 files changed, 4713 insertions(+), 331 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsRequest.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsResult.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQuery.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResult.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResultStatus.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricStatistic.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/Period.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/XAxisType.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQuery.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResult.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResultStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricStatistic.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/Period.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/XAxisType.cpp diff --git a/VERSION b/VERSION index 329966fb472..65371e010b3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.409 \ No newline at end of file +1.11.410 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h index 49f5a9a449b..b84af66b0e5 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h @@ -82,6 +82,14 @@ namespace Aws */ Aws::Crt::Optional& enableEndpointDiscovery; + /** + * The AWS AccountId used for the request. + */ + Aws::String accountId; + /** + * The AccountId Endpoint Mode. + */ + Aws::String accountIdEndpointMode = "preferred"; private: void LoadDynamoDBSpecificConfig(const Aws::String& profileName); }; diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp index 709bcc0fe68..353bfeb192c 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp @@ -45,6 +45,15 @@ void DynamoDBClientConfiguration::LoadDynamoDBSpecificConfig(const Aws::String& if(!enableEndpointDiscovery) { enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, inputProfileName); } + // accountId is intentionally not set here: AWS_ACCOUNT_ID env variable may not match the provided credentials. + // it must be set by an auth provider / identity resolver or by an SDK user. + static const char AWS_ACCOUNT_ID_ENDPOINT_MODE_ENVIRONMENT_VARIABLE[] = "AWS_ACCOUNT_ID_ENDPOINT_MODE"; + static const char AWS_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_FILE_OPTION[] = "account_id_endpoint_mode"; + accountIdEndpointMode = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_ACCOUNT_ID_ENDPOINT_MODE_ENVIRONMENT_VARIABLE, + inputProfileName, + AWS_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_FILE_OPTION, + {"required", "disabled", "preferred"}, /* allowed values */ + "preferred" /* default value */); } DynamoDBClientConfiguration::DynamoDBClientConfiguration(const Client::ClientConfigurationInitValues &configuration) diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp index 345928a70f8..80c9079ee8b 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp @@ -31,6 +31,12 @@ namespace Endpoint { SetFromClientConfiguration(static_cast(config)); + if(!config.accountId.empty()) { + SetStringParameter("AccountId", config.accountId); + } + if(!config.accountIdEndpointMode.empty()) { + SetStringParameter("AccountIdEndpointMode", config.accountIdEndpointMode); + } } } // namespace Endpoint } // namespace DynamoDB diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointRules.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointRules.cpp index d85f2290081..3a277786640 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace DynamoDB { -const size_t DynamoDBEndpointRules::RulesBlobStrLen = 3956; -const size_t DynamoDBEndpointRules::RulesBlobSize = 3957; +const size_t DynamoDBEndpointRules::RulesBlobStrLen = 7289; +const size_t DynamoDBEndpointRules::RulesBlobSize = 7290; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -48,132 +48,265 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', ':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', 's','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', -',','"','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','"','}',']','}',']',',','"','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', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}',',','"','A','c','c','o','u','n', +'t','I','d','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','A','u','t', +'h',':',':','A','c','c','o','u','n','t','I','d','"',',','"','r','e','q','u','i','r','e','d','"',':', +'f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','A','c','c','o','u','n','t','I','d',' ','u','s','e','d',' ','f','o','r',' ', +'t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"',':','"','S','t','r', +'i','n','g','"','}',',','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M', +'o','d','e','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','A','u','t', +'h',':',':','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"', +',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e', +'n','t','a','t','i','o','n','"',':','"','T','h','e',' ','A','c','c','o','u','n','t','I','d',' ','E', +'n','d','p','o','i','n','t',' ','M','o','d','e','.','"',',','"','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','"','}',']','}',']', +',','"','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',']','}',']',',','"', -'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', +'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','"',':','"','h','t','t','p','s',':','/','/','d','y','n','a','m','o','d','b','-','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',':','/','/','d','y','n','a','m','o','d','b','.','{','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',':','/','/','d','y','n','a','m','o','d','b','-','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', +'"','u','r','l','"',':','"','{','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','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','l','o','c','a','l','"',']','}',']',',','"','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',' ','l','o','c','a','l',' ', +'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',']','}',']',',','"','r','u','l','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',' ','l','o','c','a','l',' ','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','"', +':','"','h','t','t','p',':','/','/','l','o','c','a','l','h','o','s','t',':','8','0','0','0','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','d','y','n','a','m','o','d','b','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','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','"',':','"','A','c','c','o','u', +'n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t', +'M','o','d','e','"','}',',','"','r','e','q','u','i','r','e','d','"',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u', +'n','t','I','d','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','o', +'u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e',' ','i','s',' ','r','e','q','u', +'i','r','e','d',' ','b','u','t',' ','n','o',' ','A','c','c','o','u','n','t','I','D',' ','w','a','s', +' ','p','r','o','v','i','d','e','d',' ','o','r',' ','a','b','l','e',' ','t','o',' ','b','e',' ','l', +'o','a','d','e','d','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n', +'t','I','d','"','}',']','}',',','{','"','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', +'"',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','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','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','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',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s', +'t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','o','u','n','t','I','d','"','}',',','f','a','l','s','e',']','}',']','}',']',',','"','e','r', +'r','o','r','"',':','"','C','r','e','d','e','n','t','i','a','l','s','-','s','o','u','r','c','e','d', +' ','a','c','c','o','u','n','t',' ','I','D',' ','p','a','r','a','m','e','t','e','r',' ','i','s',' ', +'i','n','v','a','l','i','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','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',']','}',']',',','"','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',']','}',',','{','"','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','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','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', +'c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"','}',']','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o', +'i','n','t','M','o','d','e','"','}',',','"','d','i','s','a','b','l','e','d','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','d','y','n','a','m','o','d','b','-','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','d','y','n','a','m','o','d','b','-','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','"',':', -'"','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',':','/','/','d','y','n','a','m','o','d','b','.','{','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','"',':','[','{','"','f','n','"',':', '"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','l','o','c','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p',':', -'/','/','l','o','c','a','l','h','o','s','t',':','8','0','0','0','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','d','y','n','a','m','o','d','b','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','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',':','/','/','d','y','n','a', -'m','o','d','b','.','{','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','"','}',']',',','"','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' +'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','"',']','}',']',',','"','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','"', +':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"','}', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d','E', +'n','d','p','o','i','n','t','M','o','d','e','"','}',',','"','d','i','s','a','b','l','e','d','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','d','y','n','a','m','o','d','b','.','{','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','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','d','y','n','a','m', +'o','d','b','.','{','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','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"','}', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d','E', +'n','d','p','o','i','n','t','M','o','d','e','"','}',',','"','d','i','s','a','b','l','e','d','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','d','y','n','a','m','o','d','b','-','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', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'d','y','n','a','m','o','d','b','-','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','"',':','[','{','"','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','r','u','e',']','}',']',',','"','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','"',':','"','A','c','c', +'o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e','"','}',']','}',',','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i', +'n','t','M','o','d','e','"','}',',','"','d','i','s','a','b','l','e','d','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'d','y','n','a','m','o','d','b','.','{','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','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','d', +'y','n','a','m','o','d','b','.','{','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','o','u','n','t','I','d', +'E','n','d','p','o','i','n','t','M','o','d','e','"','}',']','}',',','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','o','u','n','t','I','d','E','n','d','p','o','i','n','t','M','o','d','e', +'"','}',',','"','d','i','s','a','b','l','e','d','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','d','y','n','a','m','o', +'d','b','.','{','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','"',':','"','A','c','c','o','u','n','t','I','d','"','}',']','}',',','{', +'"','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','"',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','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','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','d','d','b','.','{','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','d','y','n','a','m','o','d','b','.','{','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','"','}',']',',','"','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' }}; const char* DynamoDBEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h index da391dbba18..63dd36a5150 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h @@ -80,10 +80,35 @@ namespace SageMakerMetrics /* End of legacy constructors due deprecation */ virtual ~SageMakerMetricsClient(); + /** + *

Used to retrieve training metrics from SageMaker.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::BatchGetMetricsOutcome BatchGetMetrics(const Model::BatchGetMetricsRequest& request) const; + + /** + * A Callable wrapper for BatchGetMetrics that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchGetMetricsOutcomeCallable BatchGetMetricsCallable(const BatchGetMetricsRequestT& request) const + { + return SubmitCallable(&SageMakerMetricsClient::BatchGetMetrics, request); + } + + /** + * An Async wrapper for BatchGetMetrics that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchGetMetricsAsync(const BatchGetMetricsRequestT& request, const BatchGetMetricsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SageMakerMetricsClient::BatchGetMetrics, request, handler, context); + } + /** *

Used to ingest training metrics into SageMaker. These metrics can be - * visualized in SageMaker Studio and retrieved with the GetMetrics - * API.

See Also:

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h index 100af76f538..bebdd04a8ef 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h @@ -18,6 +18,7 @@ /* End of generic header includes */ /* Service model headers required in SageMakerMetricsClient header */ +#include #include /* End of service model headers required in SageMakerMetricsClient header */ @@ -59,14 +60,17 @@ namespace Aws namespace Model { /* Service model forward declarations required in SageMakerMetricsClient header */ + class BatchGetMetricsRequest; class BatchPutMetricsRequest; /* End of service model forward declarations required in SageMakerMetricsClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome BatchGetMetricsOutcome; typedef Aws::Utils::Outcome BatchPutMetricsOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future BatchGetMetricsOutcomeCallable; typedef std::future BatchPutMetricsOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -74,6 +78,7 @@ namespace Aws class SageMakerMetricsClient; /* Service model async handlers definitions */ + typedef std::function&) > BatchGetMetricsResponseReceivedHandler; typedef std::function&) > BatchPutMetricsResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace SageMakerMetrics diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsRequest.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsRequest.h new file mode 100644 index 00000000000..b131ed50403 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsRequest.h @@ -0,0 +1,57 @@ +/** + * 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 SageMakerMetrics +{ +namespace Model +{ + + /** + */ + class BatchGetMetricsRequest : public SageMakerMetricsRequest + { + public: + AWS_SAGEMAKERMETRICS_API BatchGetMetricsRequest(); + + // 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 "BatchGetMetrics"; } + + AWS_SAGEMAKERMETRICS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Queries made to retrieve training metrics from SageMaker.

+ */ + inline const Aws::Vector& GetMetricQueries() const{ return m_metricQueries; } + inline bool MetricQueriesHasBeenSet() const { return m_metricQueriesHasBeenSet; } + inline void SetMetricQueries(const Aws::Vector& value) { m_metricQueriesHasBeenSet = true; m_metricQueries = value; } + inline void SetMetricQueries(Aws::Vector&& value) { m_metricQueriesHasBeenSet = true; m_metricQueries = std::move(value); } + inline BatchGetMetricsRequest& WithMetricQueries(const Aws::Vector& value) { SetMetricQueries(value); return *this;} + inline BatchGetMetricsRequest& WithMetricQueries(Aws::Vector&& value) { SetMetricQueries(std::move(value)); return *this;} + inline BatchGetMetricsRequest& AddMetricQueries(const MetricQuery& value) { m_metricQueriesHasBeenSet = true; m_metricQueries.push_back(value); return *this; } + inline BatchGetMetricsRequest& AddMetricQueries(MetricQuery&& value) { m_metricQueriesHasBeenSet = true; m_metricQueries.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_metricQueries; + bool m_metricQueriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsResult.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsResult.h new file mode 100644 index 00000000000..c321c3a1039 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchGetMetricsResult.h @@ -0,0 +1,69 @@ +/** + * 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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SageMakerMetrics +{ +namespace Model +{ + class BatchGetMetricsResult + { + public: + AWS_SAGEMAKERMETRICS_API BatchGetMetricsResult(); + AWS_SAGEMAKERMETRICS_API BatchGetMetricsResult(const Aws::AmazonWebServiceResult& result); + AWS_SAGEMAKERMETRICS_API BatchGetMetricsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The results of a query to retrieve training metrics from SageMaker.

+ */ + inline const Aws::Vector& GetMetricQueryResults() const{ return m_metricQueryResults; } + inline void SetMetricQueryResults(const Aws::Vector& value) { m_metricQueryResults = value; } + inline void SetMetricQueryResults(Aws::Vector&& value) { m_metricQueryResults = std::move(value); } + inline BatchGetMetricsResult& WithMetricQueryResults(const Aws::Vector& value) { SetMetricQueryResults(value); return *this;} + inline BatchGetMetricsResult& WithMetricQueryResults(Aws::Vector&& value) { SetMetricQueryResults(std::move(value)); return *this;} + inline BatchGetMetricsResult& AddMetricQueryResults(const MetricQueryResult& value) { m_metricQueryResults.push_back(value); return *this; } + inline BatchGetMetricsResult& AddMetricQueryResults(MetricQueryResult&& value) { m_metricQueryResults.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 BatchGetMetricsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline BatchGetMetricsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline BatchGetMetricsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_metricQueryResults; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchPutMetricsRequest.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchPutMetricsRequest.h index 04e267213f3..74f8b67fd11 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchPutMetricsRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/BatchPutMetricsRequest.h @@ -36,7 +36,8 @@ namespace Model ///@{ /** - *

The name of the Trial Component to associate with the metrics.

+ *

The name of the Trial Component to associate with the metrics. The Trial + * Component name must be entirely lowercase.

*/ inline const Aws::String& GetTrialComponentName() const{ return m_trialComponentName; } inline bool TrialComponentNameHasBeenSet() const { return m_trialComponentNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQuery.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQuery.h new file mode 100644 index 00000000000..5754f8c00d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQuery.h @@ -0,0 +1,153 @@ +/** + * 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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMakerMetrics +{ +namespace Model +{ + + /** + *

Specifies a query to retrieve training metrics from SageMaker.

See + * Also:

AWS + * API Reference

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

The name of the metric to retrieve.

+ */ + inline const Aws::String& GetMetricName() const{ return m_metricName; } + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } + inline MetricQuery& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} + inline MetricQuery& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} + inline MetricQuery& WithMetricName(const char* value) { SetMetricName(value); return *this;} + ///@} + + ///@{ + /** + *

The ARN of the SageMaker resource to retrieve metrics for.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline MetricQuery& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline MetricQuery& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline MetricQuery& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

The metrics stat type of metrics to retrieve.

+ */ + inline const MetricStatistic& GetMetricStat() const{ return m_metricStat; } + inline bool MetricStatHasBeenSet() const { return m_metricStatHasBeenSet; } + inline void SetMetricStat(const MetricStatistic& value) { m_metricStatHasBeenSet = true; m_metricStat = value; } + inline void SetMetricStat(MetricStatistic&& value) { m_metricStatHasBeenSet = true; m_metricStat = std::move(value); } + inline MetricQuery& WithMetricStat(const MetricStatistic& value) { SetMetricStat(value); return *this;} + inline MetricQuery& WithMetricStat(MetricStatistic&& value) { SetMetricStat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The time period of metrics to retrieve.

+ */ + inline const Period& GetPeriod() const{ return m_period; } + inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } + inline void SetPeriod(const Period& value) { m_periodHasBeenSet = true; m_period = value; } + inline void SetPeriod(Period&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } + inline MetricQuery& WithPeriod(const Period& value) { SetPeriod(value); return *this;} + inline MetricQuery& WithPeriod(Period&& value) { SetPeriod(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The x-axis type of metrics to retrieve.

+ */ + inline const XAxisType& GetXAxisType() const{ return m_xAxisType; } + inline bool XAxisTypeHasBeenSet() const { return m_xAxisTypeHasBeenSet; } + inline void SetXAxisType(const XAxisType& value) { m_xAxisTypeHasBeenSet = true; m_xAxisType = value; } + inline void SetXAxisType(XAxisType&& value) { m_xAxisTypeHasBeenSet = true; m_xAxisType = std::move(value); } + inline MetricQuery& WithXAxisType(const XAxisType& value) { SetXAxisType(value); return *this;} + inline MetricQuery& WithXAxisType(XAxisType&& value) { SetXAxisType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The start time of metrics to retrieve.

+ */ + inline long long GetStart() const{ return m_start; } + inline bool StartHasBeenSet() const { return m_startHasBeenSet; } + inline void SetStart(long long value) { m_startHasBeenSet = true; m_start = value; } + inline MetricQuery& WithStart(long long value) { SetStart(value); return *this;} + ///@} + + ///@{ + /** + *

The end time of metrics to retrieve.

+ */ + inline long long GetEnd() const{ return m_end; } + inline bool EndHasBeenSet() const { return m_endHasBeenSet; } + inline void SetEnd(long long value) { m_endHasBeenSet = true; m_end = value; } + inline MetricQuery& WithEnd(long long value) { SetEnd(value); return *this;} + ///@} + private: + + Aws::String m_metricName; + bool m_metricNameHasBeenSet = false; + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + MetricStatistic m_metricStat; + bool m_metricStatHasBeenSet = false; + + Period m_period; + bool m_periodHasBeenSet = false; + + XAxisType m_xAxisType; + bool m_xAxisTypeHasBeenSet = false; + + long long m_start; + bool m_startHasBeenSet = false; + + long long m_end; + bool m_endHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResult.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResult.h new file mode 100644 index 00000000000..e70a83edf79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResult.h @@ -0,0 +1,111 @@ +/** + * 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 SageMakerMetrics +{ +namespace Model +{ + + /** + *

The result of a query to retrieve training metrics from + * SageMaker.

See Also:

AWS + * API Reference

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

The status of the metric query.

+ */ + inline const MetricQueryResultStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const MetricQueryResultStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(MetricQueryResultStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline MetricQueryResult& WithStatus(const MetricQueryResultStatus& value) { SetStatus(value); return *this;} + inline MetricQueryResult& WithStatus(MetricQueryResultStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

A message describing the status of the metric query.

+ */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline MetricQueryResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline MetricQueryResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline MetricQueryResult& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

The values for the x-axis of the metrics.

+ */ + inline const Aws::Vector& GetXAxisValues() const{ return m_xAxisValues; } + inline bool XAxisValuesHasBeenSet() const { return m_xAxisValuesHasBeenSet; } + inline void SetXAxisValues(const Aws::Vector& value) { m_xAxisValuesHasBeenSet = true; m_xAxisValues = value; } + inline void SetXAxisValues(Aws::Vector&& value) { m_xAxisValuesHasBeenSet = true; m_xAxisValues = std::move(value); } + inline MetricQueryResult& WithXAxisValues(const Aws::Vector& value) { SetXAxisValues(value); return *this;} + inline MetricQueryResult& WithXAxisValues(Aws::Vector&& value) { SetXAxisValues(std::move(value)); return *this;} + inline MetricQueryResult& AddXAxisValues(long long value) { m_xAxisValuesHasBeenSet = true; m_xAxisValues.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

The metric values retrieved by the query.

+ */ + inline const Aws::Vector& GetMetricValues() const{ return m_metricValues; } + inline bool MetricValuesHasBeenSet() const { return m_metricValuesHasBeenSet; } + inline void SetMetricValues(const Aws::Vector& value) { m_metricValuesHasBeenSet = true; m_metricValues = value; } + inline void SetMetricValues(Aws::Vector&& value) { m_metricValuesHasBeenSet = true; m_metricValues = std::move(value); } + inline MetricQueryResult& WithMetricValues(const Aws::Vector& value) { SetMetricValues(value); return *this;} + inline MetricQueryResult& WithMetricValues(Aws::Vector&& value) { SetMetricValues(std::move(value)); return *this;} + inline MetricQueryResult& AddMetricValues(double value) { m_metricValuesHasBeenSet = true; m_metricValues.push_back(value); return *this; } + ///@} + private: + + MetricQueryResultStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::Vector m_xAxisValues; + bool m_xAxisValuesHasBeenSet = false; + + Aws::Vector m_metricValues; + bool m_metricValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResultStatus.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResultStatus.h new file mode 100644 index 00000000000..274891125c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricQueryResultStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMakerMetrics +{ +namespace Model +{ + enum class MetricQueryResultStatus + { + NOT_SET, + Complete, + Truncated, + InternalError, + ValidationError + }; + +namespace MetricQueryResultStatusMapper +{ +AWS_SAGEMAKERMETRICS_API MetricQueryResultStatus GetMetricQueryResultStatusForName(const Aws::String& name); + +AWS_SAGEMAKERMETRICS_API Aws::String GetNameForMetricQueryResultStatus(MetricQueryResultStatus value); +} // namespace MetricQueryResultStatusMapper +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricStatistic.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricStatistic.h new file mode 100644 index 00000000000..a84a5df7935 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/MetricStatistic.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMakerMetrics +{ +namespace Model +{ + enum class MetricStatistic + { + NOT_SET, + Min, + Max, + Avg, + Count, + StdDev, + Last + }; + +namespace MetricStatisticMapper +{ +AWS_SAGEMAKERMETRICS_API MetricStatistic GetMetricStatisticForName(const Aws::String& name); + +AWS_SAGEMAKERMETRICS_API Aws::String GetNameForMetricStatistic(MetricStatistic value); +} // namespace MetricStatisticMapper +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/Period.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/Period.h new file mode 100644 index 00000000000..b8cae3a392f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/Period.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMakerMetrics +{ +namespace Model +{ + enum class Period + { + NOT_SET, + OneMinute, + FiveMinute, + OneHour, + IterationNumber + }; + +namespace PeriodMapper +{ +AWS_SAGEMAKERMETRICS_API Period GetPeriodForName(const Aws::String& name); + +AWS_SAGEMAKERMETRICS_API Aws::String GetNameForPeriod(Period value); +} // namespace PeriodMapper +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/XAxisType.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/XAxisType.h new file mode 100644 index 00000000000..cb6f44c01df --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/model/XAxisType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMakerMetrics +{ +namespace Model +{ + enum class XAxisType + { + NOT_SET, + IterationNumber, + Timestamp + }; + +namespace XAxisTypeMapper +{ +AWS_SAGEMAKERMETRICS_API XAxisType GetXAxisTypeForName(const Aws::String& name); + +AWS_SAGEMAKERMETRICS_API Aws::String GetNameForXAxisType(XAxisType value); +} // namespace XAxisTypeMapper +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp index 878b1bc5a58..ffcf22e6e35 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -165,6 +166,33 @@ void SageMakerMetricsClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +BatchGetMetricsOutcome SageMakerMetricsClient::BatchGetMetrics(const BatchGetMetricsRequest& request) const +{ + AWS_OPERATION_GUARD(BatchGetMetrics); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchGetMetrics, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchGetMetrics, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchGetMetrics, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchGetMetrics", + {{ 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( + [&]()-> BatchGetMetricsOutcome { + 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, BatchGetMetrics, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/BatchGetMetrics"); + return BatchGetMetricsOutcome(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()}}); +} + BatchPutMetricsOutcome SageMakerMetricsClient::BatchPutMetrics(const BatchPutMetricsRequest& request) const { AWS_OPERATION_GUARD(BatchPutMetrics); diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointRules.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointRules.cpp index cee07082d8d..da632412479 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointRules.cpp @@ -51,121 +51,121 @@ 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','"', +'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','"',':','[',']', ',','"','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','"',':','[',']',',','"','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','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','"','}',']','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','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','"',':','"','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','"',':','[',']', -',','"','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',':','/','/','m','e','t','r','i','c','s', -'.','s','a','g','e','m','a','k','e','r','-','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','"', +'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','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','R','e','g','i','o','n','"','}',']','}',']', ',','"','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','"',':','[',']',',','"','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',':','/','/','m','e','t','r','i','c','s','.','s','a','g','e','m', -'a','k','e','r','-','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','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'{','"','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',']','}',']',',','"','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','"',':','[',']',',','"','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',':','/','/','m','e','t','r','i','c','s','.','s','a','g','e','m','a','k','e', -'r','.','{','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','"',':','[',']',',','"','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',':','/','/','m','e', -'t','r','i','c','s','.','s','a','g','e','m','a','k','e','r','.','{','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', +'r','-','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','"',':','"','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' +'"','}',']',',','"','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','"',':','"','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','"',':','[',']',',', +'"','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', +':','/','/','m','e','t','r','i','c','s','.','s','a','g','e','m','a','k','e','r','-','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','"','}',']',',','"','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','"',':','[',']',',','"','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',':','/','/', +'m','e','t','r','i','c','s','.','s','a','g','e','m','a','k','e','r','.','{','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','"','}',']',',','"','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','"',':','[',']',',','"','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',':','/','/','m','e','t','r','i','c','s','.', +'s','a','g','e','m','a','k','e','r','.','{','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','"','}',']',',','"','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','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' }}; const char* SageMakerMetricsEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsRequest.cpp new file mode 100644 index 00000000000..8385ea3cbc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsRequest.cpp @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SageMakerMetrics::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +BatchGetMetricsRequest::BatchGetMetricsRequest() : + m_metricQueriesHasBeenSet(false) +{ +} + +Aws::String BatchGetMetricsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_metricQueriesHasBeenSet) + { + Aws::Utils::Array metricQueriesJsonList(m_metricQueries.size()); + for(unsigned metricQueriesIndex = 0; metricQueriesIndex < metricQueriesJsonList.GetLength(); ++metricQueriesIndex) + { + metricQueriesJsonList[metricQueriesIndex].AsObject(m_metricQueries[metricQueriesIndex].Jsonize()); + } + payload.WithArray("MetricQueries", std::move(metricQueriesJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsResult.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsResult.cpp new file mode 100644 index 00000000000..6aa24f1a5d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/BatchGetMetricsResult.cpp @@ -0,0 +1,51 @@ +/** + * 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::SageMakerMetrics::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchGetMetricsResult::BatchGetMetricsResult() +{ +} + +BatchGetMetricsResult::BatchGetMetricsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchGetMetricsResult& BatchGetMetricsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("MetricQueryResults")) + { + Aws::Utils::Array metricQueryResultsJsonList = jsonValue.GetArray("MetricQueryResults"); + for(unsigned metricQueryResultsIndex = 0; metricQueryResultsIndex < metricQueryResultsJsonList.GetLength(); ++metricQueryResultsIndex) + { + m_metricQueryResults.push_back(metricQueryResultsJsonList[metricQueryResultsIndex].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-sagemaker-metrics/source/model/MetricQuery.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQuery.cpp new file mode 100644 index 00000000000..23145ac5384 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQuery.cpp @@ -0,0 +1,145 @@ +/** + * 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 SageMakerMetrics +{ +namespace Model +{ + +MetricQuery::MetricQuery() : + m_metricNameHasBeenSet(false), + m_resourceArnHasBeenSet(false), + m_metricStat(MetricStatistic::NOT_SET), + m_metricStatHasBeenSet(false), + m_period(Period::NOT_SET), + m_periodHasBeenSet(false), + m_xAxisType(XAxisType::NOT_SET), + m_xAxisTypeHasBeenSet(false), + m_start(0), + m_startHasBeenSet(false), + m_end(0), + m_endHasBeenSet(false) +{ +} + +MetricQuery::MetricQuery(JsonView jsonValue) + : MetricQuery() +{ + *this = jsonValue; +} + +MetricQuery& MetricQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MetricName")) + { + m_metricName = jsonValue.GetString("MetricName"); + + m_metricNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceArn")) + { + m_resourceArn = jsonValue.GetString("ResourceArn"); + + m_resourceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricStat")) + { + m_metricStat = MetricStatisticMapper::GetMetricStatisticForName(jsonValue.GetString("MetricStat")); + + m_metricStatHasBeenSet = true; + } + + if(jsonValue.ValueExists("Period")) + { + m_period = PeriodMapper::GetPeriodForName(jsonValue.GetString("Period")); + + m_periodHasBeenSet = true; + } + + if(jsonValue.ValueExists("XAxisType")) + { + m_xAxisType = XAxisTypeMapper::GetXAxisTypeForName(jsonValue.GetString("XAxisType")); + + m_xAxisTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Start")) + { + m_start = jsonValue.GetInt64("Start"); + + m_startHasBeenSet = true; + } + + if(jsonValue.ValueExists("End")) + { + m_end = jsonValue.GetInt64("End"); + + m_endHasBeenSet = true; + } + + return *this; +} + +JsonValue MetricQuery::Jsonize() const +{ + JsonValue payload; + + if(m_metricNameHasBeenSet) + { + payload.WithString("MetricName", m_metricName); + + } + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_metricStatHasBeenSet) + { + payload.WithString("MetricStat", MetricStatisticMapper::GetNameForMetricStatistic(m_metricStat)); + } + + if(m_periodHasBeenSet) + { + payload.WithString("Period", PeriodMapper::GetNameForPeriod(m_period)); + } + + if(m_xAxisTypeHasBeenSet) + { + payload.WithString("XAxisType", XAxisTypeMapper::GetNameForXAxisType(m_xAxisType)); + } + + if(m_startHasBeenSet) + { + payload.WithInt64("Start", m_start); + + } + + if(m_endHasBeenSet) + { + payload.WithInt64("End", m_end); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResult.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResult.cpp new file mode 100644 index 00000000000..15e4eed7a8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResult.cpp @@ -0,0 +1,117 @@ +/** + * 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 SageMakerMetrics +{ +namespace Model +{ + +MetricQueryResult::MetricQueryResult() : + m_status(MetricQueryResultStatus::NOT_SET), + m_statusHasBeenSet(false), + m_messageHasBeenSet(false), + m_xAxisValuesHasBeenSet(false), + m_metricValuesHasBeenSet(false) +{ +} + +MetricQueryResult::MetricQueryResult(JsonView jsonValue) + : MetricQueryResult() +{ + *this = jsonValue; +} + +MetricQueryResult& MetricQueryResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Status")) + { + m_status = MetricQueryResultStatusMapper::GetMetricQueryResultStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("XAxisValues")) + { + Aws::Utils::Array xAxisValuesJsonList = jsonValue.GetArray("XAxisValues"); + for(unsigned xAxisValuesIndex = 0; xAxisValuesIndex < xAxisValuesJsonList.GetLength(); ++xAxisValuesIndex) + { + m_xAxisValues.push_back(xAxisValuesJsonList[xAxisValuesIndex].AsInt64()); + } + m_xAxisValuesHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricValues")) + { + Aws::Utils::Array metricValuesJsonList = jsonValue.GetArray("MetricValues"); + for(unsigned metricValuesIndex = 0; metricValuesIndex < metricValuesJsonList.GetLength(); ++metricValuesIndex) + { + m_metricValues.push_back(metricValuesJsonList[metricValuesIndex].AsDouble()); + } + m_metricValuesHasBeenSet = true; + } + + return *this; +} + +JsonValue MetricQueryResult::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("Status", MetricQueryResultStatusMapper::GetNameForMetricQueryResultStatus(m_status)); + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_xAxisValuesHasBeenSet) + { + Aws::Utils::Array xAxisValuesJsonList(m_xAxisValues.size()); + for(unsigned xAxisValuesIndex = 0; xAxisValuesIndex < xAxisValuesJsonList.GetLength(); ++xAxisValuesIndex) + { + xAxisValuesJsonList[xAxisValuesIndex].AsInt64(m_xAxisValues[xAxisValuesIndex]); + } + payload.WithArray("XAxisValues", std::move(xAxisValuesJsonList)); + + } + + if(m_metricValuesHasBeenSet) + { + Aws::Utils::Array metricValuesJsonList(m_metricValues.size()); + for(unsigned metricValuesIndex = 0; metricValuesIndex < metricValuesJsonList.GetLength(); ++metricValuesIndex) + { + metricValuesJsonList[metricValuesIndex].AsDouble(m_metricValues[metricValuesIndex]); + } + payload.WithArray("MetricValues", std::move(metricValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResultStatus.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResultStatus.cpp new file mode 100644 index 00000000000..60ddfb4d60c --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricQueryResultStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMakerMetrics + { + namespace Model + { + namespace MetricQueryResultStatusMapper + { + + static const int Complete_HASH = HashingUtils::HashString("Complete"); + static const int Truncated_HASH = HashingUtils::HashString("Truncated"); + static const int InternalError_HASH = HashingUtils::HashString("InternalError"); + static const int ValidationError_HASH = HashingUtils::HashString("ValidationError"); + + + MetricQueryResultStatus GetMetricQueryResultStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Complete_HASH) + { + return MetricQueryResultStatus::Complete; + } + else if (hashCode == Truncated_HASH) + { + return MetricQueryResultStatus::Truncated; + } + else if (hashCode == InternalError_HASH) + { + return MetricQueryResultStatus::InternalError; + } + else if (hashCode == ValidationError_HASH) + { + return MetricQueryResultStatus::ValidationError; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MetricQueryResultStatus::NOT_SET; + } + + Aws::String GetNameForMetricQueryResultStatus(MetricQueryResultStatus enumValue) + { + switch(enumValue) + { + case MetricQueryResultStatus::NOT_SET: + return {}; + case MetricQueryResultStatus::Complete: + return "Complete"; + case MetricQueryResultStatus::Truncated: + return "Truncated"; + case MetricQueryResultStatus::InternalError: + return "InternalError"; + case MetricQueryResultStatus::ValidationError: + return "ValidationError"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MetricQueryResultStatusMapper + } // namespace Model + } // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricStatistic.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricStatistic.cpp new file mode 100644 index 00000000000..4c1fd4c7b43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/MetricStatistic.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMakerMetrics + { + namespace Model + { + namespace MetricStatisticMapper + { + + static const int Min_HASH = HashingUtils::HashString("Min"); + static const int Max_HASH = HashingUtils::HashString("Max"); + static const int Avg_HASH = HashingUtils::HashString("Avg"); + static const int Count_HASH = HashingUtils::HashString("Count"); + static const int StdDev_HASH = HashingUtils::HashString("StdDev"); + static const int Last_HASH = HashingUtils::HashString("Last"); + + + MetricStatistic GetMetricStatisticForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Min_HASH) + { + return MetricStatistic::Min; + } + else if (hashCode == Max_HASH) + { + return MetricStatistic::Max; + } + else if (hashCode == Avg_HASH) + { + return MetricStatistic::Avg; + } + else if (hashCode == Count_HASH) + { + return MetricStatistic::Count; + } + else if (hashCode == StdDev_HASH) + { + return MetricStatistic::StdDev; + } + else if (hashCode == Last_HASH) + { + return MetricStatistic::Last; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MetricStatistic::NOT_SET; + } + + Aws::String GetNameForMetricStatistic(MetricStatistic enumValue) + { + switch(enumValue) + { + case MetricStatistic::NOT_SET: + return {}; + case MetricStatistic::Min: + return "Min"; + case MetricStatistic::Max: + return "Max"; + case MetricStatistic::Avg: + return "Avg"; + case MetricStatistic::Count: + return "Count"; + case MetricStatistic::StdDev: + return "StdDev"; + case MetricStatistic::Last: + return "Last"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MetricStatisticMapper + } // namespace Model + } // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/Period.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/Period.cpp new file mode 100644 index 00000000000..5c7a7f75521 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/Period.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMakerMetrics + { + namespace Model + { + namespace PeriodMapper + { + + static const int OneMinute_HASH = HashingUtils::HashString("OneMinute"); + static const int FiveMinute_HASH = HashingUtils::HashString("FiveMinute"); + static const int OneHour_HASH = HashingUtils::HashString("OneHour"); + static const int IterationNumber_HASH = HashingUtils::HashString("IterationNumber"); + + + Period GetPeriodForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == OneMinute_HASH) + { + return Period::OneMinute; + } + else if (hashCode == FiveMinute_HASH) + { + return Period::FiveMinute; + } + else if (hashCode == OneHour_HASH) + { + return Period::OneHour; + } + else if (hashCode == IterationNumber_HASH) + { + return Period::IterationNumber; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Period::NOT_SET; + } + + Aws::String GetNameForPeriod(Period enumValue) + { + switch(enumValue) + { + case Period::NOT_SET: + return {}; + case Period::OneMinute: + return "OneMinute"; + case Period::FiveMinute: + return "FiveMinute"; + case Period::OneHour: + return "OneHour"; + case Period::IterationNumber: + return "IterationNumber"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PeriodMapper + } // namespace Model + } // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/XAxisType.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/XAxisType.cpp new file mode 100644 index 00000000000..fdcdf207a97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/model/XAxisType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMakerMetrics + { + namespace Model + { + namespace XAxisTypeMapper + { + + static const int IterationNumber_HASH = HashingUtils::HashString("IterationNumber"); + static const int Timestamp_HASH = HashingUtils::HashString("Timestamp"); + + + XAxisType GetXAxisTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IterationNumber_HASH) + { + return XAxisType::IterationNumber; + } + else if (hashCode == Timestamp_HASH) + { + return XAxisType::Timestamp; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return XAxisType::NOT_SET; + } + + Aws::String GetNameForXAxisType(XAxisType enumValue) + { + switch(enumValue) + { + case XAxisType::NOT_SET: + return {}; + case XAxisType::IterationNumber: + return "IterationNumber"; + case XAxisType::Timestamp: + return "Timestamp"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace XAxisTypeMapper + } // namespace Model + } // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3ModelDataSource.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3ModelDataSource.h index 4eeaee36c8e..955d61e8ae9 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3ModelDataSource.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3ModelDataSource.h @@ -153,6 +153,21 @@ namespace Model inline S3ModelDataSource& WithHubAccessConfig(const InferenceHubAccessConfig& value) { SetHubAccessConfig(value); return *this;} inline S3ModelDataSource& WithHubAccessConfig(InferenceHubAccessConfig&& value) { SetHubAccessConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

The Amazon S3 URI of the manifest file. The manifest file is a CSV file that + * stores the artifact locations.

+ */ + inline const Aws::String& GetManifestS3Uri() const{ return m_manifestS3Uri; } + inline bool ManifestS3UriHasBeenSet() const { return m_manifestS3UriHasBeenSet; } + inline void SetManifestS3Uri(const Aws::String& value) { m_manifestS3UriHasBeenSet = true; m_manifestS3Uri = value; } + inline void SetManifestS3Uri(Aws::String&& value) { m_manifestS3UriHasBeenSet = true; m_manifestS3Uri = std::move(value); } + inline void SetManifestS3Uri(const char* value) { m_manifestS3UriHasBeenSet = true; m_manifestS3Uri.assign(value); } + inline S3ModelDataSource& WithManifestS3Uri(const Aws::String& value) { SetManifestS3Uri(value); return *this;} + inline S3ModelDataSource& WithManifestS3Uri(Aws::String&& value) { SetManifestS3Uri(std::move(value)); return *this;} + inline S3ModelDataSource& WithManifestS3Uri(const char* value) { SetManifestS3Uri(value); return *this;} + ///@} private: Aws::String m_s3Uri; @@ -169,6 +184,9 @@ namespace Model InferenceHubAccessConfig m_hubAccessConfig; bool m_hubAccessConfigHasBeenSet = false; + + Aws::String m_manifestS3Uri; + bool m_manifestS3UriHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/S3ModelDataSource.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/S3ModelDataSource.cpp index 9283c3f44ed..85b829a0a86 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/S3ModelDataSource.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/S3ModelDataSource.cpp @@ -25,7 +25,8 @@ S3ModelDataSource::S3ModelDataSource() : m_compressionType(ModelCompressionType::NOT_SET), m_compressionTypeHasBeenSet(false), m_modelAccessConfigHasBeenSet(false), - m_hubAccessConfigHasBeenSet(false) + m_hubAccessConfigHasBeenSet(false), + m_manifestS3UriHasBeenSet(false) { } @@ -72,6 +73,13 @@ S3ModelDataSource& S3ModelDataSource::operator =(JsonView jsonValue) m_hubAccessConfigHasBeenSet = true; } + if(jsonValue.ValueExists("ManifestS3Uri")) + { + m_manifestS3Uri = jsonValue.GetString("ManifestS3Uri"); + + m_manifestS3UriHasBeenSet = true; + } + return *this; } @@ -107,6 +115,12 @@ JsonValue S3ModelDataSource::Jsonize() const } + if(m_manifestS3UriHasBeenSet) + { + payload.WithString("ManifestS3Uri", m_manifestS3Uri); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceImageErrorDetailCode.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceImageErrorDetailCode.h index 84507ffebf9..fc688f23407 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceImageErrorDetailCode.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceImageErrorDetailCode.h @@ -41,7 +41,10 @@ namespace Model ZeroRearmCount, InPlaceUpgrade, AntiVirusInstalled, - UEFINotSupported + UEFINotSupported, + UnknownError, + AppXPackagesInstalled, + ReservedStorageInUse }; namespace WorkspaceImageErrorDetailCodeMapper diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceImageErrorDetailCode.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceImageErrorDetailCode.cpp index e1f3d68e08b..ebd69e30b84 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceImageErrorDetailCode.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceImageErrorDetailCode.cpp @@ -46,6 +46,9 @@ namespace Aws static const int InPlaceUpgrade_HASH = HashingUtils::HashString("InPlaceUpgrade"); static const int AntiVirusInstalled_HASH = HashingUtils::HashString("AntiVirusInstalled"); static const int UEFINotSupported_HASH = HashingUtils::HashString("UEFINotSupported"); + static const int UnknownError_HASH = HashingUtils::HashString("UnknownError"); + static const int AppXPackagesInstalled_HASH = HashingUtils::HashString("AppXPackagesInstalled"); + static const int ReservedStorageInUse_HASH = HashingUtils::HashString("ReservedStorageInUse"); WorkspaceImageErrorDetailCode GetWorkspaceImageErrorDetailCodeForName(const Aws::String& name) @@ -155,6 +158,18 @@ namespace Aws { return WorkspaceImageErrorDetailCode::UEFINotSupported; } + else if (hashCode == UnknownError_HASH) + { + return WorkspaceImageErrorDetailCode::UnknownError; + } + else if (hashCode == AppXPackagesInstalled_HASH) + { + return WorkspaceImageErrorDetailCode::AppXPackagesInstalled; + } + else if (hashCode == ReservedStorageInUse_HASH) + { + return WorkspaceImageErrorDetailCode::ReservedStorageInUse; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -223,6 +238,12 @@ namespace Aws return "AntiVirusInstalled"; case WorkspaceImageErrorDetailCode::UEFINotSupported: return "UEFINotSupported"; + case WorkspaceImageErrorDetailCode::UnknownError: + return "UnknownError"; + case WorkspaceImageErrorDetailCode::AppXPackagesInstalled: + return "AppXPackagesInstalled"; + case WorkspaceImageErrorDetailCode::ReservedStorageInUse: + return "ReservedStorageInUse"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/tests/dynamodb-gen-tests/DynamoDBEndpointProviderTests.cpp b/generated/tests/dynamodb-gen-tests/DynamoDBEndpointProviderTests.cpp index dd08a428b26..ca4523fdc5a 100644 --- a/generated/tests/dynamodb-gen-tests/DynamoDBEndpointProviderTests.cpp +++ b/generated/tests/dynamodb-gen-tests/DynamoDBEndpointProviderTests.cpp @@ -74,7 +74,7 @@ class DynamoDBEndpointProviderTests : public ::testing::TestWithParam }; Aws::UniquePtrSafeDeleted> DynamoDBEndpointProviderTests::TEST_CASES; -const size_t DynamoDBEndpointProviderTests::TEST_CASES_SZ = 55; +const size_t DynamoDBEndpointProviderTests::TEST_CASES_SZ = 97; Aws::Vector DynamoDBEndpointProviderTests::getTestCase() { @@ -552,6 +552,354 @@ Aws::Vector DynamoDBEndpointProviderTe {}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + }, + /*TEST CASE 55*/ + {"For custom endpoint with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 56*/ + {"For custom endpoint with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 57*/ + {"For custom endpoint with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 58*/ + {"For custom endpoint with account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 59*/ + {"For custom endpoint with empty account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 60*/ + {"For region local with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "local"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and local endpoint are not supported"} // expect + }, + /*TEST CASE 61*/ + {"For region local with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "local"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and local endpoint are not supported"} // expect + }, + /*TEST CASE 62*/ + {"For region local with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "local"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and local endpoint are not supported"} // expect + }, + /*TEST CASE 63*/ + {"For region local with account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "local"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"http://localhost:8000", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 64*/ + {"For region local with empty account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Region", "local"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"http://localhost:8000", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 65*/ + {"For AccountIdEndpointMode required and no AccountId set", // documentation + {EpParam("Region", "us-east-1"), EpParam("AccountIdEndpointMode", "required")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded."} // expect + }, + /*TEST CASE 66*/ + {"For region us-east-1 with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 67*/ + {"For region us-east-1 with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 68*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "preferred")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 69*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "required")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 70*/ + {"For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 71*/ + {"For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 72*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true), EpParam("AccountIdEndpointMode", "preferred")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 73*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true), EpParam("AccountIdEndpointMode", "disabled")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 74*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true), EpParam("AccountIdEndpointMode", "required")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 75*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "preferred")}, // params + {}, // tags + {{/*epUrl*/"https://012345678901.ddb.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 76*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "required")}, // params + {}, // tags + {{/*epUrl*/"https://012345678901.ddb.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 77*/ + {"For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "disabled")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 78*/ + {"For region us-east-1 with empty account ID, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Credentials-sourced account ID parameter is invalid"} // expect + }, + /*TEST CASE 79*/ + {"For region cn-north-1 with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 80*/ + {"For region cn-north-1 with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 81*/ + {"For region cn-north-1 with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 82*/ + {"For region cn-north-1 with account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 83*/ + {"For region cn-north-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "preferred")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 84*/ + {"For region cn-north-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "disabled")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 85*/ + {"For region cn-north-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false), EpParam("AccountIdEndpointMode", "required")}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 86*/ + {"For region cn-north-1 with empty account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 87*/ + {"For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 88*/ + {"For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 89*/ + {"For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 90*/ + {"For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 91*/ + {"For region us-iso-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 92*/ + {"For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb-fips.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 93*/ + {"For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("AccountId", "012345678901"), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 94*/ + {"For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 95*/ + {"For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", "012345678901"), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 96*/ + {"For region us-gov-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("AccountId", ""), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://dynamodb.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect } }; return test_cases; diff --git a/generated/tests/neptune-gen-tests/NeptuneEndpointProviderTests.cpp b/generated/tests/neptune-gen-tests/NeptuneEndpointProviderTests.cpp index 5b9e60fce19..c1f37354c3c 100644 --- a/generated/tests/neptune-gen-tests/NeptuneEndpointProviderTests.cpp +++ b/generated/tests/neptune-gen-tests/NeptuneEndpointProviderTests.cpp @@ -74,7 +74,7 @@ class NeptuneEndpointProviderTests : public ::testing::TestWithParam }; Aws::UniquePtrSafeDeleted> NeptuneEndpointProviderTests::TEST_CASES; -const size_t NeptuneEndpointProviderTests::TEST_CASES_SZ = 55; +const size_t NeptuneEndpointProviderTests::TEST_CASES_SZ = 54; Aws::Vector NeptuneEndpointProviderTests::getTestCase() { @@ -543,12 +543,6 @@ Aws::Vector NeptuneEndpointProviderTest {}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect - }, - /*TEST CASE 54*/ - {"Partition doesn't support DualStack", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect } }; return test_cases; 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 ec52d1e43c3..8847508b72d 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.409" +#define AWS_SDK_VERSION_STRING "1.11.410" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 409 +#define AWS_SDK_VERSION_PATCH 410 diff --git a/tools/code-generation/api-descriptions/neptune-2014-10-31.normal.json b/tools/code-generation/api-descriptions/neptune-2014-10-31.normal.json index b3438e19105..1c0515ce69c 100644 --- a/tools/code-generation/api-descriptions/neptune-2014-10-31.normal.json +++ b/tools/code-generation/api-descriptions/neptune-2014-10-31.normal.json @@ -4,13 +4,15 @@ "apiVersion":"2014-10-31", "endpointPrefix":"rds", "protocol":"query", + "protocols":["query"], "serviceAbbreviation":"Amazon Neptune", "serviceFullName":"Amazon Neptune", "serviceId":"Neptune", "signatureVersion":"v4", "signingName":"rds", "uid":"neptune-2014-10-31", - "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" + "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddRoleToDBCluster":{ diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index 4e3da8b6b56..f9d86b0e824 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -33952,6 +33952,10 @@ "HubAccessConfig":{ "shape":"InferenceHubAccessConfig", "documentation":"

Configuration information for hub access.

" + }, + "ManifestS3Uri":{ + "shape":"S3ModelUri", + "documentation":"

The Amazon S3 URI of the manifest file. The manifest file is a CSV file that stores the artifact locations.

" } }, "documentation":"

Specifies the S3 location of ML model data to deploy.

" diff --git a/tools/code-generation/api-descriptions/sagemaker-metrics-2022-09-30.normal.json b/tools/code-generation/api-descriptions/sagemaker-metrics-2022-09-30.normal.json index fb2d62b2084..74c09d9ebd7 100644 --- a/tools/code-generation/api-descriptions/sagemaker-metrics-2022-09-30.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-metrics-2022-09-30.normal.json @@ -4,14 +4,26 @@ "apiVersion":"2022-09-30", "endpointPrefix":"metrics.sagemaker", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"SageMaker Metrics", "serviceFullName":"Amazon SageMaker Metrics Service", "serviceId":"SageMaker Metrics", "signatureVersion":"v4", "signingName":"sagemaker", - "uid":"sagemaker-metrics-2022-09-30" + "uid":"sagemaker-metrics-2022-09-30", + "auth":["aws.auth#sigv4"] }, "operations":{ + "BatchGetMetrics":{ + "name":"BatchGetMetrics", + "http":{ + "method":"POST", + "requestUri":"/BatchGetMetrics" + }, + "input":{"shape":"BatchGetMetricsRequest"}, + "output":{"shape":"BatchGetMetricsResponse"}, + "documentation":"

Used to retrieve training metrics from SageMaker.

" + }, "BatchPutMetrics":{ "name":"BatchPutMetrics", "http":{ @@ -20,10 +32,29 @@ }, "input":{"shape":"BatchPutMetricsRequest"}, "output":{"shape":"BatchPutMetricsResponse"}, - "documentation":"

Used to ingest training metrics into SageMaker. These metrics can be visualized in SageMaker Studio and retrieved with the GetMetrics API.

" + "documentation":"

Used to ingest training metrics into SageMaker. These metrics can be visualized in SageMaker Studio.

" } }, "shapes":{ + "BatchGetMetricsRequest":{ + "type":"structure", + "required":["MetricQueries"], + "members":{ + "MetricQueries":{ + "shape":"MetricQueryList", + "documentation":"

Queries made to retrieve training metrics from SageMaker.

" + } + } + }, + "BatchGetMetricsResponse":{ + "type":"structure", + "members":{ + "MetricQueryResults":{ + "shape":"MetricQueryResultList", + "documentation":"

The results of a query to retrieve training metrics from SageMaker.

" + } + } + }, "BatchPutMetricsError":{ "type":"structure", "members":{ @@ -53,7 +84,7 @@ "members":{ "TrialComponentName":{ "shape":"ExperimentEntityName", - "documentation":"

The name of the Trial Component to associate with the metrics.

" + "documentation":"

The name of the Trial Component to associate with the metrics. The Trial Component name must be entirely lowercase.

" }, "MetricData":{ "shape":"RawMetricDataList", @@ -75,15 +106,136 @@ "type":"string", "max":120, "min":1, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}" + "pattern":"^[a-z0-9](-*[a-z0-9]){0,119}" }, "Integer":{"type":"integer"}, + "Long":{"type":"long"}, + "Message":{ + "type":"string", + "max":2048, + "pattern":".*" + }, "MetricName":{ "type":"string", "max":255, "min":1, "pattern":".+" }, + "MetricQuery":{ + "type":"structure", + "required":[ + "MetricName", + "ResourceArn", + "MetricStat", + "Period", + "XAxisType" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric to retrieve.

" + }, + "ResourceArn":{ + "shape":"SageMakerResourceArn", + "documentation":"

The ARN of the SageMaker resource to retrieve metrics for.

" + }, + "MetricStat":{ + "shape":"MetricStatistic", + "documentation":"

The metrics stat type of metrics to retrieve.

" + }, + "Period":{ + "shape":"Period", + "documentation":"

The time period of metrics to retrieve.

" + }, + "XAxisType":{ + "shape":"XAxisType", + "documentation":"

The x-axis type of metrics to retrieve.

" + }, + "Start":{ + "shape":"Long", + "documentation":"

The start time of metrics to retrieve.

", + "box":true + }, + "End":{ + "shape":"Long", + "documentation":"

The end time of metrics to retrieve.

", + "box":true + } + }, + "documentation":"

Specifies a query to retrieve training metrics from SageMaker.

" + }, + "MetricQueryList":{ + "type":"list", + "member":{"shape":"MetricQuery"}, + "max":100, + "min":1 + }, + "MetricQueryResult":{ + "type":"structure", + "required":[ + "Status", + "XAxisValues", + "MetricValues" + ], + "members":{ + "Status":{ + "shape":"MetricQueryResultStatus", + "documentation":"

The status of the metric query.

" + }, + "Message":{ + "shape":"Message", + "documentation":"

A message describing the status of the metric query.

" + }, + "XAxisValues":{ + "shape":"XAxisValues", + "documentation":"

The values for the x-axis of the metrics.

" + }, + "MetricValues":{ + "shape":"MetricValues", + "documentation":"

The metric values retrieved by the query.

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

The result of a query to retrieve training metrics from SageMaker.

" + }, + "MetricQueryResultList":{ + "type":"list", + "member":{"shape":"MetricQueryResult"}, + "max":100, + "min":1 + }, + "MetricQueryResultStatus":{ + "type":"string", + "enum":[ + "Complete", + "Truncated", + "InternalError", + "ValidationError" + ] + }, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Min", + "Max", + "Avg", + "Count", + "StdDev", + "Last" + ] + }, + "MetricValues":{ + "type":"list", + "member":{"shape":"Double"} + }, + "Period":{ + "type":"string", + "enum":[ + "OneMinute", + "FiveMinute", + "OneHour", + "IterationNumber" + ] + }, "PutMetricsErrorCode":{ "type":"string", "enum":[ @@ -126,11 +278,27 @@ "max":10, "min":1 }, + "SageMakerResourceArn":{ + "type":"string", + "max":2048, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-].*/.*" + }, "Step":{ "type":"integer", "min":0 }, - "Timestamp":{"type":"timestamp"} + "Timestamp":{"type":"timestamp"}, + "XAxisType":{ + "type":"string", + "enum":[ + "IterationNumber", + "Timestamp" + ] + }, + "XAxisValues":{ + "type":"list", + "member":{"shape":"Long"} + } }, "documentation":"

Contains all data plane API operations and data types for Amazon SageMaker Metrics. Use these APIs to put and retrieve (get) features related to your training run.

" } diff --git a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json index 6f0b46e385f..6a7ea5c8023 100644 --- a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json +++ b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json @@ -6622,7 +6622,10 @@ "ZeroRearmCount", "InPlaceUpgrade", "AntiVirusInstalled", - "UEFINotSupported" + "UEFINotSupported", + "UnknownError", + "AppXPackagesInstalled", + "ReservedStorageInUse" ] }, "WorkspaceImageId":{ diff --git a/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-rule-set.json b/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-rule-set.json index 5e7f294eea5..c628afe22b1 100644 --- a/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-rule-set.json @@ -26,6 +26,18 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "AccountId": { + "builtIn": "AWS::Auth::AccountId", + "required": false, + "documentation": "The AWS AccountId used for the request.", + "type": "String" + }, + "AccountIdEndpointMode": { + "builtIn": "AWS::Auth::AccountIdEndpointMode", + "required": false, + "documentation": "The AccountId Endpoint Mode.", + "type": "String" } }, "rules": [ @@ -74,9 +86,7 @@ { "conditions": [], "endpoint": { - "url": { - "ref": "Endpoint" - }, + "url": "{Endpoint}", "properties": {}, "headers": {} }, @@ -110,6 +120,176 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "local" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + } + ] + } + ], + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "AccountId" + }, + false + ] + } + ] + } + ], + "error": "Credentials-sourced account ID parameter is invalid", + "type": "error" + }, { "conditions": [ { @@ -137,7 +317,6 @@ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -146,13 +325,13 @@ }, "supportsFIPS" ] - } + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -161,11 +340,39 @@ }, "supportsDualStack" ] - } + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -236,8 +443,68 @@ ] } ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], "endpoint": { - "url": "https://dynamodb.{Region}.amazonaws.com", + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -281,7 +548,6 @@ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -290,11 +556,39 @@ }, "supportsDualStack" ] - } + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -317,27 +611,88 @@ }, { "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, { "fn": "stringEquals", "argv": [ { - "ref": "Region" + "ref": "AccountIdEndpointMode" }, - "local" + "disabled" ] } ], "endpoint": { - "url": "http://localhost:8000", - "properties": { - "authSchemes": [ + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ { - "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] } ] }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ] + } + ], + "endpoint": { + "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" diff --git a/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-tests.json b/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-tests.json index 66351adfbb7..1936e4ec358 100644 --- a/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-tests.json +++ b/tools/code-generation/endpoints/dynamodb-2011-12-05.endpoint-tests.json @@ -707,6 +707,843 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "SDK::Endpoint": "https://example.com", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "SDK::Endpoint": "https://example.com", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For region local with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: FIPS and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region local with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region local with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region local with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "url": "http://localhost:8000" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "local", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region local with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "url": "http://localhost:8000" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "local", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "local", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For AccountIdEndpointMode required and no AccountId set", + "expect": { + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded." + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountIdEndpointMode": "required" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountIdEndpointMode": "required" + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "preferred", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "required", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "disabled", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://012345678901.ddb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "preferred" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "preferred" + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://012345678901.ddb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "required" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "required" + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "disabled" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "disabled" + } + }, + { + "documentation": "For region us-east-1 with empty account ID, FIPS disabled, and DualStack disabled", + "expect": { + "error": "Credentials-sourced account ID parameter is invalid" + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": " " + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "disabled", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-gov-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-gov-east-1", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-gov-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } } ], "version": "1.0" diff --git a/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-rule-set.json b/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-rule-set.json index 5e7f294eea5..c628afe22b1 100644 --- a/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-rule-set.json @@ -26,6 +26,18 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "AccountId": { + "builtIn": "AWS::Auth::AccountId", + "required": false, + "documentation": "The AWS AccountId used for the request.", + "type": "String" + }, + "AccountIdEndpointMode": { + "builtIn": "AWS::Auth::AccountIdEndpointMode", + "required": false, + "documentation": "The AccountId Endpoint Mode.", + "type": "String" } }, "rules": [ @@ -74,9 +86,7 @@ { "conditions": [], "endpoint": { - "url": { - "ref": "Endpoint" - }, + "url": "{Endpoint}", "properties": {}, "headers": {} }, @@ -110,6 +120,176 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "local" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + } + ] + } + ], + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "AccountId" + }, + false + ] + } + ] + } + ], + "error": "Credentials-sourced account ID parameter is invalid", + "type": "error" + }, { "conditions": [ { @@ -137,7 +317,6 @@ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -146,13 +325,13 @@ }, "supportsFIPS" ] - } + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -161,11 +340,39 @@ }, "supportsDualStack" ] - } + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -236,8 +443,68 @@ ] } ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], "endpoint": { - "url": "https://dynamodb.{Region}.amazonaws.com", + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -281,7 +548,6 @@ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -290,11 +556,39 @@ }, "supportsDualStack" ] - } + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -317,27 +611,88 @@ }, { "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, { "fn": "stringEquals", "argv": [ { - "ref": "Region" + "ref": "AccountIdEndpointMode" }, - "local" + "disabled" ] } ], "endpoint": { - "url": "http://localhost:8000", - "properties": { - "authSchemes": [ + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ { - "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] } ] }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ] + } + ], + "endpoint": { + "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" diff --git a/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-tests.json b/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-tests.json index 66351adfbb7..1936e4ec358 100644 --- a/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-tests.json +++ b/tools/code-generation/endpoints/dynamodb-2012-08-10.endpoint-tests.json @@ -707,6 +707,843 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "SDK::Endpoint": "https://example.com", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "SDK::Endpoint": "https://example.com", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For region local with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: FIPS and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region local with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region local with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and local endpoint are not supported" + }, + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region local with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "url": "http://localhost:8000" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "local", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "local", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region local with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "url": "http://localhost:8000" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "local", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "local", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For AccountIdEndpointMode required and no AccountId set", + "expect": { + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded." + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountIdEndpointMode": "required" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountIdEndpointMode": "required" + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "preferred", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "required", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "disabled", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://012345678901.ddb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "preferred" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "preferred" + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://012345678901.ddb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "required" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "required" + } + }, + { + "documentation": "For region us-east-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::Auth::AccountIdEndpointMode": "disabled" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false, + "AccountIdEndpointMode": "disabled" + } + }, + { + "documentation": "For region us-east-1 with empty account ID, FIPS disabled, and DualStack disabled", + "expect": { + "error": "Credentials-sourced account ID parameter is invalid" + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::Auth::AccountId": " " + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseDualStack": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode preferred, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "preferred", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode disabled, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "disabled", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with account ID available, AccountIdEndpointMode required, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "AccountId": "012345678901", + "AccountIdEndpointMode": "required", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "cn-north-1", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "cn-north-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901", + "AWS::UseFIPS": true + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-iso-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-iso-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS enabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-gov-east-1", + "AWS::Auth::AccountId": "012345678901" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-gov-east-1", + "AccountId": "012345678901", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with empty account ID available, FIPS disabled, and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-gov-east-1", + "AWS::Auth::AccountId": "" + }, + "operationName": "ListTables" + } + ], + "params": { + "Region": "us-gov-east-1", + "AccountId": "", + "UseFIPS": false, + "UseDualStack": false + } } ], "version": "1.0" diff --git a/tools/code-generation/endpoints/neptune-2014-10-31.endpoint-tests.json b/tools/code-generation/endpoints/neptune-2014-10-31.endpoint-tests.json index 8ac5ed557d2..8b0bc663a10 100644 --- a/tools/code-generation/endpoints/neptune-2014-10-31.endpoint-tests.json +++ b/tools/code-generation/endpoints/neptune-2014-10-31.endpoint-tests.json @@ -685,17 +685,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" diff --git a/tools/code-generation/endpoints/sagemaker-metrics-2022-09-30.endpoint-rule-set.json b/tools/code-generation/endpoints/sagemaker-metrics-2022-09-30.endpoint-rule-set.json index 9b57ecb1b0d..037361e96f6 100644 --- a/tools/code-generation/endpoints/sagemaker-metrics-2022-09-30.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/sagemaker-metrics-2022-09-30.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -59,7 +58,6 @@ }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -87,13 +85,14 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -106,7 +105,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -120,7 +118,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -143,7 +140,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -178,11 +174,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -193,16 +187,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -216,14 +213,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -232,15 +227,14 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -251,16 +245,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -274,7 +271,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -294,11 +290,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -309,20 +303,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -333,18 +329,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid Configuration: Missing Region", "type": "error" } - ] + ], + "type": "tree" } ] } \ No newline at end of file